{ stdenv, fetchurl, pkgconfig, udev, runtimeShellPackage }: stdenv.mkDerivation rec { name = "dhcpcd-7.0.1"; src = fetchurl { url = "mirror://roy/dhcpcd/${name}.tar.xz"; sha256 = "1j7kyg9gm5d1k6qjdscjz2rjgpqia0dxgk69lswp21y0pizm6dlb"; }; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ udev ]; configureFlags = [ "--sysconfdir=/etc" "--localstatedir=/var" ]; makeFlags = "PREFIX=\${out}"; # Hack to make installation succeed. dhcpcd will still use /var/db # at runtime. installFlags = "DBDIR=\${TMPDIR}/db SYSCONFDIR=$(out)/etc"; # Check that the udev plugin got built. postInstall = stdenv.lib.optional (udev != null) "[ -e $out/lib/dhcpcd/dev/udev.so ]"; postFixup = '' find $out -type f -print0 | xargs --null sed -i 's|${stdenv.shellPackage}|${runtimeShellPackage}|' ''; meta = { description = "A client for the Dynamic Host Configuration Protocol (DHCP)"; homepage = https://roy.marples.name/projects/dhcpcd; platforms = stdenv.lib.platforms.linux; maintainers = with stdenv.lib.maintainers; [ eelco fpletz ]; }; }