summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--nixos/modules/services/hardware/udev.nix4
-rw-r--r--nixos/modules/system/boot/stage-1.nix12
-rw-r--r--pkgs/applications/editors/lighttable/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix6
-rw-r--r--pkgs/development/libraries/libusb1/default.nix6
-rw-r--r--pkgs/development/libraries/libvirt/default.nix6
-rw-r--r--pkgs/development/libraries/mesa/default.nix6
-rw-r--r--pkgs/development/tools/node-webkit/nw11.nix4
-rw-r--r--pkgs/development/tools/node-webkit/nw12.nix4
-rw-r--r--pkgs/development/tools/node-webkit/nw9.nix4
-rw-r--r--pkgs/misc/drivers/foo2zjs/default.nix4
-rw-r--r--pkgs/os-specific/linux/drbd/default.nix4
-rw-r--r--pkgs/os-specific/linux/lvm2/default.nix6
-rw-r--r--pkgs/os-specific/linux/multipath-tools/default.nix6
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix24
-rw-r--r--pkgs/os-specific/linux/systemd/hwdb-location.diff19
-rw-r--r--pkgs/os-specific/linux/systemd/libudev.nix19
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/blivet.nix8
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/default.nix6
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/lvm2.nix6
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/multipath-tools.nix6
-rw-r--r--pkgs/top-level/all-packages.nix11
-rw-r--r--pkgs/top-level/python-packages.nix2
23 files changed, 115 insertions, 62 deletions
diff --git a/nixos/modules/services/hardware/udev.nix b/nixos/modules/services/hardware/udev.nix
index 7ff13af15926..107e1012b88d 100644
--- a/nixos/modules/services/hardware/udev.nix
+++ b/nixos/modules/services/hardware/udev.nix
@@ -58,13 +58,13 @@ let
--replace \"/bin/mount \"${pkgs.utillinux}/bin/mount
done
- echo -n "Checking that all programs called by relative paths in udev rules exist in ${pkgs.udev.out}/lib/udev... "
+ echo -n "Checking that all programs called by relative paths in udev rules exist in ${udev}/lib/udev... "
import_progs=$(grep 'IMPORT{program}="[^/$]' $out/* |
sed -e 's/.*IMPORT{program}="\([^ "]*\)[ "].*/\1/' | uniq)
run_progs=$(grep -v '^[[:space:]]*#' $out/* | grep 'RUN+="[^/$]' |
sed -e 's/.*RUN+="\([^ "]*\)[ "].*/\1/' | uniq)
for i in $import_progs $run_progs; do
- if [[ ! -x ${pkgs.udev.out}/lib/udev/$i && ! $i =~ socket:.* ]]; then
+ if [[ ! -x ${udev}/lib/udev/$i && ! $i =~ socket:.* ]]; then
echo "FAIL"
echo "$i is called in udev rules but not installed by udev"
exit 1
diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix
index 6b722c4e1105..0759b10c00a5 100644
--- a/nixos/modules/system/boot/stage-1.nix
+++ b/nixos/modules/system/boot/stage-1.nix
@@ -60,9 +60,9 @@ let
copy_bin_and_libs ${pkgs.mdadm}/sbin/mdadm
# Copy udev.
- copy_bin_and_libs ${udev.out}/lib/systemd/systemd-udevd
- copy_bin_and_libs ${udev.out}/bin/udevadm
- for BIN in ${udev.libudev}/lib/udev/*_id; do
+ copy_bin_and_libs ${udev}/lib/systemd/systemd-udevd
+ copy_bin_and_libs ${udev}/bin/udevadm
+ for BIN in ${udev}/lib/udev/*_id; do
copy_bin_and_libs $BIN
done
@@ -146,9 +146,9 @@ let
echo 'ENV{LD_LIBRARY_PATH}="${extraUtils}/lib"' > $out/00-env.rules
- cp -v ${udev.out}/lib/udev/rules.d/60-cdrom_id.rules $out/
- cp -v ${udev.out}/lib/udev/rules.d/60-persistent-storage.rules $out/
- cp -v ${udev.out}/lib/udev/rules.d/80-drivers.rules $out/
+ cp -v ${udev}/lib/udev/rules.d/60-cdrom_id.rules $out/
+ cp -v ${udev}/lib/udev/rules.d/60-persistent-storage.rules $out/
+ cp -v ${udev}/lib/udev/rules.d/80-drivers.rules $out/
cp -v ${pkgs.lvm2}/lib/udev/rules.d/*.rules $out/
${config.boot.initrd.extraUdevRulesCommands}
diff --git a/pkgs/applications/editors/lighttable/default.nix b/pkgs/applications/editors/lighttable/default.nix
index 38a01db0c5b2..72ecbbc59839 100644
--- a/pkgs/applications/editors/lighttable/default.nix
+++ b/pkgs/applications/editors/lighttable/default.nix
@@ -1,6 +1,6 @@
{ stdenv, fetchurl, buildEnv, makeDesktopItem, makeWrapper, zlib, glib, alsaLib
, dbus, gtk, atk, pango, freetype, fontconfig, libgnome_keyring3, gdk_pixbuf
-, cairo, cups, expat, libgpgerror, nspr, gnome3, nss, xorg, udev
+, cairo, cups, expat, libgpgerror, nspr, gnome3, nss, xorg, libudev
}:
let
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
--set-rpath ${libPath}:${stdenv.cc.cc}/lib${stdenv.lib.optionalString stdenv.is64bit "64"} \
$out/LightTable/ltbin
- ln -sf ${udev.libudev}/lib/libudev.so.1 $out/LightTable/libudev.so.0
+ ln -sf ${libudev.out}/lib/libudev.so.1 $out/LightTable/libudev.so.0
makeWrapper $out/LightTable/ltbin $out/bin/lighttable \
--prefix "LD_LIBRARY_PATH" : $out/LightTable
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index 070859b902d9..2f3a8738cc54 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -8,7 +8,7 @@
, libusb1, libexif, pciutils
, python, pythonPackages, perl, pkgconfig
-, nspr, udev, kerberos
+, nspr, libudev, kerberos
, utillinux, alsaLib
, bison, gperf
, glib, gtk, dbus_glib
@@ -107,7 +107,7 @@ let
buildInputs = defaultDependencies ++ [
which
python perl pkgconfig
- nspr udev
+ nspr libudev
(if useOpenSSL then openssl else nss)
utillinux alsaLib
bison gperf kerberos
@@ -135,7 +135,7 @@ let
s|= [^;]*|= base::FilePath().AppendASCII("${libexif}/lib/libexif.so")|
}' chrome/utility/media_galleries/image_metadata_extractor.cc
- sed -i -e '/lib_loader.*Load/s!"\(libudev\.so\)!"${udev.libudev}/lib/\1!' \
+ sed -i -e '/lib_loader.*Load/s!"\(libudev\.so\)!"${libudev.out}/lib/\1!' \
device/udev_linux/udev?_loader.cc
sed -i -e '/libpci_loader.*Load/s!"\(libpci\.so\)!"${pciutils}/lib/\1!' \
diff --git a/pkgs/development/libraries/libusb1/default.nix b/pkgs/development/libraries/libusb1/default.nix
index e488b7b8eec7..fe920bba411f 100644
--- a/pkgs/development/libraries/libusb1/default.nix
+++ b/pkgs/development/libraries/libusb1/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, udev ? null, libobjc, IOKit }:
+{ stdenv, fetchurl, pkgconfig, libudev ? null, libobjc, IOKit }:
stdenv.mkDerivation rec {
name = "libusb-1.0.19";
@@ -12,13 +12,13 @@ stdenv.mkDerivation rec {
buildInputs = [ pkgconfig ];
propagatedBuildInputs =
- stdenv.lib.optional stdenv.isLinux udev ++
+ stdenv.lib.optional stdenv.isLinux libudev ++
stdenv.lib.optionals stdenv.isDarwin [ libobjc IOKit ];
NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";
preFixup = stdenv.lib.optionalString stdenv.isLinux ''
- sed 's,-ludev,-L${udev}/lib -ludev,' -i $out/lib/libusb-1.0.la
+ sed 's,-ludev,-L${libudev.out}/lib -ludev,' -i $out/lib/libusb-1.0.la
'';
meta = {
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index f2d6a089119c..a8295380829e 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -1,5 +1,5 @@
{ stdenv, fetchurl, pkgconfig, libxml2, gnutls, devicemapper, perl, python
-, iproute, iptables, readline, lvm2, utillinux, udev, libpciaccess, gettext
+, iproute, iptables, readline, lvm2, utillinux, systemd, libpciaccess, gettext
, libtasn1, ebtables, libgcrypt, yajl, makeWrapper, pmutils, libcap_ng
, dnsmasq, libnl, libpcap, libxslt, xhtml1
, pythonPackages, perlPackages
@@ -19,12 +19,12 @@ stdenv.mkDerivation rec {
buildInputs = [
pkgconfig libxml2 gnutls devicemapper perl python readline lvm2
- utillinux udev libpciaccess gettext libtasn1 libgcrypt yajl makeWrapper
+ utillinux systemd.udev.lib libpciaccess gettext libtasn1 libgcrypt yajl makeWrapper
libcap_ng libnl libxslt xhtml1 perlPackages.XMLXPath
];
preConfigure = ''
- PATH=${iproute}/sbin:${iptables}/sbin:${ebtables}/sbin:${lvm2}/sbin:${udev.out}/sbin:${dnsmasq}/bin:$PATH
+ PATH=${iproute}/sbin:${iptables}/sbin:${ebtables}/sbin:${lvm2}/sbin:${systemd.udev.bin}/sbin:${dnsmasq}/bin:$PATH
patchShebangs . # fixes /usr/bin/python references
'';
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index 5ffc71b71f94..581368589b14 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -1,5 +1,5 @@
{ stdenv, fetchurl, fetchpatch, pkgconfig, intltool, autoreconfHook, substituteAll
-, file, expat, libdrm, xorg, wayland, udev, llvmPackages, libffi, libomxil-bellagio
+, file, expat, libdrm, xorg, wayland, libudev, llvmPackages, libffi, libomxil-bellagio
, libvdpau, libelf, libva
, grsecEnabled
, enableTextureFloats ? false # Texture floats are patented, see docs/patents.txt
@@ -48,7 +48,7 @@ stdenv.mkDerivation {
] ++ optional stdenv.isLinux
(substituteAll {
src = ./dlopen-absolute-paths.diff;
- inherit (udev) libudev;
+ libudev = libudev.out;
});
postPatch = ''
@@ -107,7 +107,7 @@ stdenv.mkDerivation {
glproto dri2proto dri3proto presentproto
libX11 libXext libxcb libXt libXfixes libxshmfence
libffi wayland libvdpau libelf libXvMC /* libomxil-bellagio libva */
- ] ++ optional stdenv.isLinux udev;
+ ] ++ optional stdenv.isLinux libudev;
enableParallelBuilding = true;
doCheck = false;
diff --git a/pkgs/development/tools/node-webkit/nw11.nix b/pkgs/development/tools/node-webkit/nw11.nix
index b1e848acb4bc..2fe1ddf42d43 100644
--- a/pkgs/development/tools/node-webkit/nw11.nix
+++ b/pkgs/development/tools/node-webkit/nw11.nix
@@ -1,6 +1,6 @@
{ stdenv, fetchurl, buildEnv, makeWrapper
, xorg, alsaLib, dbus, glib, gtk, atk, pango, freetype, fontconfig
-, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, udev, libcap
+, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, libudev, libcap
, libnotify}:
let
bits = if stdenv.system == "x86_64-linux" then "x64"
@@ -35,7 +35,7 @@ in stdenv.mkDerivation rec {
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/node-webkit/nw
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/node-webkit/nwsnapshot
- ln -s ${udev.libudev}/lib/libudev.so $out/share/node-webkit/libudev.so.0
+ ln -s ${libudev.out}/lib/libudev.so $out/share/node-webkit/libudev.so.0
patchelf --set-rpath "${nwEnv}/lib:${nwEnv}/lib64:$out/share/node-webkit" $out/share/node-webkit/nw
patchelf --set-rpath "${nwEnv}/lib:${nwEnv}/lib64:$out/share/node-webkit" $out/share/node-webkit/nwsnapshot
diff --git a/pkgs/development/tools/node-webkit/nw12.nix b/pkgs/development/tools/node-webkit/nw12.nix
index 7492acb13678..4cacc75d7776 100644
--- a/pkgs/development/tools/node-webkit/nw12.nix
+++ b/pkgs/development/tools/node-webkit/nw12.nix
@@ -1,6 +1,6 @@
{ stdenv, fetchurl, buildEnv, makeWrapper
, xorg, alsaLib, dbus, glib, gtk, atk, pango, freetype, fontconfig
-, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, udev, libcap
+, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, libudev, libcap
, libnotify}:
let
bits = if stdenv.system == "x86_64-linux" then "x64"
@@ -37,7 +37,7 @@ in stdenv.mkDerivation rec {
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/nwjs/nw
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/nwjs/nwjc
- ln -s ${udev}/lib/libudev.so $out/share/nwjs/libudev.so.0
+ ln -s ${libudev.out}/lib/libudev.so $out/share/nwjs/libudev.so.0
patchelf --set-rpath "${nwEnv}/lib:${nwEnv}/lib64:$out/share/nwjs" $out/share/nwjs/nw
patchelf --set-rpath "${nwEnv}/lib:${nwEnv}/lib64:$out/share/nwjs" $out/share/nwjs/nwjc
diff --git a/pkgs/development/tools/node-webkit/nw9.nix b/pkgs/development/tools/node-webkit/nw9.nix
index f33914ec7be2..d8601865c6d1 100644
--- a/pkgs/development/tools/node-webkit/nw9.nix
+++ b/pkgs/development/tools/node-webkit/nw9.nix
@@ -1,6 +1,6 @@
{ stdenv, fetchurl, buildEnv, makeWrapper
, xorg, alsaLib, dbus, glib, gtk, atk, pango, freetype, fontconfig
-, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, udev}:
+, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, libudev }:
let
bits = if stdenv.system == "x86_64-linux" then "x64"
else "ia32";
@@ -33,7 +33,7 @@ in stdenv.mkDerivation rec {
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/node-webkit/nw
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/node-webkit/nwsnapshot
- ln -s ${udev.libudev}/lib/libudev.so $out/share/node-webkit/libudev.so.0
+ ln -s ${libudev.out}/lib/libudev.so $out/share/node-webkit/libudev.so.0
patchelf --set-rpath "${nwEnv}/lib:${nwEnv}/lib64:$out/share/node-webkit" $out/share/node-webkit/nw
patchelf --set-rpath "${nwEnv}/lib:${nwEnv}/lib64:$out/share/node-webkit" $out/share/node-webkit/nwsnapshot
diff --git a/pkgs/misc/drivers/foo2zjs/default.nix b/pkgs/misc/drivers/foo2zjs/default.nix
index 83546b44198a..2547baec4f12 100644
--- a/pkgs/misc/drivers/foo2zjs/default.nix
+++ b/pkgs/misc/drivers/foo2zjs/default.nix
@@ -1,5 +1,5 @@
x@{builderDefsPackage
- , foomatic_filters, bc, unzip, ghostscript, udev, vim
+ , foomatic_filters, bc, unzip, ghostscript, systemd, vim
, ...}:
builderDefsPackage
(a :
@@ -36,7 +36,7 @@ rec {
''PIXMAPS=$out/share/pixmaps''
''UDEVBIN=$out/bin''
''UDEVDIR=$out/etc/udev/rules.d''
- ''UDEVD=${udev.out}/sbin/udevd''
+ ''UDEVD=${systemd.udev.bin}/sbin/udevd''
''LIBUDEVDIR=$out/lib/udev/rules.d''
''USBDIR=$out/etc/hotplug/usb''
''FOODB=$out/share/foomatic/db/source''
diff --git a/pkgs/os-specific/linux/drbd/default.nix b/pkgs/os-specific/linux/drbd/default.nix
index 3491cf713917..95c851da30f8 100644
--- a/pkgs/os-specific/linux/drbd/default.nix
+++ b/pkgs/os-specific/linux/drbd/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, flex, udev, perl }:
+{ stdenv, fetchurl, flex, systemd, perl }:
assert stdenv.isLinux;
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
preConfigure =
''
- export PATH=${udev.out}/sbin:$PATH
+ export PATH=${systemd.udev.bin}/sbin:$PATH
substituteInPlace user/Makefile.in --replace /sbin/ $out/sbin/
substituteInPlace user/legacy/Makefile.in \
--replace /sbin/ $out/sbin/ \
diff --git a/pkgs/os-specific/linux/lvm2/default.nix b/pkgs/os-specific/linux/lvm2/default.nix
index 2ec7ff5189dd..32a8ba4ad46a 100644
--- a/pkgs/os-specific/linux/lvm2/default.nix
+++ b/pkgs/os-specific/linux/lvm2/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, udev, utillinux, coreutils, enable_dmeventd ? false }:
+{ stdenv, fetchurl, pkgconfig, systemd, libudev, utillinux, coreutils, enable_dmeventd ? false }:
let
version = "2.02.132";
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
] ++ stdenv.lib.optional enable_dmeventd " --enable-dmeventd";
nativeBuildInputs = [ pkgconfig ];
- buildInputs = [ udev ];
+ buildInputs = [ libudev ];
preConfigure =
''
@@ -30,7 +30,7 @@ stdenv.mkDerivation {
--replace /usr/bin/tr ${coreutils}/bin/tr
substituteInPlace scripts/lvm2_activation_generator_systemd_red_hat.c \
--replace /usr/sbin/lvm $out/sbin/lvm \
- --replace /usr/bin/udevadm ${udev.out}/bin/udevadm
+ --replace /usr/bin/udevadm ${systemd.udev.bin}/bin/udevadm
sed -i /DEFAULT_SYS_DIR/d Makefile.in
sed -i /DEFAULT_PROFILE_DIR/d conf/Makefile.in
diff --git a/pkgs/os-specific/linux/multipath-tools/default.nix b/pkgs/os-specific/linux/multipath-tools/default.nix
index 03c86dec4a00..e2daa9199a98 100644
--- a/pkgs/os-specific/linux/multipath-tools/default.nix
+++ b/pkgs/os-specific/linux/multipath-tools/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, lvm2, libaio, gzip, readline, udev }:
+{ stdenv, fetchurl, lvm2, libaio, gzip, readline, systemd }:
stdenv.mkDerivation rec {
name = "multipath-tools-0.4.9";
@@ -22,8 +22,8 @@ stdenv.mkDerivation rec {
substituteInPlace kpartx/kpartx.rules --replace /sbin/kpartx $out/sbin/kpartx
substituteInPlace kpartx/kpartx_id --replace /sbin/dmsetup ${lvm2}/sbin/dmsetup
- substituteInPlace libmultipath/defaults.h --replace /lib/udev/scsi_id ${udev.libudev}/lib/udev/scsi_id
- substituteInPlace libmultipath/hwtable.c --replace /lib/udev/scsi_id ${udev.libudev}/lib/udev/scsi_id
+ substituteInPlace libmultipath/defaults.h --replace /lib/udev/scsi_id ${systemd.udev.lib}/lib/udev/scsi_id
+ substituteInPlace libmultipath/hwtable.c --replace /lib/udev/scsi_id ${systemd.udev.lib}/lib/udev/scsi_id
'';
meta = {
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index ca0a4ba23b40..d6827c81b28d 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -22,10 +22,15 @@ stdenv.mkDerivation rec {
sha256 = "07sc1x43j60d5jnps0d7bfka10fihnpgkdrfrh9iskgmc9qangjb";
};
+ patches = [ ./hwdb-location.diff ];
+
+ /* gave up for now!
outputs = [ "out" "libudev" "doc" ]; # TODO: "dev"
# note: there are many references to ${systemd}/...
outputDev = "out";
propagatedOutputs = "libudev";
+ */
+ outputs = [ "out" "man" ];
buildInputs =
[ linuxHeaders pkgconfig intltool gperf libcap kmod xz pam acl
@@ -88,24 +93,26 @@ stdenv.mkDerivation rec {
--replace /sbin/fsck ${utillinux.bin}/sbin/fsck \
--replace /bin/echo ${coreutils}/bin/echo \
--replace /bin/cat ${coreutils}/bin/cat \
- --replace /sbin/sulogin ${utillinux}/sbin/sulogin \
+ --replace /sbin/sulogin ${utillinux.bin}/sbin/sulogin \
--replace /usr/lib/systemd/systemd-fsck $out/lib/systemd/systemd-fsck
done
substituteInPlace src/journal/catalog.c \
--replace /usr/lib/systemd/catalog/ $out/lib/systemd/catalog/
- export NIX_CFLAGS_LINK+=" -Wl,-rpath,$libudev/lib"
-
configureFlagsArray+=("--with-ntp-servers=0.nixos.pool.ntp.org 1.nixos.pool.ntp.org 2.nixos.pool.ntp.org 3.nixos.pool.ntp.org")
+
+ #export NIX_CFLAGS_LINK+=" -Wl,-rpath,$libudev/lib"
'';
+ /*
makeFlags = [
"udevlibexecdir=$(libudev)/lib/udev"
# udev rules refer to $out, and anything but libs should probably go to $out
"udevrulesdir=$(out)/lib/udev/rules.d"
"udevhwdbdir=$(out)/lib/udev/hwdb.d"
];
+ */
PYTHON_BINARY = "${coreutils}/bin/env python"; # don't want a build time dependency on Python
@@ -124,8 +131,6 @@ stdenv.mkDerivation rec {
"-USYSTEMD_BINARY_PATH" "-DSYSTEMD_BINARY_PATH=\"/run/current-system/systemd/lib/systemd/systemd\""
];
- enableParallelBuilding = true;
-
installFlags =
[ "localstatedir=$(TMPDIR)/var"
"sysconfdir=$(out)/etc"
@@ -167,7 +172,8 @@ stdenv.mkDerivation rec {
# "kernel-install" shouldn't be used on NixOS.
find $out -name "*kernel-install*" -exec rm {} \;
-
+ ''; # */
+ /*
# Move lib(g)udev to a separate output. TODO: maybe split them up
# to avoid libudev pulling glib
mkdir -p "$libudev/lib"
@@ -179,8 +185,10 @@ stdenv.mkDerivation rec {
for i in "$out"/lib/pkgconfig/{libudev,gudev-1.0}.pc; do
substituteInPlace $i --replace "libdir=$out" "libdir=$libudev"
done
- ''; # */
+ */
+ enableParallelBuilding = true;
+ /*
# some libs fail to link to liblzma and/or libffi
postFixup = let extraLibs = stdenv.lib.makeLibraryPath [ xz.out libffi.out zlib.out ];
in ''
@@ -188,6 +196,7 @@ stdenv.mkDerivation rec {
patchelf --set-rpath `patchelf --print-rpath "$f"`':${extraLibs}' "$f"
done
'';
+ */
# The interface version prevents NixOS from switching to an
# incompatible systemd at runtime. (Switching across reboots is
@@ -205,4 +214,3 @@ stdenv.mkDerivation rec {
};
}
-
diff --git a/pkgs/os-specific/linux/systemd/hwdb-location.diff b/pkgs/os-specific/linux/systemd/hwdb-location.diff
new file mode 100644
index 000000000000..31e7a027f50d
--- /dev/null
+++ b/pkgs/os-specific/linux/systemd/hwdb-location.diff
@@ -0,0 +1,19 @@
+diff --git a/src/libsystemd/sd-hwdb/sd-hwdb.c b/src/libsystemd/sd-hwdb/sd-hwdb.c
+index 06c9831..e74825c 100644
+--- a/src/libsystemd/sd-hwdb/sd-hwdb.c
++++ b/src/libsystemd/sd-hwdb/sd-hwdb.c
+@@ -268,13 +268,8 @@ static int trie_search_f(sd_hwdb *hwdb, const char *search) {
+ }
+
+ static const char hwdb_bin_paths[] =
+- "/etc/systemd/hwdb/hwdb.bin\0"
+ "/etc/udev/hwdb.bin\0"
+- "/usr/lib/systemd/hwdb/hwdb.bin\0"
+-#ifdef HAVE_SPLIT_USR
+- "/lib/systemd/hwdb/hwdb.bin\0"
+-#endif
+- UDEVLIBEXECDIR "/hwdb.bin\0";
++ ;
+
+ _public_ int sd_hwdb_new(sd_hwdb **ret) {
+ _cleanup_hwdb_unref_ sd_hwdb *hwdb = NULL;
diff --git a/pkgs/os-specific/linux/systemd/libudev.nix b/pkgs/os-specific/linux/systemd/libudev.nix
new file mode 100644
index 000000000000..0fe45aee9164
--- /dev/null
+++ b/pkgs/os-specific/linux/systemd/libudev.nix
@@ -0,0 +1,19 @@
+{ stdenv, systemd }:
+
+stdenv.mkDerivation {
+ name = "libudev-${systemd.version}";
+
+ unpackPhase = ":";
+ outputs = [ "dev" "out" ];
+ installPhase = ''
+ mkdir -p "$out/lib" "$dev/lib/pkgconfig" "$dev/include"
+ cp -P "${systemd}"/lib/libudev.* "$out/lib/"
+ cp -P "${systemd}"/lib/pkgconfig/libudev.pc "$dev/lib/pkgconfig/"
+ cp -P "${systemd}"/include/libudev.h "$dev/include/"
+
+ substituteInPlace "$dev"/lib/pkgconfig/*.pc \
+ --replace "${systemd}" "$out"
+ sed "/^includedir=/cincludedir=$dev/include" -i "$dev"/lib/pkgconfig/*.pc
+ '';
+}
+
diff --git a/pkgs/tools/filesystems/nixpart/0.4/blivet.nix b/pkgs/tools/filesystems/nixpart/0.4/blivet.nix
index 4033cdc87e0e..0995a8bfd23e 100644
--- a/pkgs/tools/filesystems/nixpart/0.4/blivet.nix
+++ b/pkgs/tools/filesystems/nixpart/0.4/blivet.nix
@@ -1,11 +1,11 @@
{ stdenv, fetchurl, buildPythonPackage, pykickstart, pyparted, pyblock
, libselinux, cryptsetup, multipath_tools, lsof, utillinux
-, useNixUdev ? true, udev ? null
+, useNixUdev ? true, libudev ? null
# This is only used when useNixUdev is false
, udevSoMajor ? 1
}:
-assert useNixUdev -> udev != null;
+assert useNixUdev -> libudev != null;
buildPythonPackage rec {
name = "blivet-${version}";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
sed -i '/pvscan/s/, *"--cache"//' blivet/devicelibs/lvm.py
'' + (if useNixUdev then ''
sed -i -e '/find_library/,/find_library/ {
- c libudev = "${udev.libudev}/lib/libudev.so.1"
+ c libudev = "${libudev.out}/lib/libudev.so.1"
}' blivet/pyudev.py
'' else ''
sed -i \
@@ -40,7 +40,7 @@ buildPythonPackage rec {
propagatedBuildInputs = [
pykickstart pyparted pyblock libselinux cryptsetup
- ] ++ stdenv.lib.optional useNixUdev udev;
+ ] ++ stdenv.lib.optional useNixUdev libudev;
# tests are currently _heavily_ broken upstream
doCheck = false;
diff --git a/pkgs/tools/filesystems/nixpart/0.4/default.nix b/pkgs/tools/filesystems/nixpart/0.4/default.nix
index 9ea2f9bfdc77..1ac8083c2594 100644
--- a/pkgs/tools/filesystems/nixpart/0.4/default.nix
+++ b/pkgs/tools/filesystems/nixpart/0.4/default.nix
@@ -10,7 +10,7 @@ let
inherit stdenv fetchurl buildPythonPackage;
inherit pykickstart pyparted pyblock cryptsetup multipath_tools;
inherit useNixUdev udevSoMajor;
- inherit (pkgs) lsof utillinux udev;
+ inherit (pkgs) lsof utillinux libudev;
libselinux = pkgs.libselinux.override { enablePython = true; };
};
@@ -27,12 +27,12 @@ let
lvm2 = import ./lvm2.nix {
inherit stdenv fetchurl;
- inherit (pkgs) pkgconfig utillinux udev coreutils;
+ inherit (pkgs) pkgconfig utillinux libudev systemd coreutils;
};
multipath_tools = import ./multipath-tools.nix {
inherit stdenv fetchurl lvm2;
- inherit (pkgs) readline udev libaio gzip;
+ inherit (pkgs) readline systemd libaio gzip;
};
parted = import ./parted.nix {
diff --git a/pkgs/tools/filesystems/nixpart/0.4/lvm2.nix b/pkgs/tools/filesystems/nixpart/0.4/lvm2.nix
index 32bf79e4a7af..b92c40ba99e6 100644
--- a/pkgs/tools/filesystems/nixpart/0.4/lvm2.nix
+++ b/pkgs/tools/filesystems/nixpart/0.4/lvm2.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, udev, utillinux, coreutils }:
+{ stdenv, fetchurl, pkgconfig, libudev, systemd, utillinux, coreutils }:
let
v = "2.02.106";
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
configureFlags =
"--disable-readline --enable-udev_rules --enable-udev_sync --enable-pkgconfig --enable-applib";
- buildInputs = [ pkgconfig udev ];
+ buildInputs = [ pkgconfig libudev ];
preConfigure =
''
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
--replace /usr/bin/tr ${coreutils}/bin/tr
substituteInPlace scripts/lvm2_activation_generator_systemd_red_hat.c \
--replace /usr/sbin/lvm $out/sbin/lvm \
- --replace /usr/bin/udevadm ${udev.out}/bin/udevadm
+ --replace /usr/bin/udevadm ${systemd.udev.bin}/bin/udevadm
sed -i /DEFAULT_SYS_DIR/d Makefile.in
sed -i /DEFAULT_PROFILE_DIR/d conf/Makefile.in
diff --git a/pkgs/tools/filesystems/nixpart/0.4/multipath-tools.nix b/pkgs/tools/filesystems/nixpart/0.4/multipath-tools.nix
index a3873fb25ff0..b78605504bf8 100644
--- a/pkgs/tools/filesystems/nixpart/0.4/multipath-tools.nix
+++ b/pkgs/tools/filesystems/nixpart/0.4/multipath-tools.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, lvm2, libaio, gzip, readline, udev }:
+{ stdenv, fetchurl, lvm2, libaio, gzip, readline, systemd }:
stdenv.mkDerivation rec {
name = "multipath-tools-0.4.9";
@@ -22,8 +22,8 @@ stdenv.mkDerivation rec {
substituteInPlace kpartx/kpartx.rules --replace /sbin/kpartx $out/sbin/kpartx
substituteInPlace kpartx/kpartx_id --replace /sbin/dmsetup ${lvm2}/sbin/dmsetup
- substituteInPlace libmultipath/defaults.h --replace /lib/udev/scsi_id ${udev.libudev}/lib/udev/scsi_id
- substituteInPlace libmultipath/hwtable.c --replace /lib/udev/scsi_id ${udev.libudev}/lib/udev/scsi_id
+ substituteInPlace libmultipath/defaults.h --replace /lib/udev/scsi_id ${systemd.udev.lib}/lib/udev/scsi_id
+ substituteInPlace libmultipath/hwtable.c --replace /lib/udev/scsi_id ${systemd.udev.lib}/lib/udev/scsi_id
'';
meta = {
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 602fe1c024f5..b5dd0dc97689 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -10188,7 +10188,11 @@ let
systemd = callPackage ../os-specific/linux/systemd {
linuxHeaders = linuxHeaders_3_18;
- };
+ }
+ // {
+ udev.bin = systemd; # ${systemd.udev.bin}/bin/udevadm
+ udev.lib = libudev.out; # ${systemd.udev.lib}/lib/libudev.*
+ };
systemtap = callPackage ../development/tools/profiling/systemtap {
inherit (gnome) libglademm;
@@ -10271,8 +10275,11 @@ let
cross = assert crossSystem != null; crossSystem;
});
+ # This hacky alias covers most use cases without mass-replace (build inputs)
+ # and causes an *evaluation* error if "${udev}" is attempted.
+ udev = [ libudev.dev libudev.out ];
+ libudev = callPackage ../os-specific/linux/systemd/libudev.nix { };
- udev = pkgs.systemd; # headers are not in the libudev output
eudev = callPackage ../os-specific/linux/eudev {};
udisks1 = callPackage ../os-specific/linux/udisks/1-default.nix { };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 5a692777285b..d02b7dda1e17 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -11951,7 +11951,7 @@ let
postPatch = ''
sed -i -e '/udev_library_name/,/^ *libudev/ {
- s|CDLL([^,]*|CDLL("${pkgs.udev.libudev}/lib/libudev.so.1"|p; d
+ s|CDLL([^,]*|CDLL("${pkgs.libudev.out}/lib/libudev.so.1"|p; d
}' pyudev/_libudev.py
'';