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.
- Now simply let the default `unpackPhase` unzip the vsix file. This
should allow users to retrieve the extension directly from github.
- Extensions now installed using their unique id as install folder.
- Extensions under `vscode-extensions` now use the unique id
as extension name.
In ab70693 @viric says zsnes works better without stripping. But the
build expression kept the $STRIP in the compiler options, so if it is
set to something it will show up in there. For example:
g++ -pipe -I. -I/usr/local/include -I/usr/include -D__UNIXSDL__ -I/nix/store/04qgmdpmalgsy92zgs2z896jx073hcn2-SDL-1.2.15-dev/include/SDL -I/nix/store/04qgmdpmalgsy92zgs2z896jx073hcn2-SDL-1.2.15-dev/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -DNCURSES -D__OPENGL__ -march=native -O3 -fomit-frame-pointer -fprefetch-loop-arrays -fforce-addr strip -D__RELEASE__ -fno-rtti -o tools/fileutil.o -c tools/fileutil.cpp
g++: error: strip: No such file or directory
This commit removes that reference to $STRIP too.