mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-22 13:41:26 +00:00
hplip: 3.18.3 -> 3.18.5
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`.
This commit is contained in:
parent
dfa2895181
commit
4ca2daae8f
|
@ -1,26 +1,28 @@
|
||||||
{ stdenv, fetchurl, substituteAll
|
{ stdenv, fetchurl, substituteAll
|
||||||
, pkgconfig
|
, pkgconfig
|
||||||
, makeWrapper
|
, makeWrapper
|
||||||
, cups, zlib, libjpeg, libusb1, pythonPackages, sane-backends, dbus, usbutils
|
, cups, zlib, libjpeg, libusb1, pythonPackages, sane-backends
|
||||||
, net_snmp, openssl, polkit, nettools
|
, dbus, file, ghostscript, usbutils
|
||||||
|
, net_snmp, openssl, perl, polkit, nettools
|
||||||
, bash, coreutils, utillinux
|
, bash, coreutils, utillinux
|
||||||
, withQt5 ? true
|
, withQt5 ? true
|
||||||
, withPlugin ? false
|
, withPlugin ? false
|
||||||
|
, withStaticPPDInstall ? false
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
name = "hplip-${version}";
|
name = "hplip-${version}";
|
||||||
version = "3.18.3";
|
version = "3.18.5";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/hplip/${name}.tar.gz";
|
url = "mirror://sourceforge/hplip/${name}.tar.gz";
|
||||||
sha256 = "0x5xs86v18w46rxz5whc15bl4fb7p4km6xqjpwzclp83nl7rl01y";
|
sha256 = "0xb7ga2wgbwjxsss67mjn2y6fmqsfwzmv11ivvfzhnl36lh22hkb";
|
||||||
};
|
};
|
||||||
|
|
||||||
plugin = fetchurl {
|
plugin = fetchurl {
|
||||||
url = "https://www.openprinting.org/download/printdriver/auxfiles/HP/plugins/${name}-plugin.run";
|
url = "https://www.openprinting.org/download/printdriver/auxfiles/HP/plugins/${name}-plugin.run";
|
||||||
sha256 = "11nc3cifhd2h2c7p0dr2jjzrg3fd5j43ih1wy0m186l6wcgdjssw";
|
sha256 = "1jf74jya071zqvwhy9n0c3007pzgcxydkw7qdh4sx70brly81i7p";
|
||||||
};
|
};
|
||||||
|
|
||||||
hplipState = substituteAll {
|
hplipState = substituteAll {
|
||||||
|
@ -55,8 +57,11 @@ pythonPackages.buildPythonApplication {
|
||||||
libusb1
|
libusb1
|
||||||
sane-backends
|
sane-backends
|
||||||
dbus
|
dbus
|
||||||
|
file
|
||||||
|
ghostscript
|
||||||
net_snmp
|
net_snmp
|
||||||
openssl
|
openssl
|
||||||
|
perl
|
||||||
zlib
|
zlib
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -86,6 +91,11 @@ pythonPackages.buildPythonApplication {
|
||||||
-e s,/usr/share/hal/fdi/preprobe/10osvendor,$out/share/hal/fdi/preprobe/10osvendor,g \
|
-e s,/usr/share/hal/fdi/preprobe/10osvendor,$out/share/hal/fdi/preprobe/10osvendor,g \
|
||||||
-e s,/usr/lib/systemd/system,$out/lib/systemd/system,g \
|
-e s,/usr/lib/systemd/system,$out/lib/systemd/system,g \
|
||||||
-e s,/var/lib/hp,$out/var/lib/hp,g \
|
-e s,/var/lib/hp,$out/var/lib/hp,g \
|
||||||
|
-e s,/usr/bin/perl,${perl}/bin/perl,g \
|
||||||
|
-e s,/usr/bin/file,${file}/bin/file,g \
|
||||||
|
-e s,/usr/bin/gs,${ghostscript}/bin/gs,g \
|
||||||
|
-e s,/usr/share/cups/fonts,${ghostscript}/share/ghostscript/fonts,g \
|
||||||
|
-e "s,ExecStart=/usr/bin/python /usr/bin/hp-config_usb_printer,ExecStart=$out/bin/hp-config_usb_printer,g" \
|
||||||
{} +
|
{} +
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
@ -98,6 +108,7 @@ pythonPackages.buildPythonApplication {
|
||||||
--with-systraydir=$out/xdg/autostart
|
--with-systraydir=$out/xdg/autostart
|
||||||
--with-mimedir=$out/etc/cups
|
--with-mimedir=$out/etc/cups
|
||||||
--enable-policykit
|
--enable-policykit
|
||||||
|
${stdenv.lib.optionalString withStaticPPDInstall "--enable-cups-ppd-install"}
|
||||||
--disable-qt4
|
--disable-qt4
|
||||||
${stdenv.lib.optionalString withQt5 "--enable-qt5"}
|
${stdenv.lib.optionalString withQt5 "--enable-qt5"}
|
||||||
"
|
"
|
||||||
|
@ -111,10 +122,20 @@ pythonPackages.buildPythonApplication {
|
||||||
hplip_confdir=$out/etc/hp
|
hplip_confdir=$out/etc/hp
|
||||||
hplip_statedir=$out/var/lib/hp
|
hplip_statedir=$out/var/lib/hp
|
||||||
"
|
"
|
||||||
|
|
||||||
|
# Prevent 'ppdc: Unable to find include file "<font.defs>"' which prevent
|
||||||
|
# generation of '*.ppd' files.
|
||||||
|
# This seems to be a 'ppdc' issue when the tool is run in a hermetic sandbox.
|
||||||
|
# Could not find how to fix the problem in 'ppdc' so this is a workaround.
|
||||||
|
export CUPS_DATADIR="${cups}/share/cups"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Running `hp-diagnose_plugin -g` can be used to diagnose
|
||||||
|
# issues with plugins.
|
||||||
|
#
|
||||||
postInstall = stdenv.lib.optionalString withPlugin ''
|
postInstall = stdenv.lib.optionalString withPlugin ''
|
||||||
sh ${plugin} --noexec --keep
|
sh ${plugin} --noexec --keep
|
||||||
cd plugin_tmp
|
cd plugin_tmp
|
||||||
|
@ -130,17 +151,27 @@ pythonPackages.buildPythonApplication {
|
||||||
mkdir -p $out/share/hplip/prnt/plugins
|
mkdir -p $out/share/hplip/prnt/plugins
|
||||||
for plugin in lj hbpl1; do
|
for plugin in lj hbpl1; do
|
||||||
cp $plugin-${hplipArch}.so $out/share/hplip/prnt/plugins
|
cp $plugin-${hplipArch}.so $out/share/hplip/prnt/plugins
|
||||||
|
chmod 0755 $out/share/hplip/prnt/plugins/$plugin-${hplipArch}.so
|
||||||
ln -s $out/share/hplip/prnt/plugins/$plugin-${hplipArch}.so \
|
ln -s $out/share/hplip/prnt/plugins/$plugin-${hplipArch}.so \
|
||||||
$out/share/hplip/prnt/plugins/$plugin.so
|
$out/share/hplip/prnt/plugins/$plugin.so
|
||||||
done
|
done
|
||||||
|
|
||||||
mkdir -p $out/share/hplip/scan/plugins
|
mkdir -p $out/share/hplip/scan/plugins
|
||||||
for plugin in bb_soap bb_marvell bb_soapht fax_marvell; do
|
for plugin in bb_soap bb_marvell bb_soapht bb_escl; do
|
||||||
cp $plugin-${hplipArch}.so $out/share/hplip/scan/plugins
|
cp $plugin-${hplipArch}.so $out/share/hplip/scan/plugins
|
||||||
|
chmod 0755 $out/share/hplip/scan/plugins/$plugin-${hplipArch}.so
|
||||||
ln -s $out/share/hplip/scan/plugins/$plugin-${hplipArch}.so \
|
ln -s $out/share/hplip/scan/plugins/$plugin-${hplipArch}.so \
|
||||||
$out/share/hplip/scan/plugins/$plugin.so
|
$out/share/hplip/scan/plugins/$plugin.so
|
||||||
done
|
done
|
||||||
|
|
||||||
|
mkdir -p $out/share/hplip/fax/plugins
|
||||||
|
for plugin in fax_marvell; do
|
||||||
|
cp $plugin-${hplipArch}.so $out/share/hplip/fax/plugins
|
||||||
|
chmod 0755 $out/share/hplip/fax/plugins/$plugin-${hplipArch}.so
|
||||||
|
ln -s $out/share/hplip/fax/plugins/$plugin-${hplipArch}.so \
|
||||||
|
$out/share/hplip/fax/plugins/$plugin.so
|
||||||
|
done
|
||||||
|
|
||||||
mkdir -p $out/var/lib/hp
|
mkdir -p $out/var/lib/hp
|
||||||
cp ${hplipState} $out/var/lib/hp/hplip.state
|
cp ${hplipState} $out/var/lib/hp/hplip.state
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue