From owner-svn-ports-all@FreeBSD.ORG Sun Apr 20 20:02:07 2014 Return-Path: Delivered-To: svn-ports-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2CE78B58; Sun, 20 Apr 2014 20:02:07 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 18A4D1057; Sun, 20 Apr 2014 20:02:07 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s3KK26aa016006; Sun, 20 Apr 2014 20:02:06 GMT (envelope-from antoine@svn.freebsd.org) Received: (from antoine@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s3KK26V1016004; Sun, 20 Apr 2014 20:02:06 GMT (envelope-from antoine@svn.freebsd.org) Message-Id: <201404202002.s3KK26V1016004@svn.freebsd.org> From: Antoine Brodin Date: Sun, 20 Apr 2014 20:02:06 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r351638 - in head/print/p5-Net-CUPS: . files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 20 Apr 2014 20:02:07 -0000 Author: antoine Date: Sun Apr 20 20:02:06 2014 New Revision: 351638 URL: http://svnweb.freebsd.org/changeset/ports/351638 QAT: https://qat.redports.org/buildarchive/r351638/ Log: Unbreak with new cups PR: ports/188451 Obtained from: https://rt.cpan.org/Public/Bug/Display.html?id=78583 With hat: portmgr Added: head/print/p5-Net-CUPS/files/ head/print/p5-Net-CUPS/files/patch-CUPS.xs (contents, props changed) Modified: head/print/p5-Net-CUPS/Makefile Modified: head/print/p5-Net-CUPS/Makefile ============================================================================== --- head/print/p5-Net-CUPS/Makefile Sun Apr 20 19:41:54 2014 (r351637) +++ head/print/p5-Net-CUPS/Makefile Sun Apr 20 20:02:06 2014 (r351638) @@ -12,7 +12,8 @@ MAINTAINER= vg@FreeBSD.org COMMENT= Interface to the CUPS API BUILD_DEPENDS= cups-config:${PORTSDIR}/print/cups-client -LIB_DEPENDS= libcupsimage.so:${PORTSDIR}/print/cups-image +LIB_DEPENDS= libcupsimage.so:${PORTSDIR}/print/cups-image \ + libcupsfilters.so:${PORTSDIR}/print/cups-filters USES= perl5 USE_PERL5= configure Added: head/print/p5-Net-CUPS/files/patch-CUPS.xs ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/print/p5-Net-CUPS/files/patch-CUPS.xs Sun Apr 20 20:02:06 2014 (r351638) @@ -0,0 +1,165 @@ +Patch obtained from: https://rt.cpan.org/Public/Bug/Display.html?id=78583 + +--- ./CUPS.xs.orig 2009-07-30 13:42:59.000000000 +0000 ++++ ./CUPS.xs 2014-04-20 19:18:15.000000000 +0000 +@@ -5,9 +5,17 @@ + #include "ppport.h" + + #include ++#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5) ++#define HAVE_CUPS_1_6 1 ++#endif ++ + /*#include */ + #include +-#include ++#ifdef HAVE_CUPS_1_6 ++ #include ++#else ++ #include ++#endif + #include + #include + #include +@@ -19,6 +27,17 @@ + #include "const-c.inc" + #include "packer.c" + ++#ifndef HAVE_CUPS_1_6 ++#define ippGetGroupTag(attr) attr->group_tag ++#define ippGetName(attr) attr->name ++#define ippGetValueTag(attr) attr->value_tag ++#define ippGetInteger(attr, element) attr->values[element].integer ++#define ippGetString(attr, element, language) attr->values[element].string.text ++#define ippGetStatusCode(ipp) ipp->request.status.status_code ++#define ippFirstAttribute(ipp) ipp->current = ipp->attrs ++#define ippNextAttribute(ipp) ipp->current = ipp->current->next ++#endif ++ + static SV *password_cb = (SV*) NULL; + + const char * +@@ -200,7 +219,7 @@ + if (response != NULL) { + attr = ippFindAttribute(response, "ppd-make", IPP_TAG_TEXT); + rv = sv_newmortal(); +- sv_setpv(rv, attr->values[0].string.text); ++ sv_setpv(rv, ippGetString(attr, 0, NULL)); + XPUSHs(rv); + count++; + +@@ -211,7 +230,7 @@ + } + + rv = sv_newmortal(); +- sv_setpv(rv, attr->values[0].string.text); ++ sv_setpv(rv, ippGetString(attr, 0, NULL)); + XPUSHs(rv); + count++; + } +@@ -252,7 +271,7 @@ + "ppd-make-and-model", + IPP_TAG_TEXT); + rv = sv_newmortal(); +- sv_setpv(rv, attr->values[0].string.text); ++ sv_setpv(rv, ippGetString(attr, 0, NULL)); + XPUSHs(rv); + count++; + while (attr != NULL) { +@@ -263,7 +282,7 @@ + break; + } + rv = sv_newmortal(); +- sv_setpv(rv, attr->values[0].string.text); ++ sv_setpv(rv, ippGetString(attr, 0, NULL)); + XPUSHs(rv); + count++; + } +@@ -356,14 +375,14 @@ + if (response != NULL) { + attr = ippFindAttribute(response, "ppd-name", IPP_TAG_NAME ); + while ((attr != NULL) && (i < 1)) { +- tmpppd = attr->values[0].string.text; ++ tmpppd = ippGetString(attr, 0, NULL); + attr = ippFindNextAttribute(response, + "ppd-make", + IPP_TAG_TEXT); + attr = ippFindNextAttribute(response, + "ppd-make-and-model", + IPP_TAG_TEXT); +- if (strcmp(attr->values[0].string.text, ppdfilename) == 0 ) { ++ if (strcmp(ippGetString(attr, 0, NULL), ppdfilename) == 0 ) { + /* return tmpppd; */ + strcpy(test, tmpppd); + break; +@@ -410,12 +429,12 @@ + attr = ippFindNextAttribute(response, "printer-name", IPP_TAG_NAME); + + while (attr != NULL) { +- if (strcmp(attr->values[0].string.text, device) == 0) { ++ if (strcmp(ippGetString(attr, 0, NULL), device) == 0) { + attr = ippFindNextAttribute( response, + attribute, + attribute_type); + rv = sv_newmortal(); +- sv_setpv( rv, attr->values[0].string.text); ++ sv_setpv( rv, ippGetString(attr, 0, NULL)); + XPUSHs( rv ); + break; + } +@@ -858,15 +877,15 @@ + SV* rv = NULL; + int count = 0; + ipp_attribute_t* attr = NULL; +- for (attr = ipp->attrs; attr != NULL; attr = attr->next) ++ for (attr = ippFirstAttribute(ipp); attr != NULL; attr = ippNextAttribute(ipp)) + { +- while (attr != NULL && attr->group_tag != IPP_TAG_JOB) +- attr = attr->next; ++ while (attr != NULL && ippGetGroupTag(attr) != IPP_TAG_JOB) ++ attr = ippNextAttribute(ipp); + + if (attr == NULL) + break; + rv = sv_newmortal(); +- sv_setpv( rv, attr->name ); ++ sv_setpv( rv, ippGetName(attr) ); + XPUSHs( rv ); + count++; + } +@@ -880,27 +899,27 @@ + SV* rv = NULL; + int count = 0; + ipp_attribute_t* attr = NULL; +- for (attr = ipp->attrs; attr != NULL; attr = attr->next) ++ for (attr = ippFirstAttribute(ipp); attr != NULL; attr = ippNextAttribute(ipp)) + { +- while (attr != NULL && attr->group_tag != IPP_TAG_JOB) +- attr = attr->next; ++ while (attr != NULL && ippGetGroupTag(attr) != IPP_TAG_JOB) ++ attr = ippNextAttribute(ipp); + + if (attr == NULL) + break; + +- if( !strcmp( attr->name, name ) ) ++ if( !strcmp( ippGetName(attr), name ) ) + { + rv = sv_newmortal(); +- if( ( attr->value_tag == IPP_TAG_INTEGER ) || +- ( attr->value_tag == IPP_TAG_ENUM ) ) ++ if( ( ippGetValueTag(attr) == IPP_TAG_INTEGER ) || ++ ( ippGetValueTag(attr) == IPP_TAG_ENUM ) ) + { + /* We have a number with any luck ... */ +- sv_setiv( rv, attr->values[0].integer ); ++ sv_setiv( rv, ippGetInteger(attr, 0) ); + } + else + { + /* We have a string ... maybe ... try to set it. */ +- sv_setpv( rv, attr->values[0].string.text ); ++ sv_setpv( rv, ippGetString(attr, 0, NULL) ); + } + + XPUSHs( rv );