]> git.pld-linux.org Git - packages/cups-filters.git/commitdiff
- added poppler patch (adjust for poppler 0.72 API changes); release 2 auto/th/cups-filters-1.21.6-2
authorJakub Bogusz <qboosh@pld-linux.org>
Fri, 21 Dec 2018 04:46:41 +0000 (05:46 +0100)
committerJakub Bogusz <qboosh@pld-linux.org>
Fri, 21 Dec 2018 04:46:41 +0000 (05:46 +0100)
cups-filters-poppler.patch [new file with mode: 0644]
cups-filters.spec

diff --git a/cups-filters-poppler.patch b/cups-filters-poppler.patch
new file mode 100644 (file)
index 0000000..96c5c05
--- /dev/null
@@ -0,0 +1,234 @@
+--- cups-filters-1.21.6/filter/pdftoopvp/oprs/OPVPSplashClip.cxx.orig  2018-12-17 17:50:48.000000000 +0100
++++ cups-filters-1.21.6/filter/pdftoopvp/oprs/OPVPSplashClip.cxx       2018-12-20 21:00:31.188863926 +0100
+@@ -40,14 +40,15 @@
+   
+   /* dummy call to clear state */
+   scanners[0]->getBBox(&tsxMin,&tsyMin,&tsxMax,&tsyMax);
+-  scanners[0]->getNextSpan(tsyMin-2,&x0,&x1);
++  SplashXPathScanIterator(*scanners[0], tsyMin-2).getNextSpan(&x0,&x1);
+   for (y = tyMin;y <= tyMax;y++) {
+     /* clear buffer */
+     for (i = 0;i < blen;i++) {
+       cbuf[i] = 0;
+     }
+-    while (scanners[0]->getNextSpan(y,&x0,&x1)) {
++    SplashXPathScanIterator iter(*scanners[0], y);
++    while (iter.getNextSpan(&x0,&x1)) {
+       if (x0 < txMin) x0 = txMin;
+       if (x1 > txMax) x1 = txMax;
+       for (i = x0;i < x1;i++) {
+@@ -59,7 +60,8 @@
+       for (i = 0;i < blen;i++) {
+       tbuf[i] = 0;
+       }
+-      while (scanners[j]->getNextSpan(y,&x0,&x1)) {
++      SplashXPathScanIterator iter2(*scanners[j], y);
++      while (iter2.getNextSpan(&x0,&x1)) {
+       if (x0 < txMin) x0 = txMin;
+       if (x1 > txMax) x1 = txMax;
+       for (i = x0;i < x1;i++) {
+--- cups-filters-1.21.6/filter/pdftoopvp/oprs/OPVPSplash.cxx.orig      2018-12-17 17:50:48.000000000 +0100
++++ cups-filters-1.21.6/filter/pdftoopvp/oprs/OPVPSplash.cxx   2018-12-20 21:02:03.895529536 +0100
+@@ -1006,7 +1006,8 @@
+     setStrokePattern(state->fillPattern->copy());
+     for (y = yMinI; y < yMaxI; ++y) {
+-      while (scanner->getNextSpan(y, &x0, &x1)) {
++      SplashXPathScanIterator iter(*scanner, y);
++      while (iter.getNextSpan(&x0, &x1)) {
+         if (x0 == x1) continue;
+       if (clipRes == splashClipAllInside) {
+         drawSpan(x0, x1-1, y, true);
+--- cups-filters-1.21.6/filter/pdftoopvp/OPVPOutputDev.cxx.orig        2018-12-17 17:50:48.000000000 +0100
++++ cups-filters-1.21.6/filter/pdftoopvp/OPVPOutputDev.cxx     2018-12-20 21:05:04.392194142 +0100
+@@ -294,7 +294,7 @@
+   if (state) {
+     if (scaleWidth > 0 && scaleHeight > 0) {
+-      double *ctm = state->getCTM();
++      const double *ctm = state->getCTM();
+       switch (rotate) {
+       case 90:
+@@ -548,7 +548,7 @@
+                           &faceIndex, NULL);
+       if (fileName == 0) {
+       opvpError(-1, "Couldn't find a font for '%s'",
+-            gfxFont->getName() ? gfxFont->getName()->getCString()
++            gfxFont->getName() ? gfxFont->getName()->c_str()
+                                : "(unnamed)");
+       goto err2;
+       }
+@@ -574,7 +574,7 @@
+       }
+       if (!dfp) {
+       opvpError(-1, "Couldn't find a font for '%s'",
+-            gfxFont->getName() ? gfxFont->getName()->getCString()
++            gfxFont->getName() ? gfxFont->getName()->c_str()
+                                : "(unnamed)");
+       goto err2;
+       }
+@@ -609,7 +609,7 @@
+ #endif
+                          ((Gfx8BitFont *)gfxFont)->getEncoding()))) {
+       opvpError(-1, "Couldn't create a font for '%s'",
+-            gfxFont->getName() ? gfxFont->getName()->getCString()
++            gfxFont->getName() ? gfxFont->getName()->c_str()
+                                : "(unnamed)");
+       goto err2;
+       }
+@@ -623,7 +623,7 @@
+ #endif
+                          ((Gfx8BitFont *)gfxFont)->getEncoding()))) {
+       opvpError(-1, "Couldn't create a font for '%s'",
+-            gfxFont->getName() ? gfxFont->getName()->getCString()
++            gfxFont->getName() ? gfxFont->getName()->c_str()
+                                : "(unnamed)");
+       goto err2;
+       }
+@@ -637,7 +637,7 @@
+ #endif
+                          ((Gfx8BitFont *)gfxFont)->getEncoding()))) {
+       opvpError(-1, "Couldn't create a font for '%s'",
+-            gfxFont->getName() ? gfxFont->getName()->getCString()
++            gfxFont->getName() ? gfxFont->getName()->c_str()
+                                : "(unnamed)");
+       goto err2;
+       }
+@@ -645,7 +645,7 @@
+     case fontTrueTypeOT:
+     case fontTrueType:
+       if (fileName)
+-       ff = FoFiTrueType::load(fileName->getCString());
++       ff = FoFiTrueType::load(fileName->c_str());
+       else
+       ff = FoFiTrueType::make(tmpBuf, tmpBufLen);
+       if (ff) {
+@@ -661,7 +661,7 @@
+                          fontsrc,
+                          codeToGID, n))) {
+       opvpError(-1, "Couldn't create a font for '%s'",
+-            gfxFont->getName() ? gfxFont->getName()->getCString()
++            gfxFont->getName() ? gfxFont->getName()->c_str()
+                                : "(unnamed)");
+       goto err2;
+       }
+@@ -672,7 +672,7 @@
+                          id,
+                          fontsrc))) {
+       opvpError(-1, "Couldn't create a font for '%s'",
+-            gfxFont->getName() ? gfxFont->getName()->getCString()
++            gfxFont->getName() ? gfxFont->getName()->c_str()
+                                : "(unnamed)");
+       goto err2;
+       }
+@@ -696,7 +696,7 @@
+                          fontsrc))) {
+ #endif
+       opvpError(-1, "Couldn't create a font for '%s'",
+-            gfxFont->getName() ? gfxFont->getName()->getCString()
++            gfxFont->getName() ? gfxFont->getName()->c_str()
+                                : "(unnamed)");
+       goto err2;
+       }
+@@ -720,7 +720,7 @@
+       }
+       } else {
+       if (fileName)
+-        ff = FoFiTrueType::load(fileName->getCString());
++        ff = FoFiTrueType::load(fileName->c_str());
+       else
+         ff = FoFiTrueType::make(tmpBuf, tmpBufLen);
+       if (! ff)
+@@ -733,7 +733,7 @@
+                          fontsrc,
+                          codeToGID, n, faceIndex))) {
+       opvpError(-1, "Couldn't create a font for '%s'",
+-            gfxFont->getName() ? gfxFont->getName()->getCString()
++            gfxFont->getName() ? gfxFont->getName()->c_str()
+                                : "(unnamed)");
+       goto err2;
+       }
+@@ -760,7 +760,7 @@
+   if (fontFile->doAdjustMatrix && !gfxFont->isCIDFont()) {
+     double w1, w2;
+     CharCode code;
+-    char *name;
++    const char *name;
+     for (code = 0; code < 256; ++code) {
+       if ((name = ((Gfx8BitFont *)gfxFont)->getCharName(code)) &&
+           name[0] == 'm' && name[1] == '\0') {
+@@ -1115,7 +1115,7 @@
+                                   int width, int height, bool invert,
+                                   bool interpolate,
+                                   bool inlineImg) {
+-  double *ctm;
++  const double *ctm;
+   SplashCoord mat[6];
+   SplashOutImageMaskData imgMaskData;
+@@ -1379,7 +1379,7 @@
+                               GfxImageColorMap *colorMap,
+                               bool interpolate,
+                               int *maskColors, bool inlineImg) {
+-  double *ctm;
++  const double *ctm;
+   SplashCoord mat[6];
+   SplashOutImageData imgData;
+   SplashColorMode srcMode;
+@@ -1604,7 +1604,7 @@
+                                     Stream *maskStr, int maskWidth,
+                                     int maskHeight, bool maskInvert,
+                                     bool maskInterpolate) {
+-  double *ctm;
++  const double *ctm;
+   SplashCoord mat[6];
+   SplashOutMaskedImageData imgData;
+   SplashOutImageMaskData imgMaskData;
+@@ -1759,7 +1759,7 @@
+                                         int maskWidth, int maskHeight,
+                                         GfxImageColorMap *maskColorMap,
+                                         bool maskInterpolate) {
+-  double *ctm;
++  const double *ctm;
+   SplashCoord mat[6];
+   SplashOutImageData imgData;
+   SplashOutImageData imgMaskData;
+--- cups-filters-1.21.6/filter/pdftoopvp/pdftoopvp.cxx.orig    2018-12-17 17:50:48.000000000 +0100
++++ cups-filters-1.21.6/filter/pdftoopvp/pdftoopvp.cxx 2018-12-20 21:09:35.195524381 +0100
+@@ -482,11 +482,11 @@
+       if (choices != 0) free(choices);
+     }
+-    strncpy(jobInfo,jobInfoStr.getCString(),sizeof(jobInfo)-1);
++    strncpy(jobInfo,jobInfoStr.c_str(),sizeof(jobInfo)-1);
+     jobInfo[sizeof(jobInfo)-1] = '\0';
+-    strncpy(docInfo,docInfoStr.getCString(),sizeof(docInfo)-1);
++    strncpy(docInfo,docInfoStr.c_str(),sizeof(docInfo)-1);
+     docInfo[sizeof(docInfo)-1] = '\0';
+-    strncpy(pageInfo,pageInfoStr.getCString(),sizeof(pageInfo)-1);
++    strncpy(pageInfo,pageInfoStr.c_str(),sizeof(pageInfo)-1);
+     pageInfo[sizeof(pageInfo)-1] = '\0';
+     colorProfile = getColorProfilePath(ppd,&colorProfilePath);
+@@ -647,7 +647,9 @@
+       name.append("/tmp");
+     }
+     name.append("/XXXXXX");
+-    fd = mkstemp(name.getCString());
++    char namebuf[name.getLength()+1];
++    strcpy(namebuf, name.c_str());
++    fd = mkstemp(namebuf);
+     if (fd < 0) {
+       opvpError(-1,"Can't create temporary file");
+       exitCode = 2;
+@@ -691,7 +693,7 @@
+     close(fd);
+     doc = new PDFDoc(&name);
+     /* remove name */
+-    unlink(name.getCString());
++    unlink(name.c_str());
+   } else {
+     /* no jcl check */
+     doc = new PDFDoc(fileName.copy());
index 1837b00e811083dcfb18713611e1bfd665b64fa3..723466592c0b19efbb01e305df7053d2686dcdbe 100644 (file)
@@ -12,7 +12,7 @@ Summary:      OpenPrinting CUPS filters and backends
 Summary(pl.UTF-8):     Filtry i backendy CUPS-a z projektu OpenPrinting
 Name:          cups-filters
 Version:       1.21.6
-Release:       1
+Release:       2
 # For a breakdown of the licensing, see COPYING file
 # GPLv2:   filters: commandto*, imagetoraster, pdftops, rasterto*,
 #                   imagetopdf, pstopdf, texttopdf
@@ -30,6 +30,7 @@ Patch0:               %{name}-dbus.patch
 Patch1:                %{name}-php.patch
 Patch2:                %{name}-php7.patch
 Patch3:                %{name}-php73.patch
+Patch4:                %{name}-poppler.patch
 URL:           http://www.linuxfoundation.org/collaborate/workgroups/openprinting/cups-filters
 BuildRequires: autoconf >= 2.65
 BuildRequires: automake >= 1:1.11
@@ -56,7 +57,7 @@ BuildRequires:        openldap-devel
 BuildRequires: pkgconfig >= 1:0.20
 # just for cpp/poppler-version.h
 BuildRequires: poppler-cpp-devel >= 0.18
-BuildRequires: poppler-devel >= 0.18
+BuildRequires: poppler-devel >= 0.72.0
 # /usr/bin/pdftops, for features detection
 BuildRequires: poppler-progs >= 0.18
 BuildRequires: qpdf-devel >= 8.1.0
@@ -250,6 +251,7 @@ Moduł PHP do ogólnego systemu druku dla Uniksa.
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
+%patch4 -p1
 
 %build
 %{__aclocal}
This page took 0.070905 seconds and 4 git commands to generate.