diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2013-06-26 13:34:55 +0200 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2013-06-26 13:34:55 +0200 |
commit | 15bd0f4beb1eb6e609bd365893289d3a163a4ef2 (patch) | |
tree | a63964b4f8253d7f74d6cd5111ea109d5e96364d /pkgs/os-specific/linux/systemd/default.nix | |
parent | 552fd3d599851336aa21ef073d1f7836566e454f (diff) | |
download | nixpkgs-15bd0f4beb1eb6e609bd365893289d3a163a4ef2.tar nixpkgs-15bd0f4beb1eb6e609bd365893289d3a163a4ef2.tar.gz nixpkgs-15bd0f4beb1eb6e609bd365893289d3a163a4ef2.tar.bz2 nixpkgs-15bd0f4beb1eb6e609bd365893289d3a163a4ef2.tar.lz nixpkgs-15bd0f4beb1eb6e609bd365893289d3a163a4ef2.tar.xz nixpkgs-15bd0f4beb1eb6e609bd365893289d3a163a4ef2.tar.zst nixpkgs-15bd0f4beb1eb6e609bd365893289d3a163a4ef2.zip |
systemd: Put libudev in a separate output
This way, packages that need libudev (like Mesa) don't pull in all of systemd as a runtime dependency.
Diffstat (limited to 'pkgs/os-specific/linux/systemd/default.nix')
-rw-r--r-- | pkgs/os-specific/linux/systemd/default.nix | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index e7184aa27b9..05257aa3e0a 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -14,6 +14,8 @@ stdenv.mkDerivation rec { sha256 = "07gvn3rpski8sh1nz16npjf2bvj0spsjdwc5px9685g2pi6kxcb1"; }; + outputs = [ "out" "man" "libudev" ]; + patches = [ ./0001-Make-systemctl-daemon-reexec-do-the-right-thing-on-N.patch ./0002-Ignore-duplicate-paths-in-systemctl-start.patch @@ -65,6 +67,8 @@ stdenv.mkDerivation rec { substituteInPlace src/journal/catalog.c \ --replace /usr/lib/systemd/catalog/ $out/lib/systemd/catalog/ + + export NIX_CFLAGS_LINK+=" -Wl,-rpath,$libudev/lib" ''; PYTHON_BINARY = "${coreutils}/bin/env python"; # don't want a build time dependency on Python @@ -114,6 +118,20 @@ stdenv.mkDerivation rec { done rm -rf $out/etc/rpm + + # Move libudev to a separate output. + mkdir -p $libudev/lib/pkgconfig $libudev/include + mv $out/lib/libudev* $libudev/lib/ + mv $out/lib/pkgconfig/libudev*.pc $libudev/lib/pkgconfig/ + mv $out/include/libudev.h $libudev/include/ + + for i in $libudev/lib/*.la $libudev/lib/pkgconfig/*.pc; do + substituteInPlace $i --replace $out $libudev + done + + # FIXME: move into stdenv + prefix="$libudev" patchELF + prefix="$libudev" stripDirs "lib" "''${stripDebugFlags:--S}" ''; # */ enableParallelBuilding = true; |