diff options
author | Vladimír Čunát <vcunat@gmail.com> | 2017-03-12 18:09:39 +0100 |
---|---|---|
committer | Vladimír Čunát <vcunat@gmail.com> | 2017-03-12 18:36:30 +0100 |
commit | 50fadc8b18fb3da6bda2f3710009a15f6ac45567 (patch) | |
tree | 0989221d5ff841e488134b76758c2c7761ca6820 | |
parent | 2e4c5711a29ccf47bab1a16efc2743bf31b1874f (diff) | |
download | nixlib-50fadc8b18fb3da6bda2f3710009a15f6ac45567.tar nixlib-50fadc8b18fb3da6bda2f3710009a15f6ac45567.tar.gz nixlib-50fadc8b18fb3da6bda2f3710009a15f6ac45567.tar.bz2 nixlib-50fadc8b18fb3da6bda2f3710009a15f6ac45567.tar.lz nixlib-50fadc8b18fb3da6bda2f3710009a15f6ac45567.tar.xz nixlib-50fadc8b18fb3da6bda2f3710009a15f6ac45567.tar.zst nixlib-50fadc8b18fb3da6bda2f3710009a15f6ac45567.zip |
cups: split the $lib output
This saves > 10 MB from most closures. Printing test succeeds on x86_64-linux.
-rw-r--r-- | nixos/modules/services/printing/cupsd.nix | 1 | ||||
-rw-r--r-- | pkgs/applications/networking/browsers/opera/default.nix | 2 | ||||
-rw-r--r-- | pkgs/development/libraries/qt-4.x/4.8/default.nix | 2 | ||||
-rw-r--r-- | pkgs/misc/cups/default.nix | 12 | ||||
-rw-r--r-- | pkgs/misc/cups/drivers/samsung/4.00.39/default.nix | 2 | ||||
-rw-r--r-- | pkgs/misc/cups/drivers/samsung/default.nix | 4 |
6 files changed, 16 insertions, 7 deletions
diff --git a/nixos/modules/services/printing/cupsd.nix b/nixos/modules/services/printing/cupsd.nix index 3041dccfd154..7ce2ae38fb36 100644 --- a/nixos/modules/services/printing/cupsd.nix +++ b/nixos/modules/services/printing/cupsd.nix @@ -52,6 +52,7 @@ let ServerBin ${bindir}/lib/cups DataDir ${bindir}/share/cups + DocumentRoot ${cups.out}/share/doc/cups AccessLog syslog ErrorLog syslog diff --git a/pkgs/applications/networking/browsers/opera/default.nix b/pkgs/applications/networking/browsers/opera/default.nix index 47e82d06e0eb..30e8af85b2ae 100644 --- a/pkgs/applications/networking/browsers/opera/default.nix +++ b/pkgs/applications/networking/browsers/opera/default.nix @@ -46,7 +46,7 @@ let alsaLib.out atk.out cairo.out - cups.out + cups curl.out dbus.lib expat.out diff --git a/pkgs/development/libraries/qt-4.x/4.8/default.nix b/pkgs/development/libraries/qt-4.x/4.8/default.nix index 0860a90192f0..d4b85e0dfe43 100644 --- a/pkgs/development/libraries/qt-4.x/4.8/default.nix +++ b/pkgs/development/libraries/qt-4.x/4.8/default.nix @@ -61,7 +61,7 @@ stdenv.mkDerivation rec { ./libressl.patch (substituteAll { src = ./dlopen-absolute-paths.diff; - cups = if cups != null then cups.out else null; + cups = if cups != null then stdenv.lib.getLib cups else null; icu = icu.out; libXfixes = libXfixes.out; glibc = stdenv.cc.libc.out; diff --git a/pkgs/misc/cups/default.nix b/pkgs/misc/cups/default.nix index 51f518867abb..f47ba022c352 100644 --- a/pkgs/misc/cups/default.nix +++ b/pkgs/misc/cups/default.nix @@ -18,8 +18,7 @@ stdenv.mkDerivation rec { sha256 = "1xp4ji4rz3xffsz6w6nd60ajxvvihn02pkyp2l4smhqxbmyvp2gm"; }; - # FIXME: the cups libraries contains some $out/share strings so can't be split. - outputs = [ "out" "dev" "man" ]; # TODO: above + outputs = [ "out" "lib" "dev" "man" ]; buildInputs = [ pkgconfig zlib libjpeg libpng libtiff libusb gnutls libpaper ] ++ optionals stdenv.isLinux [ avahi pam dbus systemd acl ] @@ -30,6 +29,13 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ gmp ]; configureFlags = [ + # Put just lib/* and locale into $lib; this didn't work directly. + # lib/cups is moved back to $out in postInstall. + # Beware: some parts of cups probably don't fully respect these. + "--prefix=$(lib)" + "--datadir=$(out)/share" + "--localedir=$(lib)/share/locale" + "--localstatedir=/var" "--sysconfdir=/etc" "--with-systemd=\${out}/lib/systemd/system" @@ -68,6 +74,8 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; postInstall = '' + moveToOutput lib/cups "$out" + # Delete obsolete stuff that conflicts with cups-filters. rm -rf $out/share/cups/banners $out/share/cups/data/testprint diff --git a/pkgs/misc/cups/drivers/samsung/4.00.39/default.nix b/pkgs/misc/cups/drivers/samsung/4.00.39/default.nix index 0569eabe8f14..16b40798a5da 100644 --- a/pkgs/misc/cups/drivers/samsung/4.00.39/default.nix +++ b/pkgs/misc/cups/drivers/samsung/4.00.39/default.nix @@ -16,7 +16,7 @@ # Do not bump lightly! Visit <http://www.bchemnet.com/suldr/supported.html> # to see what will break when upgrading. Consider a new versioned attribute. let - cups' = cups.out; + cups' = stdenv.lib.getLib cups; in stdenv.mkDerivation rec { name = "samsung-UnifiedLinuxDriver-${version}"; version = "4.00.39"; diff --git a/pkgs/misc/cups/drivers/samsung/default.nix b/pkgs/misc/cups/drivers/samsung/default.nix index 8ef788df66fb..26bd771e023a 100644 --- a/pkgs/misc/cups/drivers/samsung/default.nix +++ b/pkgs/misc/cups/drivers/samsung/default.nix @@ -72,10 +72,10 @@ in stdenv.mkDerivation rec { for bin in $out/bin/*; do patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$bin" - patchelf --set-rpath "$out/lib:${cups.out}/lib" "$bin" + patchelf --set-rpath "$out/lib:${stdenv.lib.getLib cups}/lib" "$bin" done - patchelf --set-rpath "$out/lib:${cups.out}/lib" "$out/lib/libscmssc.so" + patchelf --set-rpath "$out/lib:${stdenv.lib.getLib cups}/lib" "$out/lib/libscmssc.so" ln -s ${stdenv.cc.cc.lib}/lib/libstdc++.so.6 $out/lib/ |