From 50fadc8b18fb3da6bda2f3710009a15f6ac45567 Mon Sep 17 00:00:00 2001 From: Vladimír Čunát Date: Sun, 12 Mar 2017 18:09:39 +0100 Subject: cups: split the $lib output This saves > 10 MB from most closures. Printing test succeeds on x86_64-linux. --- pkgs/misc/cups/default.nix | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'pkgs/misc/cups/default.nix') 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 -- cgit 1.4.1