Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/gutenprint/versions.
These checks were done:
- built on NixOS
- ran ‘/nix/store/8pdjcfv46m5w8ifh68mvajwkn3vjwal1-gutenprint-5.2.14/bin/escputil -h’ got 0 exit code
- ran ‘/nix/store/8pdjcfv46m5w8ifh68mvajwkn3vjwal1-gutenprint-5.2.14/bin/escputil --help’ got 0 exit code
- ran ‘/nix/store/8pdjcfv46m5w8ifh68mvajwkn3vjwal1-gutenprint-5.2.14/bin/testpattern -h’ got 0 exit code
- ran ‘/nix/store/8pdjcfv46m5w8ifh68mvajwkn3vjwal1-gutenprint-5.2.14/bin/testpattern --help’ got 0 exit code
- ran ‘/nix/store/8pdjcfv46m5w8ifh68mvajwkn3vjwal1-gutenprint-5.2.14/bin/testpattern help’ got 0 exit code
- ran ‘/nix/store/8pdjcfv46m5w8ifh68mvajwkn3vjwal1-gutenprint-5.2.14/bin/cups-genppd.5.2 -h’ got 0 exit code
- ran ‘/nix/store/8pdjcfv46m5w8ifh68mvajwkn3vjwal1-gutenprint-5.2.14/bin/cups-genppd.5.2 help’ got 0 exit code
- ran ‘/nix/store/8pdjcfv46m5w8ifh68mvajwkn3vjwal1-gutenprint-5.2.14/bin/cups-genppdupdate -h’ got 0 exit code
- ran ‘/nix/store/8pdjcfv46m5w8ifh68mvajwkn3vjwal1-gutenprint-5.2.14/bin/cups-genppdupdate --help’ got 0 exit code
- ran ‘/nix/store/8pdjcfv46m5w8ifh68mvajwkn3vjwal1-gutenprint-5.2.14/bin/cups-genppdupdate help’ got 0 exit code
- found 5.2.14 with grep in /nix/store/8pdjcfv46m5w8ifh68mvajwkn3vjwal1-gutenprint-5.2.14
- directory tree listing: https://gist.github.com/6d652f72cb774ccd13cc489d708ad63d
Semi-automatic update. These checks were performed:
- built on NixOS
- ran `/nix/store/yjhdx3zx9zivz9x2wl2z0c5kqv8b5hkv-sc-controller-0.4.0.2/bin/sc-controller -h` got 0 exit code
- ran `/nix/store/yjhdx3zx9zivz9x2wl2z0c5kqv8b5hkv-sc-controller-0.4.0.2/bin/sc-controller --help` got 0 exit code
- ran `/nix/store/yjhdx3zx9zivz9x2wl2z0c5kqv8b5hkv-sc-controller-0.4.0.2/bin/sc-controller -V` and found version 0.4.0.2
- ran `/nix/store/yjhdx3zx9zivz9x2wl2z0c5kqv8b5hkv-sc-controller-0.4.0.2/bin/sc-controller --version` and found version 0.4.0.2
- ran `/nix/store/yjhdx3zx9zivz9x2wl2z0c5kqv8b5hkv-sc-controller-0.4.0.2/bin/scc -h` got 0 exit code
- ran `/nix/store/yjhdx3zx9zivz9x2wl2z0c5kqv8b5hkv-sc-controller-0.4.0.2/bin/scc --help` got 0 exit code
- ran `/nix/store/yjhdx3zx9zivz9x2wl2z0c5kqv8b5hkv-sc-controller-0.4.0.2/bin/scc help` got 0 exit code
- ran `/nix/store/yjhdx3zx9zivz9x2wl2z0c5kqv8b5hkv-sc-controller-0.4.0.2/bin/scc -V` and found version 0.4.0.2
- ran `/nix/store/yjhdx3zx9zivz9x2wl2z0c5kqv8b5hkv-sc-controller-0.4.0.2/bin/scc --version` and found version 0.4.0.2
- ran `/nix/store/yjhdx3zx9zivz9x2wl2z0c5kqv8b5hkv-sc-controller-0.4.0.2/bin/scc version` and found version 0.4.0.2
- ran `/nix/store/yjhdx3zx9zivz9x2wl2z0c5kqv8b5hkv-sc-controller-0.4.0.2/bin/scc -h` and found version 0.4.0.2
- ran `/nix/store/yjhdx3zx9zivz9x2wl2z0c5kqv8b5hkv-sc-controller-0.4.0.2/bin/scc --help` and found version 0.4.0.2
- ran `/nix/store/yjhdx3zx9zivz9x2wl2z0c5kqv8b5hkv-sc-controller-0.4.0.2/bin/scc help` and found version 0.4.0.2
- ran `/nix/store/yjhdx3zx9zivz9x2wl2z0c5kqv8b5hkv-sc-controller-0.4.0.2/bin/scc-daemon -h` got 0 exit code
- ran `/nix/store/yjhdx3zx9zivz9x2wl2z0c5kqv8b5hkv-sc-controller-0.4.0.2/bin/scc-daemon --help` got 0 exit code
- ran `/nix/store/yjhdx3zx9zivz9x2wl2z0c5kqv8b5hkv-sc-controller-0.4.0.2/bin/..scc-wrapped-wrapped -h` got 0 exit code
- ran `/nix/store/yjhdx3zx9zivz9x2wl2z0c5kqv8b5hkv-sc-controller-0.4.0.2/bin/..scc-wrapped-wrapped --help` got 0 exit code
- ran `/nix/store/yjhdx3zx9zivz9x2wl2z0c5kqv8b5hkv-sc-controller-0.4.0.2/bin/..scc-wrapped-wrapped help` got 0 exit code
- ran `/nix/store/yjhdx3zx9zivz9x2wl2z0c5kqv8b5hkv-sc-controller-0.4.0.2/bin/..scc-wrapped-wrapped -V` and found version 0.4.0.2
- ran `/nix/store/yjhdx3zx9zivz9x2wl2z0c5kqv8b5hkv-sc-controller-0.4.0.2/bin/..scc-wrapped-wrapped --version` and found version 0.4.0.2
- ran `/nix/store/yjhdx3zx9zivz9x2wl2z0c5kqv8b5hkv-sc-controller-0.4.0.2/bin/..scc-wrapped-wrapped version` and found version 0.4.0.2
- ran `/nix/store/yjhdx3zx9zivz9x2wl2z0c5kqv8b5hkv-sc-controller-0.4.0.2/bin/..scc-wrapped-wrapped -h` and found version 0.4.0.2
- ran `/nix/store/yjhdx3zx9zivz9x2wl2z0c5kqv8b5hkv-sc-controller-0.4.0.2/bin/..scc-wrapped-wrapped --help` and found version 0.4.0.2
- ran `/nix/store/yjhdx3zx9zivz9x2wl2z0c5kqv8b5hkv-sc-controller-0.4.0.2/bin/..scc-wrapped-wrapped help` and found version 0.4.0.2
- ran `/nix/store/yjhdx3zx9zivz9x2wl2z0c5kqv8b5hkv-sc-controller-0.4.0.2/bin/.scc-wrapped -h` got 0 exit code
- ran `/nix/store/yjhdx3zx9zivz9x2wl2z0c5kqv8b5hkv-sc-controller-0.4.0.2/bin/.scc-wrapped --help` got 0 exit code
- ran `/nix/store/yjhdx3zx9zivz9x2wl2z0c5kqv8b5hkv-sc-controller-0.4.0.2/bin/.scc-wrapped help` got 0 exit code
- ran `/nix/store/yjhdx3zx9zivz9x2wl2z0c5kqv8b5hkv-sc-controller-0.4.0.2/bin/.scc-wrapped -V` and found version 0.4.0.2
- ran `/nix/store/yjhdx3zx9zivz9x2wl2z0c5kqv8b5hkv-sc-controller-0.4.0.2/bin/.scc-wrapped --version` and found version 0.4.0.2
- ran `/nix/store/yjhdx3zx9zivz9x2wl2z0c5kqv8b5hkv-sc-controller-0.4.0.2/bin/.scc-wrapped version` and found version 0.4.0.2
- ran `/nix/store/yjhdx3zx9zivz9x2wl2z0c5kqv8b5hkv-sc-controller-0.4.0.2/bin/.scc-wrapped -h` and found version 0.4.0.2
- ran `/nix/store/yjhdx3zx9zivz9x2wl2z0c5kqv8b5hkv-sc-controller-0.4.0.2/bin/.scc-wrapped --help` and found version 0.4.0.2
- ran `/nix/store/yjhdx3zx9zivz9x2wl2z0c5kqv8b5hkv-sc-controller-0.4.0.2/bin/.scc-wrapped help` and found version 0.4.0.2
- found 0.4.0.2 with grep in /nix/store/yjhdx3zx9zivz9x2wl2z0c5kqv8b5hkv-sc-controller-0.4.0.2
cc "@orivej"
They aren't meant to be critical (uncatchable) errors.
Tested with nix-env + checkMeta:
[ "x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-linux" ]
We cannot rely on wrapPythonPrograms to wrap the installed executables because
they are symlinks (which it ignores). Instead, we have to emulate it to make
the wrappers ourselves.
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.
* pkgs: refactor needless quoting of homepage meta attribute
A lot of packages are needlessly quoting the homepage meta attribute
(about 1400, 22%), this commit refactors all of those instances.
* pkgs: Fixing some links that were wrongfully unquoted in the previous
commit
* Fixed some instances
* hplip: introduce nettools dependency
Some HP printers (notably a HP MFP M477fnw) need to run `hostname` as part of
the printing process. This executable is provided by the "nettools" package.
* hplip: prepend nettools to PATH
Rework gutenprint derivation:
* Convert to regular stdenv.mkDerivation;
* Enable IJS driver;
* Fix cups-genppdupdate;
* Move things around to the proper directories;
* Enable parallel building;
* Clean from old hacks.
The most complex problems were from dealing with switches reverted in
the meantime (gcc5, gmp6, ncurses6).
It's likely that darwin is (still) broken nontrivially.
- systemd puts all into one output now (except for man),
because I wasn't able to fix all systemd/udev refernces
for NixOS to work well
- libudev is now by default *copied* into another path,
which is what most packages will use as build input :-)
- pkgs.udev = [ libudev.out libudev.dev ]; because there are too many
references that just put `udev` into build inputs (to rewrite them all),
also this made "${udev}/foo" fail at *evaluation* time
so it's easier to catch and change to something more specific
A full wrap isn't needed as these scripts are only run from within
hplip's own environment, and unwanted because they are imported
as Python modules.
Also fix a reference to /etc in $out/etc/hp/hplip.conf, though I've no
idea whether it is actually used.
Something changed in the generic fixupPhase magic exposing a bug
in the previous fix (wrapPythonPrograms where I should have used
wrapPythonProgramsIn).
Also move buildInputs and friends to a more conventional spot.
None of the installed tools like hp-align or hp-toolbox could
work, because they tried to import wrapped Python scripts (i.e.
shell code) as Python modules. Fix this by:
- Substituting `dbus` for the defective `pythonDBus`.
- No longer blindly wrapping all python files, but replacing
the original symlinks in $out/bin with wrapper scripts.
These wrappers then `exec` the unmodified Python scripts in
$out/share/hplip directly, instead of the .<name>-wrapped
copy that wrapPythonProgramsIn creates. The latter are simply
removed.
Sure, it's a bit ugly. It's also 2015 and I couldn't use my
printer :-/
This reverts commit 1b064645ed, reversing
changes made to 14cef95e84.
As discussed in the comments to the aforementioned pull request, while
the new version supports many new printer models, many components of the
driver are broken because of some corner cases in the Python wrapper. In
particular, the loader for the binary binary driver needed by many
middle- and high-end printers is broken, negating most of the value in
updating!
This is used to generate ppd files for cups:
$ cups-genppd.5.2 -M | grep p50
canon-cp500
escp2-p50
$ cups-genppd.5.2 -p . escp2-p50
This will create the relevant ppd file in the current directory. This
can then be used by cups after setting services.drivers.drivers =
[pkgs.gutenprint]; and configuring the printer to use this ppd e.g.
via the web interface on http://localhost:631