Merge pull request #179871 from avdv/hplip-update-3.22.6
hplip: 3.21.12 -> 3.22.6
This commit is contained in:
commit
f8e92d67b8
|
@ -1,5 +1,5 @@
|
||||||
{ lib, stdenv, fetchurl, substituteAll
|
{ lib, stdenv, fetchurl, substituteAll
|
||||||
, pkg-config
|
, pkg-config, autoreconfHook
|
||||||
, cups, zlib, libjpeg, libusb1, python3Packages, sane-backends
|
, cups, zlib, libjpeg, libusb1, python3Packages, sane-backends
|
||||||
, dbus, file, ghostscript, usbutils
|
, dbus, file, ghostscript, usbutils
|
||||||
, net-snmp, openssl, perl, nettools, avahi
|
, net-snmp, openssl, perl, nettools, avahi
|
||||||
|
@ -14,16 +14,16 @@
|
||||||
let
|
let
|
||||||
|
|
||||||
pname = "hplip";
|
pname = "hplip";
|
||||||
version = "3.21.12";
|
version = "3.22.6";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/hplip/${pname}-${version}.tar.gz";
|
url = "mirror://sourceforge/hplip/${pname}-${version}.tar.gz";
|
||||||
sha256 = "sha256-fvRSPvgbztcVFeHIhA72xoxgJjjBWebdmpJpHO7GT5w=";
|
sha256 = "sha256-J+0NSS/rsLR8ZWI0gg085XOyT/W2Ljv0ssR/goaNa7Q=";
|
||||||
};
|
};
|
||||||
|
|
||||||
plugin = fetchurl {
|
plugin = fetchurl {
|
||||||
url = "https://developers.hp.com/sites/default/files/${pname}-${version}-plugin.run";
|
url = "https://developers.hp.com/sites/default/files/${pname}-${version}-plugin.run";
|
||||||
sha256 = "sha256-eyYNhuff8mM4IpRfn/fLBjQJ23JrTdsHBQ/EH7Ug0gw=";
|
sha256 = "sha256-MSQCPnSXVLrXS1nPIIvlUx0xshbyU0OlpfLOghZMgvs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
hplipState = substituteAll {
|
hplipState = substituteAll {
|
||||||
|
@ -71,6 +71,7 @@ python3Packages.buildPythonApplication {
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
pkg-config
|
pkg-config
|
||||||
removeReferencesTo
|
removeReferencesTo
|
||||||
|
autoreconfHook
|
||||||
] ++ lib.optional withQt5 qt5.wrapQtAppsHook;
|
] ++ lib.optional withQt5 qt5.wrapQtAppsHook;
|
||||||
|
|
||||||
pythonPath = with python3Packages; [
|
pythonPath = with python3Packages; [
|
||||||
|
@ -96,6 +97,15 @@ python3Packages.buildPythonApplication {
|
||||||
# don't on NixOS). Add the equivalent NixOS path, /var/lib/cups/path/share.
|
# don't on NixOS). Add the equivalent NixOS path, /var/lib/cups/path/share.
|
||||||
# See: https://github.com/NixOS/nixpkgs/issues/21796
|
# See: https://github.com/NixOS/nixpkgs/issues/21796
|
||||||
./hplip-3.20.11-nixos-cups-ppd-search-path.patch
|
./hplip-3.20.11-nixos-cups-ppd-search-path.patch
|
||||||
|
|
||||||
|
# Remove all ImageProcessor functionality since that is closed source
|
||||||
|
(fetchurl {
|
||||||
|
url = "https://sources.debian.org/data/main/h/hplip/3.22.4%2Bdfsg0-1/debian/patches/0028-Remove-ImageProcessor-binary-installs.patch";
|
||||||
|
sha256 = "sha256:18njrq5wrf3fi4lnpd1jqmaqr7ph5d7jxm7f15b1wwrbxir1rmml";
|
||||||
|
})
|
||||||
|
|
||||||
|
# Revert changes that break compilation under -Werror=format-security
|
||||||
|
./revert-snprintf-change.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
@ -118,6 +128,8 @@ python3Packages.buildPythonApplication {
|
||||||
-e s,/usr/share/cups/fonts,${ghostscript}/share/ghostscript/fonts,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" \
|
-e "s,ExecStart=/usr/bin/python /usr/bin/hp-config_usb_printer,ExecStart=$out/bin/hp-config_usb_printer,g" \
|
||||||
{} +
|
{} +
|
||||||
|
|
||||||
|
echo 'AUTOMAKE_OPTIONS = foreign' >> Makefile.am
|
||||||
'';
|
'';
|
||||||
|
|
||||||
configureFlags = let out = placeholder "out"; in
|
configureFlags = let out = placeholder "out"; in
|
||||||
|
|
61
pkgs/misc/drivers/hplip/revert-snprintf-change.patch
Normal file
61
pkgs/misc/drivers/hplip/revert-snprintf-change.patch
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
commit f103a260215016fc035bc1399c8accabf83b0264
|
||||||
|
Author: Claudio Bley <claudio.bley@gmail.com>
|
||||||
|
Date: Fri Jul 1 22:29:05 2022 +0200
|
||||||
|
|
||||||
|
Revert change to hp_ipp.c from 3.22.{4 -> 6}
|
||||||
|
|
||||||
|
This fails compilation:
|
||||||
|
```
|
||||||
|
protocol/hp_ipp.c: In function ‘addCupsPrinter’:
|
||||||
|
protocol/hp_ipp.c:113:9: error: format not a string literal and no format arguments [-Werror=format-security]
|
||||||
|
113 | snprintf( info,sizeof(info), name );
|
||||||
|
| ^~~~~~~~
|
||||||
|
```
|
||||||
|
|
||||||
|
diff --git a/protocol/hp_ipp.c b/protocol/hp_ipp.c
|
||||||
|
index 97d827d..af7013b 100644
|
||||||
|
--- a/protocol/hp_ipp.c
|
||||||
|
+++ b/protocol/hp_ipp.c
|
||||||
|
@@ -110,7 +110,7 @@ int addCupsPrinter(char *name, char *device_uri, char *location, char *ppd_file,
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( info == NULL )
|
||||||
|
- snprintf( info,sizeof(info), name );
|
||||||
|
+ strcpy( info, name );
|
||||||
|
|
||||||
|
sprintf( printer_uri, "ipp://localhost/printers/%s", name );
|
||||||
|
|
||||||
|
@@ -511,27 +511,27 @@ int __parsePrinterAttributes(ipp_t *response, printer_t **printer_list)
|
||||||
|
|
||||||
|
if ( strcmp(attr_name, "printer-name") == 0 &&
|
||||||
|
val_tag == IPP_TAG_NAME ) {
|
||||||
|
- snprintf(t_printer->name, sizeof(t_printer->name),ippGetString(attr, 0, NULL) );
|
||||||
|
+ strcpy(t_printer->name, ippGetString(attr, 0, NULL) );
|
||||||
|
}
|
||||||
|
else if ( strcmp(attr_name, "device-uri") == 0 &&
|
||||||
|
val_tag == IPP_TAG_URI ) {
|
||||||
|
- snprintf(t_printer->device_uri,sizeof(t_printer->device_uri), ippGetString(attr, 0, NULL) );
|
||||||
|
+ strcpy(t_printer->device_uri, ippGetString(attr, 0, NULL) );
|
||||||
|
}
|
||||||
|
else if ( strcmp(attr_name, "printer-uri-supported") == 0 &&
|
||||||
|
val_tag == IPP_TAG_URI ) {
|
||||||
|
- snprintf(t_printer->printer_uri,sizeof(t_printer->printer_uri), ippGetString(attr, 0, NULL) );
|
||||||
|
+ strcpy(t_printer->printer_uri, ippGetString(attr, 0, NULL) );
|
||||||
|
}
|
||||||
|
else if ( strcmp(attr_name, "printer-info") == 0 &&
|
||||||
|
val_tag == IPP_TAG_TEXT ) {
|
||||||
|
- snprintf(t_printer->info,sizeof(t_printer->info), ippGetString(attr, 0, NULL) );
|
||||||
|
+ strcpy(t_printer->info, ippGetString(attr, 0, NULL) );
|
||||||
|
}
|
||||||
|
else if ( strcmp(attr_name, "printer-location") == 0 &&
|
||||||
|
val_tag == IPP_TAG_TEXT ) {
|
||||||
|
- snprintf(t_printer->location,sizeof(t_printer->location),ippGetString(attr, 0, NULL) );
|
||||||
|
+ strcpy(t_printer->location, ippGetString(attr, 0, NULL) );
|
||||||
|
}
|
||||||
|
else if ( strcmp(attr_name, "printer-make-and-model") == 0 &&
|
||||||
|
val_tag == IPP_TAG_TEXT ) {
|
||||||
|
- snprintf(t_printer->make_model,sizeof(t_printer->make_model),ippGetString(attr, 0, NULL) );
|
||||||
|
+ strcpy(t_printer->make_model, ippGetString(attr, 0, NULL) );
|
||||||
|
}
|
||||||
|
else if ( strcmp(attr_name, "printer-state") == 0 &&
|
||||||
|
val_tag == IPP_TAG_ENUM ) {
|
Loading…
Reference in a new issue