pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/print/xpp Fix build with newer cups.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/9ee0fcda7014
branches:  trunk
changeset: 412378:9ee0fcda7014
user:      bouyer <bouyer%pkgsrc.org@localhost>
date:      Thu Mar 05 14:57:59 2020 +0000

description:
Fix build with newer cups.
While there switch to fltk13
bump PKGREVISION

diffstat:

 print/xpp/Makefile                     |    6 +-
 print/xpp/distinfo                     |    6 +-
 print/xpp/patches/patch-ae             |  165 ++++++++++++++++++++++++++++++++-
 print/xpp/patches/patch-cupshelper.cxx |   45 ++++++++-
 4 files changed, 209 insertions(+), 13 deletions(-)

diffs (271 lines):

diff -r 54c036397a20 -r 9ee0fcda7014 print/xpp/Makefile
--- a/print/xpp/Makefile        Thu Mar 05 14:56:52 2020 +0000
+++ b/print/xpp/Makefile        Thu Mar 05 14:57:59 2020 +0000
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.68 2020/01/18 23:35:05 rillig Exp $
+# $NetBSD: Makefile,v 1.69 2020/03/05 14:57:59 bouyer Exp $
 
 DISTNAME=      xpp-1.5
-PKGREVISION=   27
+PKGREVISION=   28
 CATEGORIES=    print x11
 MASTER_SITES=  ${MASTER_SITE_SOURCEFORGE:=cups/}
 
@@ -23,5 +23,5 @@
        cd ${WRKSRC} && ${INSTALL_DATA} LICENSE README ${DESTDIR}${DOCDIR}
 
 .include "../../print/cups-base/buildlink3.mk"
-.include "../../x11/fltk/buildlink3.mk"
+.include "../../x11/fltk13/buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"
diff -r 54c036397a20 -r 9ee0fcda7014 print/xpp/distinfo
--- a/print/xpp/distinfo        Thu Mar 05 14:56:52 2020 +0000
+++ b/print/xpp/distinfo        Thu Mar 05 14:57:59 2020 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.11 2015/11/04 01:03:03 agc Exp $
+$NetBSD: distinfo,v 1.12 2020/03/05 14:57:59 bouyer Exp $
 
 SHA1 (xpp-1.5.tar.gz) = 7f3c1427979516e47402a0acb708eb83b68daa61
 RMD160 (xpp-1.5.tar.gz) = a64ec4c93013d1db08a6c9b6705b43850c36c337
@@ -8,5 +8,5 @@
 SHA1 (patch-ab) = 76d0ca39bef410e580f805ca10a3d953285c58bb
 SHA1 (patch-ac) = d94f9359d19de5dff684f61a53af4607bb31f78c
 SHA1 (patch-ad) = 5af9e367c1b025ec1d9940101a8b3338d84ae5d6
-SHA1 (patch-ae) = a9adc82236847b2749eceacc4b00b2973dd80058
-SHA1 (patch-cupshelper.cxx) = beba4e1af0ff8a95d5d6042bd39254aa6e1d1e21
+SHA1 (patch-ae) = 28aa8dcfc325f89aed0f0d4a988af713ccdb8740
+SHA1 (patch-cupshelper.cxx) = 57d33096de6fdf9805d644eb21364ea8f1df3604
diff -r 54c036397a20 -r 9ee0fcda7014 print/xpp/patches/patch-ae
--- a/print/xpp/patches/patch-ae        Thu Mar 05 14:56:52 2020 +0000
+++ b/print/xpp/patches/patch-ae        Thu Mar 05 14:57:59 2020 +0000
@@ -1,8 +1,8 @@
-$NetBSD: patch-ae,v 1.1 2010/05/09 04:21:40 sbd Exp $
+$NetBSD: patch-ae,v 1.2 2020/03/05 14:57:59 bouyer Exp $
 
---- xpp.cxx.orig       2004-12-07 08:00:04.000000000 +1300
-+++ xpp.cxx
-@@ -168,7 +168,7 @@ printFiles::printFiles(int  argc, /* I -
+--- xpp.cxx.orig       2004-12-06 20:00:04.000000000 +0100
++++ xpp.cxx    2020-03-04 15:20:53.406423152 +0100
+@@ -168,7 +168,7 @@
            {     
              char *tmp;
  
@@ -11,3 +11,160 @@
                tmp[0] = '\0';
                instance = tmp + 1;
              } 
+@@ -287,13 +287,14 @@
+     // Get printer information to show in the menu entry
+ 
+     ipp_t *request = CupsHelper::newIppRequest();
+-    char buf[1024], *state, *type, *location, *comment;
++    char buf[1024];
++    const char *state, *type, *location, *comment;
+     sprintf(buf,"ipp://%s:%d/printers/%s",CupsHelper::host(),
+             CupsHelper::port(),dests[i].name);
+     ippAddString(request,IPP_TAG_OPERATION,IPP_TAG_URI,"printer-uri",NULL,buf);
+-    request->request.op.operation_id = IPP_GET_PRINTER_ATTRIBUTES;
++    ippSetOperation(request, IPP_GET_PRINTER_ATTRIBUTES);
+     request = CupsHelper::processRequest(request,"/printers/");
+-    if (!request || request->curtag != IPP_TAG_PRINTER) {
++    if (!request) {
+       state = "Unknown";
+       type = "No Information Available";
+       location = "Location Unknown";
+@@ -302,7 +303,7 @@
+       ipp_attribute_t *attr = ippFindAttribute(request,"printer-state",
+                                                IPP_TAG_ENUM);
+       if (attr)
+-        switch (attr->values[0].integer) {
++        switch (ippGetInteger(attr, 0)) {
+           case IPP_PRINTER_IDLE:
+             state = "Printer idle";
+             break;
+@@ -316,19 +317,19 @@
+       else state = "Unknown";
+       attr = ippFindAttribute(request,"printer-info",IPP_TAG_TEXT);
+       if (attr)
+-        type = attr->values[0].string.text;
++        type = ippGetString(attr, 0, NULL);
+       else
+         type = "No Information Available";
+       if (strlen(type) == 0) type = "No Information Available";
+       attr = ippFindAttribute(request,"printer-location",IPP_TAG_TEXT);
+       if (attr)
+-        location = attr->values[0].string.text;
++        location = ippGetString(attr, 0, NULL);
+       else
+         location = "Location Unknown";
+       if (strlen(location) == 0) location = "Location Unknown";
+       attr = ippFindAttribute(request,"printer-make-and-model",IPP_TAG_TEXT);
+       if (attr)
+-        comment = attr->values[0].string.text;
++        comment = ippGetString(attr, 0, NULL);
+       else
+         comment = "";
+     }
+@@ -714,15 +715,15 @@
+   // return when the request fails.
+ 
+   ipp_t *request = CupsHelper::newIppRequest();
+-  char buffer[1024], *t;
+-  const char *s, *u;
++  char buffer[1024], *t2;
++  const char *s, *t, *u;
+   sprintf(buffer,"ipp://%s:%d/printers/%s",CupsHelper::host(),
+           CupsHelper::port(),dests[dest_pos].name);
+   ippAddString(request,IPP_TAG_OPERATION,IPP_TAG_URI,
+                "printer-uri",NULL,buffer);
+-  request->request.op.operation_id = IPP_GET_PRINTER_ATTRIBUTES;
++  ippSetOperation(request, IPP_GET_PRINTER_ATTRIBUTES);
+   request = CupsHelper::processRequest(request,"/printers/");
+-  if (!request || request->curtag != IPP_TAG_PRINTER) return;
++  if (!request) return;
+ 
+   // Check whether the printer supports banner pages and continue only
+   // if it does so
+@@ -732,13 +733,13 @@
+     // Enable the menus and insert all available banners
+     before->activate();
+     after->activate();
+-    for (i = 0; i < attr->num_values; i ++) {
++    for (i = 0; i < ippGetCount(attr); i ++) {
+       // Use the replacement method to avoid weird banner file names
+       // messing up the menues
+       before->add("x",0,0,0,0);
+-      before->replace(i,attr->values[i].string.text);
++      before->replace(i,ippGetString(attr, i, NULL));
+       after->add("x",0,0,0,0);
+-      after->replace(i,attr->values[i].string.text);
++      after->replace(i,ippGetString(attr, i, NULL));
+     }
+     // Determine which banners are currently set
+     u = before->menu()->label();
+@@ -746,18 +747,19 @@
+                                        changed_options)) {
+       strcpy(buffer,s);
+       s = buffer;
+-      t = strchr(buffer,',');
+-      if (t) {
+-        *t = '\0';
+-        t ++;
++      t2 = strchr(buffer,',');
++      if (t2) {
++        *t2 = '\0';
++        t2 ++;
+       } else {
+-        t = (char *)u;
++        t2 = (char *)u;
+       }
++      t = t2;
+     } else if ((attr = ippFindAttribute(request, "job-sheets-default",
+                                         IPP_TAG_NAME)) != NULL) {
+-      if (attr->num_values > 0) s = attr->values[0].string.text;
++      if (ippGetCount(attr) > 0) s = ippGetString(attr, 0, NULL);
+       else s = u;
+-      if (attr->num_values > 1) t = attr->values[1].string.text;
++      if (ippGetCount(attr) > 1) t = ippGetString(attr, 1, NULL);
+       else t = (char *)u;
+     } else {
+       s = u;
+@@ -795,20 +797,20 @@
+           CupsHelper::port(),dests[dest_pos].name);
+   ippAddString(request,IPP_TAG_OPERATION,IPP_TAG_URI,
+                "printer-uri",NULL,buffer);
+-  request->request.op.operation_id = IPP_GET_PRINTER_ATTRIBUTES;
++  ippSetOperation(request, IPP_GET_PRINTER_ATTRIBUTES);
+   request = CupsHelper::processRequest(request,"/printers/");
+ 
+   // Get the default settings
+ 
+   ipp_attribute_t *attr;
+-  if ((request) && (request->curtag == IPP_TAG_PRINTER))
++  if (request)
+     attr = ippFindAttribute(request,"job-sheets-default", IPP_TAG_NAME);
+   else attr = NULL;
+   u = before->menu()->label();
+   if (attr) {
+-    if (attr->num_values > 0) s = attr->values[0].string.text;
++    if (ippGetCount(attr) > 0) s = ippGetString(attr, 0, NULL);
+     else s = u;
+-    if (attr->num_values > 1) t = attr->values[1].string.text;
++    if (ippGetCount(attr) > 1) t = ippGetString(attr, 1, NULL);
+     else t = u;
+   } else {
+     s = u;
+@@ -2500,7 +2502,7 @@
+     // Redraw the destination menu in the main window
+ 
+     printerPack->parent()->redraw();
+-    printerPack->draw();
++    printerPack->redraw();
+   
+   }
+ 
+@@ -2674,7 +2676,7 @@
+   // Redraw the destination menu in the main window
+ 
+   printerPack->parent()->redraw();
+-  printerPack->draw();
++  printerPack->redraw();
+   
+   return(dest_index);
+ }
diff -r 54c036397a20 -r 9ee0fcda7014 print/xpp/patches/patch-cupshelper.cxx
--- a/print/xpp/patches/patch-cupshelper.cxx    Thu Mar 05 14:56:52 2020 +0000
+++ b/print/xpp/patches/patch-cupshelper.cxx    Thu Mar 05 14:57:59 2020 +0000
@@ -1,7 +1,9 @@
-$NetBSD: patch-cupshelper.cxx,v 1.1 2011/12/06 19:48:47 joerg Exp $
+$NetBSD: patch-cupshelper.cxx,v 1.2 2020/03/05 14:57:59 bouyer Exp $
 
---- cupshelper.cxx.orig        2011-12-06 14:22:14.000000000 +0000
-+++ cupshelper.cxx
+update for new cups API
+
+--- cupshelper.cxx.orig        2002-05-28 17:49:45.000000000 +0200
++++ cupshelper.cxx     2020-03-04 15:02:34.300403189 +0100
 @@ -34,6 +34,7 @@
  #include "cupshelper.h"
  #include "passworddialog.h"
@@ -10,3 +12,40 @@
  #include <stdlib.h>
  #include <cups/language.h>
  
+@@ -90,7 +91,7 @@
+ 
+ ipp_t* CupsHelper::newIppRequest(){
+       ipp_t   *request = ippNew();
+-      request->request.op.request_id = 1;
++      ippSetRequestId(request, 1);
+       cups_lang_t     *lang = cupsLangDefault();
+       ippAddString(request,IPP_TAG_OPERATION,IPP_TAG_CHARSET,"attributes-charset",NULL,cupsLangEncoding(lang));
+       ippAddString(request,IPP_TAG_OPERATION,IPP_TAG_LANGUAGE,"attributes-natural-language",NULL,lang->language);
+@@ -108,7 +109,7 @@
+       httpClose(HTTP);
+       if (!answer)
+               return 0;
+-      if (answer->state == IPP_ERROR || answer->state == IPP_IDLE)
++      if (ippGetState(answer) == IPP_ERROR || ippGetState(answer) == IPP_IDLE)
+       {
+               ippDelete(answer);
+               return 0;
+@@ -151,15 +152,15 @@
+       char      str[256];
+       int       value(-1);
+ 
+-      request->request.op.operation_id = IPP_GET_PRINTER_ATTRIBUTES;
++      ippSetOperation(request, IPP_GET_PRINTER_ATTRIBUTES);
+       sprintf(str,"ipp://%s:%d/printers/%s",host(),port(),name);
+       ippAddString(request,IPP_TAG_OPERATION,IPP_TAG_URI,"printer-uri",NULL,str);
+       //sprintf(str,"/printers/%s",name);
+       sprintf(str,"/printers/");
+       request = processRequest(request,str);
+-      if (request && request->curtag == IPP_TAG_PRINTER) {
++      if (request) {
+               ipp_attribute_t *attr = ippFindAttribute(request,"printer-type",IPP_TAG_ENUM);
+-              if (attr) value = attr->values[0].integer;
++              if (attr) value = ippGetInteger(attr, 0);
+       }
+       ippDelete(request);
+       return value;



Home | Main Index | Thread Index | Old Index