about summary refs log tree commit diff
path: root/pkgs/misc/cups/default.nix
diff options
context:
space:
mode:
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