diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2016-09-05 18:59:00 +0200 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2016-09-05 19:17:14 +0200 |
commit | 78178d5854901e1b17a14bce3fe43515984b7b91 (patch) | |
tree | 350b6cb98c5a86ce3a15c18032afd6acdf28ccd7 /pkgs | |
parent | 5d8c54746066eb454bee5c10ba93b3a9e078bf45 (diff) | |
download | nixpkgs-78178d5854901e1b17a14bce3fe43515984b7b91.tar nixpkgs-78178d5854901e1b17a14bce3fe43515984b7b91.tar.gz nixpkgs-78178d5854901e1b17a14bce3fe43515984b7b91.tar.bz2 nixpkgs-78178d5854901e1b17a14bce3fe43515984b7b91.tar.lz nixpkgs-78178d5854901e1b17a14bce3fe43515984b7b91.tar.xz nixpkgs-78178d5854901e1b17a14bce3fe43515984b7b91.tar.zst nixpkgs-78178d5854901e1b17a14bce3fe43515984b7b91.zip |
systemd: Separate lib output
This moves libsystemd.so and libudev.so into systemd.lib, and gets rid of libudev (which just contained a copy of libudev.so and the udev headers). It thus reduces the closure size of all packages that (indirectly) depend on libsystemd, of which there are quite a few (for instance, PulseAudio and dbus). For example, it reduces the closure of Blender from 430.8 to 400.8 MiB.
Diffstat (limited to 'pkgs')
31 files changed, 80 insertions, 123 deletions
diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix index a5f5ac9d93a..e0d89d809a7 100644 --- a/pkgs/applications/audio/spotify/default.nix +++ b/pkgs/applications/audio/spotify/default.nix @@ -1,6 +1,6 @@ { fetchurl, stdenv, dpkg, xorg, alsaLib, makeWrapper, openssl, freetype , glib, pango, cairo, atk, gdk_pixbuf, gtk, cups, nspr, nss, libpng, GConf -, libgcrypt, libudev, fontconfig, dbus, expat, ffmpeg_0_10, curl, zlib, gnome }: +, libgcrypt, systemd, fontconfig, dbus, expat, ffmpeg_0_10, curl, zlib, gnome }: assert stdenv.system == "x86_64-linux"; @@ -28,7 +28,7 @@ let nss pango stdenv.cc.cc - libudev + systemd xorg.libX11 xorg.libXcomposite xorg.libXcursor diff --git a/pkgs/applications/editors/brackets/default.nix b/pkgs/applications/editors/brackets/default.nix index 127ed981a6c..a839f5b24e5 100644 --- a/pkgs/applications/editors/brackets/default.nix +++ b/pkgs/applications/editors/brackets/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, buildEnv, gtk, glib, gdk_pixbuf, alsaLib, nss, nspr, gconf -, cups, libgcrypt_1_5, libudev, makeWrapper, dbus }: +, cups, libgcrypt_1_5, systemd, makeWrapper, dbus }: let bracketsEnv = buildEnv { name = "env-brackets"; paths = [ gtk glib gdk_pixbuf stdenv.cc.cc alsaLib nss nspr gconf cups libgcrypt_1_5 - dbus libudev.out + dbus systemd.lib ]; }; in @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { rmdir $out/usr ln -sf $out/opt/brackets/brackets $out/bin/brackets - ln -s ${libudev.out}/lib/libudev.so.1 $out/opt/brackets/lib/libudev.so.0 + ln -s ${systemd.lib}/lib/libudev.so.1 $out/opt/brackets/lib/libudev.so.0 patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-rpath "${bracketsEnv}/lib:${bracketsEnv}/lib64" \ diff --git a/pkgs/applications/editors/lighttable/default.nix b/pkgs/applications/editors/lighttable/default.nix index 108b7cceb4e..9644cb2d5c7 100644 --- a/pkgs/applications/editors/lighttable/default.nix +++ b/pkgs/applications/editors/lighttable/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, buildEnv, zlib, glib, alsaLib, makeDesktopItem , dbus, gtk, atk, pango, freetype, fontconfig, libgnome_keyring3, gdk_pixbuf -, cairo, cups, expat, libgpgerror, nspr, gnome3, nss, xorg, libudev, libnotify +, cairo, cups, expat, libgpgerror, nspr, gnome3, nss, xorg, systemd, libnotify }: let @@ -45,9 +45,9 @@ stdenv.mkDerivation rec { mv $out/share/LightTable/light $out/bin/light - ln -sf ${libudev.out}/lib/libudev.so.1 $out/share/LightTable/libudev.so.0 + ln -sf ${systemd.lib}/lib/libudev.so.1 $out/share/LightTable/libudev.so.0 substituteInPlace $out/bin/light \ - --replace "/usr/lib/x86_64-linux-gnu" "${libudev.out}/lib" \ + --replace "/usr/lib/x86_64-linux-gnu" "${systemd.lib}/lib" \ --replace "/lib/x86_64-linux-gnu" "$out/share/LightTable" \ --replace 'HERE=`dirname $(readlink -f $0)`' "HERE=$out/share/LightTable" diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index a1110fa07a8..8131ad29060 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -8,7 +8,7 @@ , libusb1, pciutils, nss , python, pythonPackages, perl, pkgconfig -, nspr, libudev, kerberos +, nspr, systemd, kerberos , utillinux, alsaLib , bison, gperf , glib, gtk, dbus_glib @@ -113,7 +113,7 @@ let buildInputs = defaultDependencies ++ [ which python perl pkgconfig - nspr nss libudev + nspr nss systemd utillinux alsaLib bison gperf kerberos glib gtk dbus_glib @@ -147,7 +147,7 @@ let -e "/python_arch/s/: *'[^']*'/: '""'/" \ build/common.gypi chrome/chrome_tests.gypi - sed -i -e '/lib_loader.*Load/s!"\(libudev\.so\)!"${libudev.out}/lib/\1!' \ + sed -i -e '/lib_loader.*Load/s!"\(libudev\.so\)!"${systemd.lib}/lib/\1!' \ device/udev_linux/udev?_loader.cc sed -i -e '/libpci_loader.*Load/s!"\(libpci\.so\)!"${pciutils}/lib/\1!' \ diff --git a/pkgs/applications/networking/browsers/google-chrome/default.nix b/pkgs/applications/networking/browsers/google-chrome/default.nix index 1550d359b34..10d50792fac 100644 --- a/pkgs/applications/networking/browsers/google-chrome/default.nix +++ b/pkgs/applications/networking/browsers/google-chrome/default.nix @@ -7,7 +7,7 @@ , dbus_libs, gtk, gdk_pixbuf, gcc # Will crash without. -, libudev +, systemd # Loaded at runtime. , libexif @@ -45,7 +45,7 @@ let libXcursor libXext libXfixes libXrender libXScrnSaver libXcomposite alsaLib libXdamage libXtst libXrandr expat cups dbus_libs gtk gdk_pixbuf gcc - libudev + systemd libexif liberation_ttf curl utillinux xdg_utils wget flac harfbuzz icu libpng opusWithCustomModes snappy speechd diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix index 88bdd08cbfe..0f549be9ac4 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, rpm, cpio, mesa, xorg, cairo , libpng, gtk, glib, gdk_pixbuf, fontconfig, freetype, curl -, dbus_glib, alsaLib, libpulseaudio, libudev, pango +, dbus_glib, alsaLib, libpulseaudio, systemd, pango }: with stdenv.lib; @@ -37,7 +37,7 @@ let alsaLib libpulseaudio dbus_glib - libudev + systemd curl pango cairo diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix index f511c6e7e9c..d9f694a7eab 100644 --- a/pkgs/applications/networking/browsers/vivaldi/default.nix +++ b/pkgs/applications/networking/browsers/vivaldi/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, zlib, libX11, libXext, libSM, libICE , libXfixes, libXt, libXi, libXcursor, libXScrnSaver, libXcomposite, libXdamage, libXtst, libXrandr -, alsaLib, dbus_libs, cups, libexif, ffmpeg, libudev +, alsaLib, dbus_libs, cups, libexif, ffmpeg, systemd , freetype, fontconfig, libXft, libXrender, libxcb, expat, libXau, libXdmcp , libuuid, xz , gstreamer, gst_plugins_base, libxml2 @@ -38,7 +38,7 @@ in stdenv.mkDerivation rec { buildInputs = [ stdenv.cc.cc stdenv.cc.libc zlib libX11 libXt libXext libSM libICE libXi libXft libXcursor libXfixes libXScrnSaver libXcomposite libXdamage libXtst libXrandr - atk alsaLib dbus_libs cups gtk gdk_pixbuf libexif ffmpeg libudev + atk alsaLib dbus_libs cups gtk gdk_pixbuf libexif ffmpeg systemd freetype fontconfig libXrender libuuid expat glib nss nspr gstreamer libxml2 gst_plugins_base pango cairo gnome3.gconf patchelf @@ -53,7 +53,7 @@ in stdenv.mkDerivation rec { patchelf \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-rpath "${libPath}" \ - opt/vivaldi/vivaldi-bin + opt/vivaldi/vivaldi-bin echo "Finished patching Vivaldi binaries" ''; diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix index 71382558d3c..3096d7dea2b 100644 --- a/pkgs/applications/networking/instant-messengers/discord/default.nix +++ b/pkgs/applications/networking/instant-messengers/discord/default.nix @@ -2,7 +2,7 @@ , alsaLib, atk, cairo, cups, dbus, expat, fontconfig, freetype, gdk_pixbuf , glib, gnome, gtk, libnotify, libX11, libXcomposite, libXcursor, libXdamage , libXext, libXfixes, libXi, libXrandr, libXrender, libXtst, nspr, nss, pango -, libudev, libXScrnSaver }: +, systemd, libXScrnSaver }: let version = "0.0.8"; in @@ -19,7 +19,7 @@ stdenv.mkDerivation { stdenv.cc.cc alsaLib atk cairo cups dbus expat fontconfig freetype gdk_pixbuf glib gnome.GConf gtk libnotify libX11 libXcomposite libXcursor libXdamage libXext libXfixes libXi libXrandr libXrender - libXtst nspr nss pango libudev.out libXScrnSaver + libXtst nspr nss pango systemd libXScrnSaver ]; installPhase = '' @@ -35,7 +35,7 @@ stdenv.mkDerivation { ln -s $out/DiscordCanary $out/bin/ # Putting udev in the path won't work :( - ln -s ${libudev.out}/lib/libudev.so.1 $out + ln -s ${systemd.lib}/lib/libudev.so.1 $out ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/networking/instant-messengers/viber/default.nix b/pkgs/applications/networking/instant-messengers/viber/default.nix index 9c25c6eaad2..2e3832b9ee8 100644 --- a/pkgs/applications/networking/instant-messengers/viber/default.nix +++ b/pkgs/applications/networking/instant-messengers/viber/default.nix @@ -1,6 +1,6 @@ {fetchurl, stdenv, dpkg, makeWrapper, alsaLib, cups, curl, dbus, expat, fontconfig, freetype, glib, gst_all_1, harfbuzz, libcap, - libpulseaudio, mesa, nspr, nss, libudev, wayland, xorg, zlib, ... + libpulseaudio, mesa, nspr, nss, systemd, wayland, xorg, zlib, ... }: assert stdenv.system == "x86_64-linux"; @@ -39,7 +39,7 @@ stdenv.mkDerivation rec { nspr nss stdenv.cc.cc - libudev + systemd wayland zlib diff --git a/pkgs/development/libraries/libusb1/default.nix b/pkgs/development/libraries/libusb1/default.nix index 93846c00d07..3f5d1b91723 100644 --- a/pkgs/development/libraries/libusb1/default.nix +++ b/pkgs/development/libraries/libusb1/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, libudev ? null, libobjc, IOKit }: +{ stdenv, fetchurl, pkgconfig, systemd ? 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 libudev ++ + stdenv.lib.optional stdenv.isLinux systemd ++ 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${libudev.out}/lib -ludev,' -i $out/lib/libusb-1.0.la + sed 's,-ludev,-L${systemd.lib}/lib -ludev,' -i $out/lib/libusb-1.0.la ''; meta = { diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index ee6b441d2b0..2f8600d9ca9 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, fetchpatch , pkgconfig, intltool, autoreconfHook, substituteAll -, file, expat, libdrm, xorg, wayland, libudev +, file, expat, libdrm, xorg, wayland, systemd , llvmPackages, libffi, libomxil-bellagio, libva , libelf, libvdpau, python , grsecEnabled ? false @@ -54,7 +54,7 @@ stdenv.mkDerivation { ] ++ optional stdenv.isLinux (substituteAll { src = ./dlopen-absolute-paths.diff; - libudev = libudev.out; + libudev = systemd.lib; }); postPatch = '' @@ -114,7 +114,7 @@ stdenv.mkDerivation { libffi wayland libvdpau libelf libXvMC libomxil-bellagio libva libpthreadstubs (python.withPackages (ps: [ ps.Mako ])) - ] ++ optional stdenv.isLinux libudev; + ] ++ optional stdenv.isLinux systemd; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/qt-5/5.5/qtserialport/default.nix b/pkgs/development/libraries/qt-5/5.5/qtserialport/default.nix index 32549c95344..2bffd0a2bd6 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtserialport/default.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtserialport/default.nix @@ -1,4 +1,4 @@ -{ qtSubmodule, qtbase, substituteAll, libudev }: +{ qtSubmodule, qtbase, substituteAll, systemd }: qtSubmodule { name = "qtserialport"; @@ -6,7 +6,7 @@ qtSubmodule { patches = [ (substituteAll { src = ./0001-dlopen-serialport-udev.patch; - libudev = libudev.out; + libudev = systemd.lib; }) ]; } diff --git a/pkgs/development/libraries/qt-5/5.5/qtwebkit/default.nix b/pkgs/development/libraries/qt-5/5.5/qtwebkit/default.nix index 5ccf09515e4..32b07b6c907 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtwebkit/default.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtwebkit/default.nix @@ -1,6 +1,6 @@ { qtSubmodule, stdenv, qtdeclarative, qtlocation, qtsensors , fontconfig, gdk_pixbuf, gtk, libwebp, libxml2, libxslt -, sqlite, libudev, glib, gst_all_1 +, sqlite, systemd, glib, gst_all_1 , bison2, flex, gdb, gperf, perl, pkgconfig, python, ruby , substituteAll , flashplayerFix ? false @@ -27,7 +27,7 @@ qtSubmodule { }; dlopen-webkit-udev = substituteAll { src = ./0003-dlopen-webkit-udev.patch; - libudev = libudev.out; + libudev = systemd.lib; }; in optionals flashplayerFix [ dlopen-webkit-nsplugin dlopen-webkit-gtk ] ++ [ dlopen-webkit-udev ]; diff --git a/pkgs/development/libraries/qt-5/5.6/qtserialport/default.nix b/pkgs/development/libraries/qt-5/5.6/qtserialport/default.nix index 32549c95344..2bffd0a2bd6 100644 --- a/pkgs/development/libraries/qt-5/5.6/qtserialport/default.nix +++ b/pkgs/development/libraries/qt-5/5.6/qtserialport/default.nix @@ -1,4 +1,4 @@ -{ qtSubmodule, qtbase, substituteAll, libudev }: +{ qtSubmodule, qtbase, substituteAll, systemd }: qtSubmodule { name = "qtserialport"; @@ -6,7 +6,7 @@ qtSubmodule { patches = [ (substituteAll { src = ./0001-dlopen-serialport-udev.patch; - libudev = libudev.out; + libudev = systemd.lib; }) ]; } diff --git a/pkgs/development/libraries/qt-5/5.6/qtwebkit/default.nix b/pkgs/development/libraries/qt-5/5.6/qtwebkit/default.nix index a7953eb5901..46f47b41535 100644 --- a/pkgs/development/libraries/qt-5/5.6/qtwebkit/default.nix +++ b/pkgs/development/libraries/qt-5/5.6/qtwebkit/default.nix @@ -1,6 +1,6 @@ { qtSubmodule, stdenv, qtdeclarative, qtlocation, qtsensors , fontconfig, gdk_pixbuf, gtk, libwebp, libxml2, libxslt -, sqlite, libudev, glib, gst_all_1 +, sqlite, systemd, glib, gst_all_1 , bison2, flex, gdb, gperf, perl, pkgconfig, python, ruby , substituteAll , flashplayerFix ? false @@ -27,7 +27,7 @@ qtSubmodule { }; dlopen-webkit-udev = substituteAll { src = ./0003-dlopen-webkit-udev.patch; - libudev = libudev.out; + libudev = systemd.lib; }; in optionals flashplayerFix [ dlopen-webkit-nsplugin dlopen-webkit-gtk ] ++ [ dlopen-webkit-udev ]; diff --git a/pkgs/development/libraries/qt-5/5.7/qtserialport/default.nix b/pkgs/development/libraries/qt-5/5.7/qtserialport/default.nix index 32549c95344..2bffd0a2bd6 100644 --- a/pkgs/development/libraries/qt-5/5.7/qtserialport/default.nix +++ b/pkgs/development/libraries/qt-5/5.7/qtserialport/default.nix @@ -1,4 +1,4 @@ -{ qtSubmodule, qtbase, substituteAll, libudev }: +{ qtSubmodule, qtbase, substituteAll, systemd }: qtSubmodule { name = "qtserialport"; @@ -6,7 +6,7 @@ qtSubmodule { patches = [ (substituteAll { src = ./0001-dlopen-serialport-udev.patch; - libudev = libudev.out; + libudev = systemd.lib; }) ]; } diff --git a/pkgs/development/libraries/qt-5/5.7/qtwebkit/default.nix b/pkgs/development/libraries/qt-5/5.7/qtwebkit/default.nix index a7953eb5901..46f47b41535 100644 --- a/pkgs/development/libraries/qt-5/5.7/qtwebkit/default.nix +++ b/pkgs/development/libraries/qt-5/5.7/qtwebkit/default.nix @@ -1,6 +1,6 @@ { qtSubmodule, stdenv, qtdeclarative, qtlocation, qtsensors , fontconfig, gdk_pixbuf, gtk, libwebp, libxml2, libxslt -, sqlite, libudev, glib, gst_all_1 +, sqlite, systemd, glib, gst_all_1 , bison2, flex, gdb, gperf, perl, pkgconfig, python, ruby , substituteAll , flashplayerFix ? false @@ -27,7 +27,7 @@ qtSubmodule { }; dlopen-webkit-udev = substituteAll { src = ./0003-dlopen-webkit-udev.patch; - libudev = libudev.out; + libudev = systemd.lib; }; in optionals flashplayerFix [ dlopen-webkit-nsplugin dlopen-webkit-gtk ] ++ [ dlopen-webkit-udev ]; diff --git a/pkgs/development/tools/node-webkit/nw11.nix b/pkgs/development/tools/node-webkit/nw11.nix index 925c32bd65d..1fcda13dab8 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, libudev, libcap +, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, systemd, 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/node-webkit/nw patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/node-webkit/nwsnapshot - ln -s ${libudev.out}/lib/libudev.so $out/share/node-webkit/libudev.so.0 + ln -s ${systemd.lib}/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 f0ede1e5237..18fdf7bca3b 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, libudev, libcap +, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, systemd, libcap , libnotify}: let bits = if stdenv.system == "x86_64-linux" then "x64" @@ -39,7 +39,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 ${libudev.out}/lib/libudev.so $out/share/nwjs/libudev.so.0 + ln -s ${systemd.lib}/lib/libudev.so $out/share/nwjs/libudev.so.0 patchelf --set-rpath "${nwEnv}/lib:${nwEnv}/lib64:${stdenv.lib.makeLibraryPath [ stdenv.cc.cc ]}:$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 ad2cda34cd8..db5d6ee6b6f 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, libudev }: +, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, systemd }: let bits = if stdenv.system == "x86_64-linux" then "x64" else "ia32"; @@ -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 ${libudev.out}/lib/libudev.so $out/share/node-webkit/libudev.so.0 + ln -s ${systemd.lib}/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/os-specific/linux/multipath-tools/default.nix b/pkgs/os-specific/linux/multipath-tools/default.nix index 409eb31e14f..d09c192abfc 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.5.0"; @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ gzip ]; - buildInputs = [ udev lvm2 libaio readline ]; + buildInputs = [ systemd lvm2 libaio readline ]; makeFlags = [ "LIB=lib" diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index d02f7291df5..7fdebc5c1e8 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -28,13 +28,7 @@ stdenv.mkDerivation rec { }) ]; - /* gave up for now! - outputs = [ "out" "libudev" "doc" ]; # maybe: "dev" - # note: there are many references to ${systemd}/... - outputDev = "out"; - propagatedBuildOutputs = "libudev"; - */ - outputs = [ "out" "man" ]; + outputs = [ "out" "lib" "man" "dev" ]; buildInputs = [ linuxHeaders pkgconfig intltool gperf libcap kmod xz pam acl @@ -119,16 +113,6 @@ stdenv.mkDerivation rec { #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 NIX_CFLAGS_COMPILE = @@ -180,26 +164,18 @@ stdenv.mkDerivation rec { rm -rf $out/etc/rpm - rm $out/lib/*.la + rm $lib/lib/*.la # "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" - mv "$out"/lib/lib{,g}udev* "$libudev/lib/" - for i in "$libudev"/lib/*.la; do - substituteInPlace $i --replace "$out" "$libudev" - done - for i in "$out"/lib/pkgconfig/{libudev,gudev-1.0}.pc; do - substituteInPlace $i --replace "libdir=$out" "libdir=$libudev" - done - */ + # Keep only libudev and libsystemd in the lib output. + mkdir -p $out/lib + mv $lib/lib/security $lib/lib/libnss* $out/lib/ + ''; # */ enableParallelBuilding = true; + /* # some libs fail to link to liblzma and/or libffi postFixup = let extraLibs = stdenv.lib.makeLibraryPath [ xz.out libffi.out zlib.out ]; diff --git a/pkgs/os-specific/linux/systemd/libudev.nix b/pkgs/os-specific/linux/systemd/libudev.nix deleted file mode 100644 index 401e1ba6805..00000000000 --- a/pkgs/os-specific/linux/systemd/libudev.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ stdenv, systemd }: - -stdenv.mkDerivation { - name = "libudev-${systemd.version}"; - - unpackPhase = ":"; - outputs = [ "out" "dev" ]; - 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 - ''; - - meta = { - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix index 003dd792966..0cc7a8a4548 100644 --- a/pkgs/os-specific/linux/util-linux/default.nix +++ b/pkgs/os-specific/linux/util-linux/default.nix @@ -20,7 +20,6 @@ stdenv.mkDerivation rec { # due to lots of ${utillinux}/bin occurences and headers being rather small outputDev = "bin"; - #FIXME: make it also work on non-nixos? postPatch = '' # Substituting store paths would create a circular dependency on systemd @@ -57,7 +56,7 @@ stdenv.mkDerivation rec { buildInputs = [ zlib pam ] ++ lib.optional (ncurses != null) ncurses - ++ lib.optional (systemd != null) [ systemd pkgconfig ] + ++ lib.optional (systemd != null) systemd ++ lib.optional (perl != null) perl; postInstall = '' diff --git a/pkgs/tools/filesystems/nixpart/0.4/blivet.nix b/pkgs/tools/filesystems/nixpart/0.4/blivet.nix index 7a8501b7a89..edb2978001b 100644 --- a/pkgs/tools/filesystems/nixpart/0.4/blivet.nix +++ b/pkgs/tools/filesystems/nixpart/0.4/blivet.nix @@ -1,9 +1,11 @@ +# FIXME: Unify with pkgs/development/python-modules/blivet/default.nix. + { stdenv, fetchurl, buildPythonApplication, pykickstart, pyparted, pyblock , libselinux, cryptsetup, multipath_tools, lsof, utillinux -, useNixUdev ? true, libudev ? null +, useNixUdev ? true, systemd ? null }: -assert useNixUdev -> libudev != null; +assert useNixUdev -> systemd != null; buildPythonApplication rec { name = "blivet-${version}"; @@ -29,13 +31,13 @@ buildPythonApplication rec { sed -i '/pvscan/s/, *"--cache"//' blivet/devicelibs/lvm.py '' + stdenv.lib.optionalString useNixUdev '' sed -i -e '/find_library/,/find_library/ { - c libudev = "${libudev.out}/lib/libudev.so.1" + c libudev = "${systemd.lib}/lib/libudev.so.1" }' blivet/pyudev.py ''; propagatedBuildInputs = [ pykickstart pyparted pyblock libselinux cryptsetup - ] ++ stdenv.lib.optional useNixUdev libudev; + ] ++ stdenv.lib.optional useNixUdev systemd; # 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 bdf0a5c4323..5ae32093e7f 100644 --- a/pkgs/tools/filesystems/nixpart/0.4/default.nix +++ b/pkgs/tools/filesystems/nixpart/0.4/default.nix @@ -12,7 +12,7 @@ let inherit stdenv fetchurl buildPythonApplication; inherit pykickstart pyparted pyblock cryptsetup multipath_tools; inherit useNixUdev; - inherit (pkgs) lsof utillinux libudev; + inherit (pkgs) lsof utillinux systemd; libselinux = pkgs.libselinux.override { enablePython = true; }; }; @@ -29,7 +29,7 @@ let lvm2 = import ./lvm2.nix { inherit stdenv fetchurl; - inherit (pkgs) pkgconfig utillinux libudev systemd coreutils; + inherit (pkgs) pkgconfig utillinux systemd coreutils; }; multipath_tools = import ./multipath-tools.nix { diff --git a/pkgs/tools/filesystems/nixpart/0.4/lvm2.nix b/pkgs/tools/filesystems/nixpart/0.4/lvm2.nix index b92c40ba99e..6301cbb6842 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, libudev, systemd, utillinux, coreutils }: +{ stdenv, fetchurl, pkgconfig, 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 libudev ]; + buildInputs = [ pkgconfig systemd ]; 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 ${systemd.udev.bin}/bin/udevadm + --replace /usr/bin/udevadm ${systemd}/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 48fa0069d6f..f30bd958cf3 100644 --- a/pkgs/tools/filesystems/nixpart/0.4/multipath-tools.nix +++ b/pkgs/tools/filesystems/nixpart/0.4/multipath-tools.nix @@ -1,3 +1,5 @@ +# FIXME: unify with pkgs/os-specific/linux/multipath-tools/default.nix. + { stdenv, fetchurl, lvm2, libaio, gzip, readline, systemd }: stdenv.mkDerivation rec { @@ -15,15 +17,15 @@ stdenv.mkDerivation rec { preBuild = '' makeFlagsArray=(GZIP="-9" prefix=$out mandir=$out/share/man/man8 man5dir=$out/share/man/man5 LIB=lib) - + substituteInPlace multipath/Makefile --replace /etc $out/etc substituteInPlace kpartx/Makefile --replace /etc $out/etc - + 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 ${systemd.udev.lib}/lib/udev/scsi_id - substituteInPlace libmultipath/hwtable.c --replace /lib/udev/scsi_id ${systemd.udev.lib}/lib/udev/scsi_id + substituteInPlace libmultipath/defaults.h --replace /lib/udev/scsi_id ${systemd.lib}/lib/udev/scsi_id + substituteInPlace libmultipath/hwtable.c --replace /lib/udev/scsi_id ${systemd.lib}/lib/udev/scsi_id ''; meta = { diff --git a/pkgs/tools/misc/staruml/default.nix b/pkgs/tools/misc/staruml/default.nix index 90771b0527c..e1d6604970e 100644 --- a/pkgs/tools/misc/staruml/default.nix +++ b/pkgs/tools/misc/staruml/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, makeWrapper , dpkg, patchelf -, gtk2, glib, gdk_pixbuf, alsaLib, nss, nspr, GConf, cups, libgcrypt, dbus, libudev }: +, gtk2, glib, gdk_pixbuf, alsaLib, nss, nspr, GConf, cups, libgcrypt, dbus, systemd }: let inherit (stdenv) lib; @@ -41,7 +41,7 @@ stdenv.mkDerivation rec { mkdir -p $out/lib ln -s ${stdenv.cc.cc.lib}/lib/libstdc++.so.6 $out/lib/ - ln -s ${libudev.out}/lib/libudev.so.1 $out/lib/libudev.so.0 + ln -s ${systemd.lib}/lib/libudev.so.1 $out/lib/libudev.so.0 wrapProgram $out/bin/StarUML \ --prefix LD_LIBRARY_PATH : $out/lib:${LD_LIBRARY_PATH} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2900ef863cc..704c3068d76 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11783,8 +11783,8 @@ in # 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 = [ systemd.dev systemd.out ]; + libudev = udev; eudev = callPackage ../os-specific/linux/eudev {}; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f4ac1b8afa9..b71efc24de7 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -19714,11 +19714,11 @@ in modules // { postPatch = '' sed -i -e '/udev_library_name/,/^ *libudev/ { - s|CDLL([^,]*|CDLL("${pkgs.libudev.out}/lib/libudev.so.1"|p; d + s|CDLL([^,]*|CDLL("${pkgs.systemd.lib}/lib/libudev.so.1"|p; d }' pyudev/_libudev.py ''; - propagatedBuildInputs = with self; [ pkgs.udev ]; + propagatedBuildInputs = with self; [ pkgs.systemd ]; meta = { homepage = "http://pyudev.readthedocs.org/"; |