hplip: update to 3.12.11.
This commit is contained in:
parent
e4cb55e4c2
commit
c4a427fe90
2 changed files with 436 additions and 14 deletions
390
srcpkgs/hplip/patches/cups-1.6-buildfix.diff
Normal file
390
srcpkgs/hplip/patches/cups-1.6-buildfix.diff
Normal file
|
@ -0,0 +1,390 @@
|
||||||
|
--- prnt/cupsext/cupsext.c.ipp_accessors 2012-06-18 12:41:19.000000000 +0200
|
||||||
|
+++ 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
--- scan/sane/hpaio.c.ipp_accessors 2012-06-18 12:42:51.000000000 +0200
|
||||||
|
+++ 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)
|
|
@ -1,21 +1,13 @@
|
||||||
# Template file for 'hplip'
|
# Template file for 'hplip'
|
||||||
pkgname=hplip
|
pkgname=hplip
|
||||||
version=3.12.6
|
version=3.12.11
|
||||||
revision=2
|
revision=1
|
||||||
build_style=gnu-configure
|
|
||||||
configure_args="--disable-gui-build"
|
|
||||||
#XXX: pyqt pkgs for python gui
|
|
||||||
makedepends="pkg-config automake libtool python-devel libxml2-python cups-devel
|
|
||||||
sane-devel ghostscript-devel net-snmp-devel libusb-devel jpeg-devel
|
|
||||||
dbus-devel polkit-devel"
|
|
||||||
fulldepends="python foomatic-db foomatic-db-engine desktop-file-utils"
|
|
||||||
conf_files="/etc/hp/hplip.conf"
|
|
||||||
short_desc="HP Linux Imaging and Printing"
|
short_desc="HP Linux Imaging and Printing"
|
||||||
maintainer="davehome <davehome@redthumb.info.tm>"
|
maintainer="davehome <davehome@redthumb.info.tm>"
|
||||||
homepage="http://hplipopensource.com/"
|
homepage="http://hplipopensource.com/"
|
||||||
license="GPL-2"
|
license="GPL-2"
|
||||||
distfiles="$SOURCEFORGE_SITE/$pkgname/$pkgname-$version.tar.gz"
|
distfiles="$SOURCEFORGE_SITE/$pkgname/$pkgname-$version.tar.gz"
|
||||||
checksum=54578000792969adb583e75efeacb9c46ab69659ec7e9424de390613f3595775
|
checksum=c5b81167b21aa4ee6bdf3f5c120bfa050d0c794608da8bcc32e2580234919ffa
|
||||||
long_desc="
|
long_desc="
|
||||||
HPLIP (Hewlett-Packard Linux Imaging and Printing) is an HP-developed solution
|
HPLIP (Hewlett-Packard Linux Imaging and Printing) is an HP-developed solution
|
||||||
for printing, scanning, and faxing with HP inkjet and laser based printers in
|
for printing, scanning, and faxing with HP inkjet and laser based printers in
|
||||||
|
@ -23,7 +15,47 @@ long_desc="
|
||||||
including Deskjet, Officejet, Photosmart, PSC (Print Scan Copy), Business
|
including Deskjet, Officejet, Photosmart, PSC (Print Scan Copy), Business
|
||||||
Inkjet, LaserJet, Edgeline MFP, and LaserJet MFP."
|
Inkjet, LaserJet, Edgeline MFP, and LaserJet MFP."
|
||||||
|
|
||||||
post_install() {
|
conf_files="/etc/hp/hplip.conf"
|
||||||
rm -rf $DESTDIR/usr/share/hal
|
|
||||||
rm -f $DESTDIR/etc/sane.d/dll.conf
|
#XXX: pyqt pkgs for python gui
|
||||||
|
makedepends="pkg-config automake libtool python-devel libxml2-python cups-devel
|
||||||
|
sane-devel ghostscript-devel net-snmp-devel libusb-devel jpeg-devel
|
||||||
|
dbus-devel polkit-devel"
|
||||||
|
fulldepends="python foomatic-db foomatic-db-engine desktop-file-utils"
|
||||||
|
|
||||||
|
do_configure() {
|
||||||
|
# https://bugs.archlinux.org/task/30085 - hack found in Gentoo
|
||||||
|
# Use system foomatic-rip for hpijs driver instead of foomatic-rip-hplip
|
||||||
|
# The hpcups driver does not use foomatic-rip
|
||||||
|
local i
|
||||||
|
for i in ppd/hpijs/*.ppd.gz ; do
|
||||||
|
rm -f ${i}.temp
|
||||||
|
gunzip -c ${i} | sed 's/foomatic-rip-hplip/foomatic-rip/g' | \
|
||||||
|
gzip > ${i}.temp || return 1
|
||||||
|
mv ${i}.temp ${i}
|
||||||
|
done
|
||||||
|
|
||||||
|
./configure ${CONFIGURE_SHARED_ARGS} --disable-gui-build \
|
||||||
|
--disable-foomatic-rip-hplip-install \
|
||||||
|
--enable-foomatic-ppd-install \
|
||||||
|
--enable-hpcups-install \
|
||||||
|
--enable-new-hpcups \
|
||||||
|
--enable-cups-ppd-install \
|
||||||
|
--enable-cups-drv-install \
|
||||||
|
--enable-hpijs-install \
|
||||||
|
--enable-foomatic-drv-install \
|
||||||
|
--enable-pp-build \
|
||||||
|
--enable-udev-acl-rules
|
||||||
|
}
|
||||||
|
|
||||||
|
do_build() {
|
||||||
|
make ${makejobs}
|
||||||
|
}
|
||||||
|
|
||||||
|
do_install() {
|
||||||
|
make rulesdir=/usr/lib/udev/rules.d DESTDIR=${DESTDIR} install
|
||||||
|
# remove config provided by sane and autostart of hp-daemon
|
||||||
|
rm -rf ${DESTDIR}/etc/{sane.d,xdg}
|
||||||
|
# remove HAL .fdi file because HAL is no longer used
|
||||||
|
rm -rf ${DESTDIR}/usr/share/hal
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue