about summary refs log tree commit diff
path: root/pkgs/misc/cups/default.nix
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2017-03-12 18:09:39 +0100
committerVladimír Čunát <vcunat@gmail.com>2017-03-12 18:36:30 +0100
commit50fadc8b18fb3da6bda2f3710009a15f6ac45567 (patch)
tree0989221d5ff841e488134b76758c2c7761ca6820 /pkgs/misc/cups/default.nix
parent2e4c5711a29ccf47bab1a16efc2743bf31b1874f (diff)
downloadnixlib-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.
Diffstat (limited to 'pkgs/misc/cups/default.nix')
-rw-r--r--pkgs/misc/cups/default.nix12
1 files changed, 10 insertions, 2 deletions
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