diff --git a/pkgs/misc/cups/default.nix b/pkgs/misc/cups/default.nix index 373f3ca69522..80650cac346e 100644 --- a/pkgs/misc/cups/default.nix +++ b/pkgs/misc/cups/default.nix @@ -9,8 +9,23 @@ stdenv.mkDerivation { }; buildInputs = [zlib libjpeg libpng libtiff pam]; - + + preConfigure = " + configureFlags=\"--localstatedir=/var\" + "; + preBuild = " makeFlagsArray=(INITDIR=$out/etc/rc.d) "; + + # Awful hack: CUPS' `make install' wants to write in /var, but it + # can't. So redirect it with a BUILDROOT (=DESTDIR). + preInstall = " + installFlagsArray=(BUILDROOT=$out/destdir) + "; + + postInstall = " + mv $out/destdir/$out/* $out + rm -rf $out/destdir + "; }