Beginning with commit 8ffd6af27e,
the build recipe for `hplipWithPlugin` explicitely drops a
udev rule file that is delivered with the sources.
In `hplip` (without plugin), the rule file is retained.
The udev rules takes care of uploading firmware
to certain printers (and maybe of other things),
e.g. to HP LaserJet 1000.
This commit reinstates the rule file and
expands the fixup script so that the rules
are also patched in the WithPlugin version.
hplip's udev rule uses `nohup` to attempt to detach
its printer configuration script from the udev process.
However, this attempt is futile as udev
tracks its child processes with cgroups:
https://unix.stackexchange.com/a/243648
The hardcoded path to `nohup` was patched to use Nix' `nohup`.
This commit alters the patch script so
that it simply drops the call to `nohup`.
Also fixes multiples issues:
- broken plugins:
- `fax_marvell.so file is not present or symbolic link is missing`
- `lj.so library file doesn't have user/group execute permission.`
- `bb_escl.so file is not present or symbolic link is missing`
- multiple error during configuration phase which prevented `*.ppd`
generation:
- `ppdc: Unable to find include file "<font.defs>"`
- patched configure time `perl` script
- patched use of `file`
- some potentially problematic filter and services:
- patched reference to ghost script and fonts dir in filter.
- patched usb configuration service.
- patch scripts so that they refer to valid location.
Add some options:
- `withStaticPPDInstall`: Install `*.ppd` files along with `*.drv`.
When true, configure outputs: `checking for cups ppd install... yes`.
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.
* 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
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.