summary refs log tree commit diff
path: root/pkgs/top-level
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2015-10-03 20:52:03 +0200
committerVladimír Čunát <vcunat@gmail.com>2015-10-04 10:03:53 +0200
commitb44d846990d779f7201f114076a2f2bcacdc91c5 (patch)
tree9a6f766bfb04765e1095be811aab38b94f88bd5d /pkgs/top-level
parentec7a4ddd92e19e0084a07448671cd79d974cd818 (diff)
downloadnixlib-b44d846990d779f7201f114076a2f2bcacdc91c5.tar
nixlib-b44d846990d779f7201f114076a2f2bcacdc91c5.tar.gz
nixlib-b44d846990d779f7201f114076a2f2bcacdc91c5.tar.bz2
nixlib-b44d846990d779f7201f114076a2f2bcacdc91c5.tar.lz
nixlib-b44d846990d779f7201f114076a2f2bcacdc91c5.tar.xz
nixlib-b44d846990d779f7201f114076a2f2bcacdc91c5.tar.zst
nixlib-b44d846990d779f7201f114076a2f2bcacdc91c5.zip
udev: complete rework
- systemd puts all into one output now (except for man),
  because I wasn't able to fix all systemd/udev refernces
  for NixOS to work well
- libudev is now by default *copied* into another path,
  which is what most packages will use as build input :-)
- pkgs.udev = [ libudev.out libudev.dev ]; because there are too many
  references that just put `udev` into build inputs (to rewrite them all),
  also this made "${udev}/foo" fail at *evaluation* time
  so it's easier to catch and change to something more specific
Diffstat (limited to 'pkgs/top-level')
-rw-r--r--pkgs/top-level/all-packages.nix11
-rw-r--r--pkgs/top-level/python-packages.nix2
2 files changed, 10 insertions, 3 deletions
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
     '';