diff options
author | Michael Weiss <dev.primeos@gmail.com> | 2017-08-20 13:20:45 +0200 |
---|---|---|
committer | Nikolay Amiantov <ab@fmap.me> | 2017-08-29 05:25:12 +0400 |
commit | ea23f8bb079ef11c2d11859994d804c4e4940be5 (patch) | |
tree | eeddbd21ce9a0e4966550a532f606bc4894a2dbd /pkgs/misc | |
parent | ecea06ab2e771808817dd7e0d2287b3ad0709de2 (diff) | |
download | nixlib-ea23f8bb079ef11c2d11859994d804c4e4940be5.tar nixlib-ea23f8bb079ef11c2d11859994d804c4e4940be5.tar.gz nixlib-ea23f8bb079ef11c2d11859994d804c4e4940be5.tar.bz2 nixlib-ea23f8bb079ef11c2d11859994d804c4e4940be5.tar.lz nixlib-ea23f8bb079ef11c2d11859994d804c4e4940be5.tar.xz nixlib-ea23f8bb079ef11c2d11859994d804c4e4940be5.tar.zst nixlib-ea23f8bb079ef11c2d11859994d804c4e4940be5.zip |
cups service: Automatically detect Gutenprint in drivers
Additional CUPS drivers can be added via "services.printing.drivers" but Gutenprint was an exception. It was possible to add a Gutenprint derivation to that list and it would work at first but unlike the other drivers Gutenprint requires a script to be run after each update or any attempt to print something would simply fail and an error would show up in the jobs queue (http://localhost:631/jobs/): "The PPD version (5.2.11) is not compatible with Gutenprint 5.2.13. Please run `/nix/store/7762kpyhfkcgmr3q81v1bbyy0bjhym80-gutenprint-5.2.13/sbin/cups-genppdupdate' as administrator." This is due to state in "/var/lib/cups/ppd" and one would need to run "/nix/store/.../bin/cups-genppdupdate -p /var/lib/cups/ppd" manually. The alternative was to enable the following option: "services.printing.gutenprint" but this had two disadvantages: 1) It is an exception that one could be unaware of or that could potentially cause some confusion. 2) One couldn't use a customized Gutenprint derivation in "services.printing.drivers" but would instead have to overwrite "pkgs.gutenprint". This new approach simply detects a Gutenprint derivation in "services.printing.gutenprint" by checking if the meta set of a derivation contains "isGutenprint = true". Therefore no special exception for Gutenprint would be required and it could easily be applied to other drivers if they would require such a script to be run.
Diffstat (limited to 'pkgs/misc')
-rw-r--r-- | pkgs/misc/drivers/gutenprint/default.nix | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/pkgs/misc/drivers/gutenprint/default.nix b/pkgs/misc/drivers/gutenprint/default.nix index 0bd40721c4ed..7917d1e36160 100644 --- a/pkgs/misc/drivers/gutenprint/default.nix +++ b/pkgs/misc/drivers/gutenprint/default.nix @@ -47,5 +47,6 @@ stdenv.mkDerivation rec { homepage = https://sourceforge.net/projects/gimp-print/; license = licenses.gpl2; platforms = platforms.linux; + isGutenprint = true; }; } |