summaryrefslogtreecommitdiff
path: root/libre/hplip-libre
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@endefensadelsl.org>2014-02-17 17:07:32 -0300
committerNicolás Reynolds <fauno@endefensadelsl.org>2014-02-17 17:07:32 -0300
commit87b9cca463a1dbf2b5026c9dc770b5591b2d3fdc (patch)
treee3d31e01c79dc0e68742716887ed07c5f6a1015e /libre/hplip-libre
parentc09bfc90e874607edab8e77d50d9aa15ea145b53 (diff)
parent35e9f8bc93db9e691bf6d00950956ca3e5d86e83 (diff)
Merge branch 'master' of gparabola:abslibre/abslibre-pre-mips64el
Conflicts: community/acpi/PKGBUILD community/alure/PKGBUILD community/ario/PKGBUILD community/cantata/PKGBUILD community/cgit/PKGBUILD community/chntpw/PKGBUILD community/clamz/PKGBUILD community/deadbeef/PKGBUILD community/dunst/PKGBUILD community/erlang/PKGBUILD community/ettercap/PKGBUILD community/fcitx-mozc/PKGBUILD community/gnome-commander/PKGBUILD community/gq/PKGBUILD community/gtkimageview/PKGBUILD community/i3status/PKGBUILD community/iasl/PKGBUILD community/krename/PKGBUILD community/libesmtp/PKGBUILD community/liblinebreak/PKGBUILD community/libmilter/PKGBUILD community/libpaper/PKGBUILD community/libvirt/PKGBUILD community/libx86emu/PKGBUILD community/libxdg-basedir/PKGBUILD community/lightdm-gtk2-greeter/PKGBUILD community/lightdm-gtk3-greeter/PKGBUILD community/lightdm/PKGBUILD community/luakit/PKGBUILD community/lxtask/PKGBUILD community/marisa/PKGBUILD community/megaglest/PKGBUILD community/mumble/PKGBUILD community/opencolorio/PKGBUILD community/openssh-askpass/PKGBUILD community/pdf2svg/PKGBUILD community/pidgin-toobars/PKGBUILD community/powerdns/PKGBUILD community/python-numexpr/PKGBUILD community/python-pybox2d/PKGBUILD community/python-pytables/PKGBUILD community/python2-imaging/PKGBUILD community/python2-pybluez/PKGBUILD community/remmina/PKGBUILD community/ruby-gtk2/PKGBUILD community/ruby-iconv/PKGBUILD community/scummvm-tools/PKGBUILD community/shapelib/PKGBUILD community/sshfs/PKGBUILD community/subtle/PKGBUILD community/teeworlds/PKGBUILD community/uget/PKGBUILD community/wireshark/PKGBUILD community/wxcam/PKGBUILD community/wxgtk2.9/PKGBUILD community/xchm/PKGBUILD community/xdelta3/PKGBUILD community/zynaddsubfx/PKGBUILD core/gcc/PKGBUILD core/gcc/gcc_mips64el_lib.patch core/gdbm/PKGBUILD core/ldns/PKGBUILD core/pth/PKGBUILD core/systemd/PKGBUILD core/wireless_tools/PKGBUILD elementary/gtk-engine-equinox/PKGBUILD elementary/postler/PKGBUILD elementary/vala-010/PKGBUILD extra/aubio/PKGBUILD extra/audacity/PKGBUILD extra/bc/PKGBUILD extra/cagibi/PKGBUILD extra/calligra/PKGBUILD extra/chmlib/PKGBUILD extra/clamav/PKGBUILD extra/clisp/PKGBUILD extra/crypto++/PKGBUILD extra/cups/PKGBUILD extra/dhcp/PKGBUILD extra/ecore/PKGBUILD extra/edje/PKGBUILD extra/eet/PKGBUILD extra/eeze/PKGBUILD extra/efreet/PKGBUILD extra/eina/PKGBUILD extra/eio/PKGBUILD extra/embryo/PKGBUILD extra/emotion/PKGBUILD extra/enlightenment17/PKGBUILD extra/ethumb/PKGBUILD extra/evas/PKGBUILD extra/festival/PKGBUILD extra/ffcall/PKGBUILD extra/ffmpeg/PKGBUILD extra/git/PKGBUILD extra/gmetadom/PKGBUILD extra/gnutls/PKGBUILD extra/graphviz/PKGBUILD extra/gstreamer0.10-ugly/PKGBUILD extra/gtkmathview/PKGBUILD extra/gvfs/PKGBUILD extra/hugin/PKGBUILD extra/i8kutils/PKGBUILD extra/id3lib/PKGBUILD extra/imagemagick/PKGBUILD extra/jack/PKGBUILD extra/ktorrent/PKGBUILD extra/libaccounts-qt/PKGBUILD extra/libdvdnav/PKGBUILD extra/libdvdread/PKGBUILD extra/libetpan/PKGBUILD extra/libgadu/PKGBUILD extra/libmikmod/PKGBUILD extra/libpst/PKGBUILD extra/libsecret/PKGBUILD extra/libssh/PKGBUILD extra/libvorbis/PKGBUILD extra/lilv/PKGBUILD extra/mariadb/PKGBUILD extra/maxima/PKGBUILD extra/mesa/PKGBUILD extra/mkvtoolnix/PKGBUILD extra/msmtp/PKGBUILD extra/obex-data-server/PKGBUILD extra/openbabel/PKGBUILD extra/opencv/PKGBUILD extra/opengtl/PKGBUILD extra/perl-net-dns/PKGBUILD extra/perl-socket6/PKGBUILD extra/pidgin/PKGBUILD extra/poppler/PKGBUILD extra/postfix/PKGBUILD extra/purple-plugin-pack/PKGBUILD extra/pycurl/PKGBUILD extra/python-geoip/PKGBUILD extra/qt5/PKGBUILD extra/redland/PKGBUILD extra/ruby/PKGBUILD extra/shared-mime-info/PKGBUILD extra/sqlite/PKGBUILD extra/texmacs/PKGBUILD extra/v4l-utils/PKGBUILD extra/vigra/PKGBUILD extra/vim/PKGBUILD extra/wildmidi/PKGBUILD extra/wxpython/PKGBUILD extra/x2goclient/PKGBUILD extra/xf86-video-siliconmotion/0001-Remove-miInitializeBackingStore.patch extra/xf86-video-siliconmotion/PKGBUILD extra/xfce4-taskmanager/PKGBUILD extra/xine-lib/PKGBUILD extra/xorg-server/PKGBUILD extra/xsane/PKGBUILD extra/zsh/PKGBUILD libre-testing/unace-libre/PKGBUILD libre/abuse-libre/PKGBUILD libre/audacity-libre/PKGBUILD libre/audex-libre/PKGBUILD libre/blackbox-libre/PKGBUILD libre/bogofilter-libre/PKGBUILD libre/bumblebee-libre/PKGBUILD libre/crosstool-ng/PKGBUILD libre/dvdrip-libre/PKGBUILD libre/ecasound-libre/PKGBUILD libre/enscript/PKGBUILD libre/epdfview-libre/PKGBUILD libre/hardinfo/PKGBUILD libre/kile-libre/PKGBUILD libre/lesspipe-libre/PKGBUILD libre/libquicktime-libre/PKGBUILD libre/linux-libre-tools/PKGBUILD libre/linux-libre/PKGBUILD libre/mc-libre/PKGBUILD libre/mesa-demos-libre/PKGBUILD libre/midori-libre/PKGBUILD libre/oss-libre/PKGBUILD libre/p7zip-libre/PKGBUILD libre/python2-reportlab-libre/PKGBUILD libre/sdl-libre/PKGBUILD libre/seamonkey-libre/PKGBUILD libre/unzip-libre/PKGBUILD libre/xarchiver-libre/PKGBUILD libre/xmlstarlet/PKGBUILD pcr/a2jmidid/PKGBUILD pcr/amsynth/PKGBUILD pcr/anyremote/PKGBUILD pcr/azr3-jack/PKGBUILD pcr/bambus/PKGBUILD pcr/bamf2/PKGBUILD pcr/barnyard2/PKGBUILD pcr/bison++/PKGBUILD pcr/bup/PKGBUILD pcr/din/PKGBUILD pcr/django-tagging/PKGBUILD pcr/doxymacs/PKGBUILD pcr/emacs-js2-mode/PKGBUILD pcr/eterm/PKGBUILD pcr/frame/PKGBUILD pcr/freeipmi/PKGBUILD pcr/geis/PKGBUILD pcr/ginn/PKGBUILD pcr/grail/PKGBUILD pcr/libast/PKGBUILD pcr/libdshconfig/PKGBUILD pcr/networkmanager-openswan/PKGBUILD pcr/networkmanager-strongswan/PKGBUILD pcr/openswan/PKGBUILD pcr/par/PKGBUILD pcr/snort/PKGBUILD pcr/strongswan/PKGBUILD social/batctl/PKGBUILD social/bip/PKGBUILD social/bitcoin-daemon/PKGBUILD social/dropbear/PKGBUILD social/ffingerd/PKGBUILD social/haveged/PKGBUILD social/inadyn-opendns/PKGBUILD social/liblockfile/PKGBUILD social/libowfat/PKGBUILD social/lockfile-progs/PKGBUILD social/netatalk/PKGBUILD social/olsrd/PKGBUILD social/poco/PKGBUILD social/spectrum/PKGBUILD social/squirm/PKGBUILD social/tokyotyrant/PKGBUILD social/tomoyo-tools/PKGBUILD
Diffstat (limited to 'libre/hplip-libre')
-rw-r--r--libre/hplip-libre/PKGBUILD8
-rw-r--r--libre/hplip-libre/cups-1.6-buildfix.diff392
-rw-r--r--libre/hplip-libre/disable_upgrade.patch14
-rw-r--r--libre/hplip-libre/hp-mkuri.patch11
-rw-r--r--libre/hplip-libre/hplip-CVE-2013-4325.patch22
-rw-r--r--libre/hplip-libre/hplip.install18
-rw-r--r--libre/hplip-libre/hplip_typo.patch11
7 files changed, 4 insertions, 472 deletions
diff --git a/libre/hplip-libre/PKGBUILD b/libre/hplip-libre/PKGBUILD
index 18351214e..f0cdd45db 100644
--- a/libre/hplip-libre/PKGBUILD
+++ b/libre/hplip-libre/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 201437 2013-12-11 16:52:25Z andyrtr $
+# $Id: PKGBUILD 204311 2014-01-17 09:00:06Z andyrtr $
# Maintainer: Tom Gundersen <teg@jklm.no>
# Contributor : Rémy Oudompheng <remy@archlinux.org>
# Contributor: Morgan LEFIEUX <comete@archlinuxfr.org>
@@ -6,8 +6,8 @@
_pkgname=hplip
pkgname=hplip-libre
-pkgver=3.13.11
-pkgrel=2.1
+pkgver=3.14.1
+pkgrel=1
pkgdesc="Drivers for HP DeskJet, OfficeJet, Photosmart, Business Inkjet and some LaserJet, without hplip-plugin binary blobs recommendation (Parabola rebranded)"
arch=('i686' 'x86_64' 'mips64el')
url="http://hplipopensource.com"
@@ -31,7 +31,7 @@ provides=$_pkgname=$pkgver
install=hplip.install
source=(http://downloads.sourceforge.net/${_pkgname}/$_pkgname-$pkgver.tar.gz{,.asc}
disable_upgrade.patch)
-md5sums=('8ee362d9bc45fd4eddd3c9d9e583d728'
+md5sums=('11eb45f3d3edf1f03887fd13afc61b51'
'SKIP'
'a853ba0eb0883f4bcee00b4277128b29')
diff --git a/libre/hplip-libre/cups-1.6-buildfix.diff b/libre/hplip-libre/cups-1.6-buildfix.diff
deleted file mode 100644
index 8341a1610..000000000
--- a/libre/hplip-libre/cups-1.6-buildfix.diff
+++ /dev/null
@@ -1,392 +0,0 @@
-diff -up hplip-3.12.6/prnt/cupsext/cupsext.c.ipp_accessors hplip-3.12.6/prnt/cupsext/cupsext.c
---- hplip-3.12.6/prnt/cupsext/cupsext.c.ipp_accessors 2012-06-18 12:41:19.000000000 +0200
-+++ hplip-3.12.6/prnt/cupsext/cupsext.c 2012-07-19 17:11:47.606524137 +0200
-@@ -87,6 +87,46 @@ typedef int Py_ssize_t;
- #define PY_SSIZE_T_MIN INT_MIN
- #endif
-
-+#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5)
-+#define HAVE_CUPS_1_6 1
-+#endif
-+
-+#ifndef HAVE_CUPS_1_6
-+#define ippGetCount(attr) attr->num_values
-+#define ippGetGroupTag(attr) attr->group_tag
-+#define ippGetValueTag(attr) attr->value_tag
-+#define ippGetName(attr) attr->name
-+#define ippGetBoolean(attr, element) attr->values[element].boolean
-+#define ippGetInteger(attr, element) attr->values[element].integer
-+#define ippGetStatusCode(ipp) ipp->request.status.status_code
-+#define ippGetString(attr, element, language) attr->values[element].string.text
-+
-+static ipp_attribute_t * ippFirstAttribute( ipp_t *ipp )
-+{
-+ if (!ipp)
-+ return (NULL);
-+ return (ipp->current = ipp->attrs);
-+}
-+
-+static ipp_attribute_t * ippNextAttribute( ipp_t *ipp )
-+{
-+ if (!ipp || !ipp->current)
-+ return (NULL);
-+ return (ipp->current = ipp->current->next);
-+}
-+
-+static int ippSetOperation( ipp_t *ipp, ipp_op_t op )
-+{
-+ ipp->request.op.operation_id = op;
-+ return (1);
-+}
-+
-+static int ippSetRequestId( ipp_t *ipp, int request_id )
-+{
-+ ipp->request.any.request_id = request_id;
-+ return (1);
-+}
-+#endif
-
- int g_num_options = 0;
- cups_option_t * g_options;
-@@ -333,8 +373,8 @@ PyObject * getPrinters( PyObject * self,
- request = ippNew();
- language = cupsLangDefault();
-
-- request->request.op.operation_id = CUPS_GET_PRINTERS;
-- request->request.any.request_id = 1;
-+ ippSetOperation( request, CUPS_GET_PRINTERS );
-+ ippSetRequestId ( request, 1);
-
- ippAddString( request, IPP_TAG_OPERATION, IPP_TAG_CHARSET,
- "attributes-charset", NULL, cupsLangEncoding( language ) );
-@@ -378,10 +418,10 @@ PyObject * getPrinters( PyObject * self,
- ipp_pstate_t state;
- int i = 0;
-
-- for ( attr = response->attrs; attr != NULL; attr = attr->next )
-+ for ( attr = ippFirstAttribute( response ); attr != NULL; attr = ippNextAttribute( response ) )
- {
-- while ( attr != NULL && attr->group_tag != IPP_TAG_PRINTER )
-- attr = attr->next;
-+ while ( attr != NULL && ippGetGroupTag( attr ) != IPP_TAG_PRINTER )
-+ attr = ippNextAttribute( response );
-
- if ( attr == NULL )
- break;
-@@ -390,41 +430,41 @@ PyObject * getPrinters( PyObject * self,
- state = IPP_PRINTER_IDLE;
- accepting = 0;
-
-- while ( attr != NULL && attr->group_tag == IPP_TAG_PRINTER )
-+ while ( attr != NULL && ippGetGroupTag( attr ) == IPP_TAG_PRINTER )
- {
-- if ( strcmp( attr->name, "printer-name" ) == 0 &&
-- attr->value_tag == IPP_TAG_NAME )
-- name = attr->values[ 0 ].string.text;
--
-- else if ( strcmp( attr->name, "device-uri" ) == 0 &&
-- attr->value_tag == IPP_TAG_URI )
-- device_uri = attr->values[ 0 ].string.text;
--
-- else if ( strcmp( attr->name, "printer-uri-supported" ) == 0 &&
-- attr->value_tag == IPP_TAG_URI )
-- printer_uri = attr->values[ 0 ].string.text;
--
-- else if ( strcmp( attr->name, "printer-info" ) == 0 &&
-- attr->value_tag == IPP_TAG_TEXT )
-- info = attr->values[ 0 ].string.text;
--
-- else if ( strcmp( attr->name, "printer-location" ) == 0 &&
-- attr->value_tag == IPP_TAG_TEXT )
-- location = attr->values[ 0 ].string.text;
--
-- else if ( strcmp( attr->name, "printer-make-and-model" ) == 0 &&
-- attr->value_tag == IPP_TAG_TEXT )
-- make_model = attr->values[ 0 ].string.text;
--
-- else if ( strcmp( attr->name, "printer-state" ) == 0 &&
-- attr->value_tag == IPP_TAG_ENUM )
-- state = ( ipp_pstate_t ) attr->values[ 0 ].integer;
--
-- else if (!strcmp(attr->name, "printer-is-accepting-jobs") &&
-- attr->value_tag == IPP_TAG_BOOLEAN)
-- accepting = attr->values[ 0 ].boolean;
-+ if ( strcmp( ippGetName( attr ), "printer-name" ) == 0 &&
-+ ippGetValueTag( attr ) == IPP_TAG_NAME )
-+ name = ippGetString( attr, 0, NULL );
-+
-+ else if ( strcmp( ippGetName( attr ), "device-uri" ) == 0 &&
-+ ippGetValueTag( attr ) == IPP_TAG_URI )
-+ device_uri = ippGetString( attr, 0, NULL );
-+
-+ else if ( strcmp( ippGetName( attr ), "printer-uri-supported" ) == 0 &&
-+ ippGetValueTag( attr ) == IPP_TAG_URI )
-+ printer_uri = ippGetString( attr, 0, NULL );
-+
-+ else if ( strcmp( ippGetName( attr ), "printer-info" ) == 0 &&
-+ ippGetValueTag( attr ) == IPP_TAG_TEXT )
-+ info = ippGetString( attr, 0, NULL );
-+
-+ else if ( strcmp( ippGetName( attr ), "printer-location" ) == 0 &&
-+ ippGetValueTag( attr ) == IPP_TAG_TEXT )
-+ location = ippGetString( attr, 0, NULL );
-+
-+ else if ( strcmp( ippGetName( attr ), "printer-make-and-model" ) == 0 &&
-+ ippGetValueTag( attr ) == IPP_TAG_TEXT )
-+ make_model = ippGetString( attr, 0, NULL );
-+
-+ else if ( strcmp( ippGetName( attr ), "printer-state" ) == 0 &&
-+ ippGetValueTag( attr ) == IPP_TAG_ENUM )
-+ state = ( ipp_pstate_t ) ippGetInteger( attr, 0 );
-+
-+ else if (!strcmp(ippGetName( attr ), "printer-is-accepting-jobs") &&
-+ ippGetValueTag( attr ) == IPP_TAG_BOOLEAN)
-+ accepting = ippGetBoolean( attr, 0 );
-
-- attr = attr->next;
-+ attr = ippNextAttribute( response );
- }
-
- if ( device_uri == NULL )
-@@ -522,8 +562,8 @@ PyObject * addPrinter( PyObject * self,
- request = ippNew();
- language = cupsLangDefault();
-
-- request->request.op.operation_id = CUPS_ADD_PRINTER;
-- request->request.any.request_id = 1;
-+ ippSetOperation( request, CUPS_ADD_PRINTER );
-+ ippSetRequestId ( request, 1 );
-
- ippAddString( request, IPP_TAG_OPERATION, IPP_TAG_CHARSET,
- "attributes-charset", NULL, cupsLangEncoding( language ) );
-@@ -568,7 +608,7 @@ PyObject * addPrinter( PyObject * self,
- }
- else
- {
-- status = response->request.status.status_code;
-+ status = ippGetStatusCode( response );
- //ippDelete( response );
- r = 1;
- }
-@@ -631,8 +671,8 @@ PyObject * delPrinter( PyObject * self,
- */
- request = ippNew();
-
-- request->request.op.operation_id = CUPS_DELETE_PRINTER;
-- request->request.op.request_id = 1;
-+ ippSetOperation( request, CUPS_DELETE_PRINTER );
-+ ippSetRequestId ( request, 1 );
-
- language = cupsLangDefault();
-
-@@ -650,7 +690,7 @@ PyObject * delPrinter( PyObject * self,
- */
- response = cupsDoRequest( http, request, "/admin/" );
-
-- if ( ( response != NULL ) && ( response->request.status.status_code <= IPP_OK_CONFLICT ) )
-+ if ( ( response != NULL ) && ( ippGetStatusCode( response ) <= IPP_OK_CONFLICT ) )
- {
- r = 1;
- }
-@@ -721,8 +761,8 @@ PyObject * setDefaultPrinter( PyObject *
-
- request = ippNew();
-
-- request->request.op.operation_id = CUPS_SET_DEFAULT;
-- request->request.op.request_id = 1;
-+ ippSetOperation( request, CUPS_SET_DEFAULT );
-+ ippSetRequestId ( request, 1 );
-
- language = cupsLangDefault();
-
-@@ -743,7 +783,7 @@ PyObject * setDefaultPrinter( PyObject *
-
- response = cupsDoRequest( http, request, "/admin/" );
-
-- if ( ( response != NULL ) && ( response->request.status.status_code <= IPP_OK_CONFLICT ) )
-+ if ( ( response != NULL ) && ( ippGetStatusCode( response ) <= IPP_OK_CONFLICT ) )
- {
- r = 1;
- }
-@@ -797,8 +837,8 @@ PyObject * controlPrinter( PyObject * se
-
- request = ippNew();
-
-- request->request.op.operation_id = op;
-- request->request.op.request_id = 1;
-+ ippSetOperation( request, op );
-+ ippSetRequestId ( request, 1 );
-
- language = cupsLangDefault();
-
-@@ -822,7 +862,7 @@ PyObject * controlPrinter( PyObject * se
-
- response = cupsDoRequest(http, request, "/admin/");
-
-- if (( response != NULL ) && (response->request.status.status_code <= IPP_OK_CONFLICT))
-+ if (( response != NULL ) && (ippGetStatusCode( response ) <= IPP_OK_CONFLICT))
- {
- r = 1;
- }
-@@ -837,7 +877,7 @@ abort:
- if ( response != NULL )
- ippDelete( response );
-
-- return Py_BuildValue( "i", r );;
-+ return Py_BuildValue( "i", r );
- }
-
-
-@@ -1116,8 +1156,8 @@ PyObject * getPPDList( PyObject * self,
-
- request = ippNew();
-
-- request->request.op.operation_id = CUPS_GET_PPDS;
-- request->request.op.request_id = 1;
-+ ippSetOperation( request, CUPS_GET_PPDS );
-+ ippSetRequestId ( request, 1 );
-
- language = cupsLangDefault();
-
-@@ -1143,43 +1183,43 @@ PyObject * getPPDList( PyObject * self,
- if ((response = cupsDoRequest(http, request, "/")) != NULL)
- {
-
-- for (attr = response->attrs; attr; attr = attr->next)
-+ for (attr = ippFirstAttribute( response ); attr; attr = ippNextAttribute( response ))
- {
- PyObject *dict;
- char *ppdname = NULL;
-
-- while (attr && attr->group_tag != IPP_TAG_PRINTER)
-- attr = attr->next;
-+ while (attr && ippGetGroupTag( attr ) != IPP_TAG_PRINTER)
-+ attr = ippNextAttribute( response );
-
- if (!attr)
- break;
-
- dict = PyDict_New ();
-
-- for (; attr && attr->group_tag == IPP_TAG_PRINTER; attr = attr->next)
-+ for (; attr && ippGetGroupTag( attr ) == IPP_TAG_PRINTER; attr = ippNextAttribute( response ))
- {
- PyObject *val = NULL;
-
-- if (!strcmp (attr->name, "ppd-name") && attr->value_tag == IPP_TAG_NAME)
-+ if (!strcmp (ippGetName( attr ), "ppd-name") && ippGetValueTag( attr ) == IPP_TAG_NAME)
- {
-- ppdname = attr->values[0].string.text;
-+ ppdname = ippGetString( attr, 0, NULL );
-
- //sprintf( buf, "print '%s'", ppdname);
- //PyRun_SimpleString( buf );
- }
-
-- else if (attr->value_tag == IPP_TAG_TEXT || attr->value_tag == IPP_TAG_NAME || attr->value_tag == IPP_TAG_KEYWORD)
-- //else if ((!strcmp (attr->name, "ppd-natural-language") && attr->value_tag == IPP_TAG_LANGUAGE) ||
-- // (!strcmp (attr->name, "ppd-make-and-model") && attr->value_tag == IPP_TAG_TEXT) ||
-- // (!strcmp (attr->name, "ppd-make") && attr->value_tag == IPP_TAG_TEXT) ||
-- // (!strcmp (attr->name, "ppd-device-id") && attr->value_tag == IPP_TAG_TEXT))
-+ else if (ippGetValueTag( attr ) == IPP_TAG_TEXT || ippGetValueTag( attr ) == IPP_TAG_NAME || ippGetValueTag( attr ) == IPP_TAG_KEYWORD)
-+ //else if ((!strcmp (ippGetName( attr ), "ppd-natural-language") && ippGetValueTag( attr ) == IPP_TAG_LANGUAGE) ||
-+ // (!strcmp (ippGetName( attr ), "ppd-make-and-model") && ippGetValueTag( attr ) == IPP_TAG_TEXT) ||
-+ // (!strcmp (ippGetName( attr ), "ppd-make") && ippGetValueTag( attr ) == IPP_TAG_TEXT) ||
-+ // (!strcmp (ippGetName( attr ), "ppd-device-id") && ippGetValueTag( attr ) == IPP_TAG_TEXT))
- {
-- val = PyObj_from_UTF8(attr->values[0].string.text);
-+ val = PyObj_from_UTF8(ippGetString( attr, 0, NULL ));
- }
-
- if (val)
- {
-- PyDict_SetItemString (dict, attr->name, val);
-+ PyDict_SetItemString (dict, ippGetName( attr ), val);
- Py_DECREF (val);
- }
- }
-diff -up hplip-3.12.6/scan/sane/hpaio.c.ipp_accessors hplip-3.12.6/scan/sane/hpaio.c
---- hplip-3.12.6/scan/sane/hpaio.c.ipp_accessors 2012-06-18 12:42:51.000000000 +0200
-+++ hplip-3.12.6/scan/sane/hpaio.c 2012-07-19 17:12:34.557848760 +0200
-@@ -47,6 +47,43 @@
- #define DEBUG_DECLARE_ONLY
- #include "sanei_debug.h"
-
-+#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5)
-+#define HAVE_CUPS_1_6 1
-+#endif
-+
-+#ifndef HAVE_CUPS_1_6
-+#define ippGetGroupTag(attr) attr->group_tag
-+#define ippGetValueTag(attr) attr->value_tag
-+#define ippGetName(attr) attr->name
-+#define ippGetString(attr, element, language) attr->values[element].string.text
-+
-+static ipp_attribute_t * ippFirstAttribute( ipp_t *ipp )
-+{
-+ if (!ipp)
-+ return (NULL);
-+ return (ipp->current = ipp->attrs);
-+}
-+
-+static ipp_attribute_t * ippNextAttribute( ipp_t *ipp )
-+{
-+ if (!ipp || !ipp->current)
-+ return (NULL);
-+ return (ipp->current = ipp->current->next);
-+}
-+
-+static int ippSetOperation( ipp_t *ipp, ipp_op_t op )
-+{
-+ ipp->request.op.operation_id = op;
-+ return (1);
-+}
-+
-+static int ippSetRequestId( ipp_t *ipp, int request_id )
-+{
-+ ipp->request.any.request_id = request_id;
-+ return (1);
-+}
-+#endif
-+
- static SANE_Device **DeviceList = NULL;
-
- static int AddDeviceList(char *uri, char *model, SANE_Device ***pd)
-@@ -186,8 +223,8 @@ static int GetCupsPrinters(char ***print
- /* Assemble the IPP request */
- request = ippNew();
-
-- request->request.op.operation_id = CUPS_GET_PRINTERS;
-- request->request.any.request_id = 1;
-+ ippSetOperation( request, CUPS_GET_PRINTERS );
-+ ippSetRequestId( request, 1 );
-
- ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_CHARSET, "attributes-charset", NULL, "utf-8");
- ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE, "attributes-natural-language", NULL, "en");
-@@ -197,20 +234,20 @@ static int GetCupsPrinters(char ***print
- if ((response = cupsDoRequest(http, request, "/")) == NULL)
- goto bugout;
-
-- for (attr = response->attrs; attr != NULL; attr = attr->next)
-+ for (attr = ippFirstAttribute ( response ); attr != NULL; attr = ippNextAttribute( response ))
- {
- /* Skip leading attributes until we hit a printer. */
-- while (attr != NULL && attr->group_tag != IPP_TAG_PRINTER)
-- attr = attr->next;
-+ while (attr != NULL && ippGetGroupTag( attr ) != IPP_TAG_PRINTER)
-+ attr = ippNextAttribute( response );
-
- if (attr == NULL)
- break;
-
-- while (attr != NULL && attr->group_tag == IPP_TAG_PRINTER)
-+ while (attr != NULL && ippGetGroupTag( attr ) == IPP_TAG_PRINTER)
- {
-- if (strcmp(attr->name, "device-uri") == 0 && attr->value_tag == IPP_TAG_URI && AddCupsList(attr->values[0].string.text, printer) == 0)
-+ if (strcmp(ippGetName( attr ), "device-uri") == 0 && ippGetValueTag( attr ) == IPP_TAG_URI && AddCupsList(ippGetString( attr, 0, NULL ), printer) == 0)
- cnt++;
-- attr = attr->next;
-+ attr = ippNextAttribute( response );
- }
-
- if (attr == NULL)
diff --git a/libre/hplip-libre/disable_upgrade.patch b/libre/hplip-libre/disable_upgrade.patch
deleted file mode 100644
index 600d6ccc7..000000000
--- a/libre/hplip-libre/disable_upgrade.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- upgrade.py.orig 2013-10-31 12:46:54.000000000 +0100
-+++ upgrade.py 2013-12-04 14:58:03.000000000 +0100
-@@ -134,6 +134,11 @@ except getopt.GetoptError, e:
- if os.getenv("HPLIP_DEBUG"):
- log.set_level('debug')
-
-+
-+log.error("HPLIP upgrade is disabled by Parabola for security reasons, see https://bugs.archlinux.org/task/38083 - if you like to upgrade HPLIP, use the Parabola software package manager pacman.")
-+clean_exit(1)
-+
-+
- for o, a in opts:
- if o in ('-h', '--help'):
- usage()
diff --git a/libre/hplip-libre/hp-mkuri.patch b/libre/hplip-libre/hp-mkuri.patch
deleted file mode 100644
index 518e7608f..000000000
--- a/libre/hplip-libre/hp-mkuri.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- io/hpmud/hp-mkuri.c.orig 2013-03-17 09:15:15.360624061 -0400
-+++ io/hpmud/hp-mkuri.c 2013-03-17 09:15:30.924316847 -0400
-@@ -266,7 +266,7 @@
-
- /* Bypass glib build dependencies by loading libnotify manually. */
-
-- if ((handle = load_library("libnotify.so.1")) == NULL)
-+ if ((handle = load_library("libnotify.so.4")) == NULL)
- {
- BUG("failed to open libnotify: %m\n");
- goto bugout;
diff --git a/libre/hplip-libre/hplip-CVE-2013-4325.patch b/libre/hplip-libre/hplip-CVE-2013-4325.patch
deleted file mode 100644
index 85bff893b..000000000
--- a/libre/hplip-libre/hplip-CVE-2013-4325.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -up hplip-3.13.7/base/pkit.py.CVE-2013-4325 hplip-3.13.7/base/pkit.py
---- hplip-3.13.7/base/pkit.py.CVE-2013-4325 2013-07-23 06:18:29.000000000 +0100
-+++ hplip-3.13.7/base/pkit.py 2013-09-11 10:54:13.252419283 +0100
-@@ -176,15 +176,10 @@ class PolicyKitService(dbus.service.Obje
- "/org/freedesktop/PolicyKit1/Authority",
- "org.freedesktop.PolicyKit1.Authority")
- policy_kit = dbus.Interface(obj, "org.freedesktop.PolicyKit1.Authority")
-- info = dbus.Interface(connection.get_object("org.freedesktop.DBus",
-- "/org/freedesktop/DBus/Bus",
-- False),
-- "org.freedesktop.DBus")
-- pid = info.GetConnectionUnixProcessID(sender)
-
- subject = (
-- 'unix-process',
-- { 'pid' : dbus.UInt32(pid, variant_level = 1) }
-+ 'system-bus-name',
-+ { 'name' : dbus.String(sender, variant_level = 1) }
- )
- details = { '' : '' }
- flags = dbus.UInt32(1) # AllowUserInteraction = 0x00000001
-
diff --git a/libre/hplip-libre/hplip.install b/libre/hplip-libre/hplip.install
deleted file mode 100644
index 74532cde3..000000000
--- a/libre/hplip-libre/hplip.install
+++ /dev/null
@@ -1,18 +0,0 @@
-post_install() {
- cat << EOF
-
-NOTE
-----
-# If you want to use this driver with sane:
-# echo "hpaio" >> /etc/sane.d/dll.conf
-
-EOF
-}
-
-post_upgrade() {
- if [ "`vercmp $2 3.12.4-2`" -lt 0 ]; then
- # important upgrade notice
- echo "> Please remove your printer in cups, then add it"
- echo "> back and reconfigure it to make it work again!"
- fi
-}
diff --git a/libre/hplip-libre/hplip_typo.patch b/libre/hplip-libre/hplip_typo.patch
deleted file mode 100644
index 8d22f51ea..000000000
--- a/libre/hplip-libre/hplip_typo.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- config_usb_printer.py 2013-05-19 02:23:17.506716304 +0300
-+++ config_usb_printer.py.new 2013-05-19 02:23:30.140049848 +0300
-@@ -257,7 +257,7 @@
- # ******************************* RUNNING FIRMWARE DOWNLOAD TO DEVICE FOR SUPPORTED PRINTER'S
- fw_download_req = mq.get('fw-download', False)
- if fw_download_req:
-- fw_cmd = utlis.which('hp-firmware', True)
-+ fw_cmd = utils.which('hp-firmware', True)
- if fw_cmd:
- fw_cmd += " -y3 -s %s"%param
- log.debug(fw_cmd)