Package: xpdf
Version: 3.03-9
Severity: normal
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu quantal ubuntu-patch

Dear Maintainer,

We are using this patch in Ubuntu to handle the changes in libpoppler's
API version 19 to version 25/26.  Please consider for Debian.

  * Follow changes to libpoppler25 ABI.

Thanks for considering the patch.

-apw
-- System Information:
Debian Release: wheezy/sid
  APT prefers precise-updates
  APT policy: (500, 'precise-updates'), (500, 'precise-security'), (500, 
'precise-proposed'), (500, 'precise'), (100, 'precise-backports')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-26-generic (SMP w/2 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
diff -Nru xpdf-3.03/debian/changelog xpdf-3.03/debian/changelog
diff -Nru xpdf-3.03/debian/patches/check-system-calls.patch xpdf-3.03/debian/patches/check-system-calls.patch
--- xpdf-3.03/debian/patches/check-system-calls.patch	2012-02-25 01:22:51.000000000 +0000
+++ xpdf-3.03/debian/patches/check-system-calls.patch	2012-06-12 18:54:08.000000000 +0100
@@ -19,7 +19,7 @@
 -	system(fileName->getCString());
 +	errcode = system(fileName->getCString());
 +        if (errcode != 0) {
-+          error( -1 , "non-zero error code returned by system call");
++          error(errInternal, -1 , "non-zero error code returned by system call");
 +        }
        } else {
  	msg = new GString("About to execute the command:\n");
@@ -28,7 +28,7 @@
 -	  system(fileName->getCString());
 +	  errcode = system(fileName->getCString());
 +          if (errcode != 0) {
-+            error( -1 , "non-zero error code returned by system call");
++            error(errInternal, -1 , "non-zero error code returned by system call");
 +          }
  	}
  	delete msg;
@@ -48,7 +48,7 @@
 -  system(cmd->getCString());
 +  errcode = system(cmd->getCString());
 +  if (errcode != 0) {
-+      error( -1 , "non-zero error code returned by system call");
++      error(errInternal, -1 , "non-zero error code returned by system call");
 +  }
    delete cmd;
  }
@@ -72,7 +72,7 @@
 -  system(cmd->getCString());
 +  errcode = system(cmd->getCString());
 +  if (errcode != 0) {
-+      error( -1, "non-zero error code return by system call");
++      error(errInternal, -1, "non-zero error code return by system call");
 +  }
    delete cmd;
  }
diff -Nru xpdf-3.03/debian/patches/series xpdf-3.03/debian/patches/series
--- xpdf-3.03/debian/patches/series	2012-02-25 01:35:11.000000000 +0000
+++ xpdf-3.03/debian/patches/series	2012-06-12 18:54:08.000000000 +0100
@@ -23,3 +23,4 @@
 fix-invalid-conversions.patch
 check-system-calls.patch
 fix-pointer-casting.patch
+track_libpopper25_api_changes.patch
diff -Nru xpdf-3.03/debian/patches/track_libpopper25_api_changes.patch xpdf-3.03/debian/patches/track_libpopper25_api_changes.patch
--- xpdf-3.03/debian/patches/track_libpopper25_api_changes.patch	1970-01-01 01:00:00.000000000 +0100
+++ xpdf-3.03/debian/patches/track_libpopper25_api_changes.patch	2012-06-12 18:54:08.000000000 +0100
@@ -0,0 +1,121 @@
+Description: track changes to libpoppler25 API
+ Track changes to the libpoppler25 ABI
+ .
+ startDoc now takes a PDFDoc rather than and XRef
+ TextOutputDev::TextOutputDev has an additional fixedPitch parameter, 0
+ triggering previous behaviour.
+ TextOutputDev::findText has an additions wholeWord parameter
+ PSOutputDev::PSOutputDev no longer takes Xref or Catalog parameters
+Author: Andy Whitcroft <a...@ubuntu.com>
+Last-Updated: 2012-06-12
+Index: xpdf-3.03/xpdf/PDFCore.cc
+===================================================================
+--- xpdf-3.03.orig/xpdf/PDFCore.cc	2012-06-11 19:46:42.000000000 +0100
++++ xpdf-3.03/xpdf/PDFCore.cc	2012-06-12 09:26:58.919206959 +0100
+@@ -196,7 +196,7 @@
+   }
+   doc = newDoc;
+   if (out) {
+-    out->startDoc(doc->getXRef());
++    out->startDoc(newDoc);
+   }
+ 
+   // nothing displayed yet
+@@ -901,7 +901,7 @@
+     page->links = doc->getLinks(page->page);
+   }
+   if (!page->text) {
+-    if ((textOut = new TextOutputDev(NULL, gTrue, gFalse, gFalse))) {
++    if ((textOut = new TextOutputDev(NULL, gTrue, 0, gFalse, gFalse))) {
+       doc->displayPage(textOut, page->page, dpi, dpi, rotate,
+ 		       gFalse, gTrue, gFalse);
+       page->text = textOut->takeText();
+@@ -1661,7 +1661,7 @@
+     }
+     s = page->text->getText(x0, y0, x1, y1);
+   } else {
+-    textOut = new TextOutputDev(NULL, gTrue, gFalse, gFalse);
++    textOut = new TextOutputDev(NULL, gTrue, 0, gFalse, gFalse);
+     if (textOut->isOk()) {
+       doc->displayPage(textOut, pg, dpi, dpi, rotate, gFalse, gTrue, gFalse);
+       textOut->cvtUserToDev(xMin, yMin, &x0, &y0);
+@@ -1741,7 +1741,7 @@
+     page = findPage(pg);
+   }
+   if (page->text->findText(u, len, startAtTop, gTrue, startAtLast, gFalse,
+-			   caseSensitive, backward,
++			   caseSensitive, backward, gFalse,
+ 			   &xMin, &yMin, &xMax, &yMax)) {
+     goto found;
+   }
+@@ -1749,7 +1749,7 @@
+   if (!onePageOnly) {
+ 
+     // search following/previous pages
+-    textOut = new TextOutputDev(NULL, gTrue, gFalse, gFalse);
++    textOut = new TextOutputDev(NULL, gTrue, 0, gFalse, gFalse);
+     if (!textOut->isOk()) {
+       delete textOut;
+       goto notFound;
+@@ -1759,7 +1759,7 @@
+ 	 pg += backward ? -1 : 1) {
+       doc->displayPage(textOut, pg, 72, 72, 0, gFalse, gTrue, gFalse);
+       if (textOut->findText(u, len, gTrue, gTrue, gFalse, gFalse,
+-			    caseSensitive, backward,
++			    caseSensitive, backward, gFalse,
+ 			    &xMin, &yMin, &xMax, &yMax)) {
+ 	delete textOut;
+ 	goto foundPage;
+@@ -1772,7 +1772,7 @@
+ 	 pg += backward ? -1 : 1) {
+       doc->displayPage(textOut, pg, 72, 72, 0, gFalse, gTrue, gFalse);
+       if (textOut->findText(u, len, gTrue, gTrue, gFalse, gFalse,
+-			    caseSensitive, backward,
++			    caseSensitive, backward, gFalse,
+ 			    &xMin, &yMin, &xMax, &yMax)) {
+ 	delete textOut;
+ 	goto foundPage;
+@@ -1794,7 +1794,7 @@
+       yMax = selectLRY;
+     }
+     if (page->text->findText(u, len, gTrue, gFalse, gFalse, stopAtLast,
+-			     caseSensitive, backward,
++			     caseSensitive, backward, gFalse,
+ 			     &xMin, &yMin, &xMax, &yMax)) {
+       goto found;
+     }
+@@ -1811,7 +1811,7 @@
+ 	 gTrue);
+   page = findPage(pg);
+   if (!page->text->findText(u, len, gTrue, gTrue, gFalse, gFalse,
+-			    caseSensitive, backward,
++			    caseSensitive, backward, gFalse,
+ 			    &xMin, &yMin, &xMax, &yMax)) {
+     // this can happen if coalescing is bad
+     goto notFound;
+Index: xpdf-3.03/xpdf/XPDFViewer.cc
+===================================================================
+--- xpdf-3.03.orig/xpdf/XPDFViewer.cc	2012-06-11 20:06:31.579178695 +0100
++++ xpdf-3.03/xpdf/XPDFViewer.cc	2012-06-12 09:49:04.405779684 +0100
+@@ -3711,8 +3711,8 @@
+   // Normal print mode
+   if (printAll && !printBack)
+   {
+-    psOut = new PSOutputDev(psFileName->getCString(), doc, doc->getXRef(),
+-          doc->getCatalog(), NULL, firstPage, lastPage,
++    psOut = new PSOutputDev(psFileName->getCString(), doc,
++          NULL, firstPage, lastPage,
+           psModePS);
+     if (psOut->isOk()) {
+       doc->displayPages(psOut, firstPage, lastPage, 72, 72,
+@@ -3757,8 +3757,8 @@
+     {
+       for (i=beginPage;; i+=step)
+       {
+-        psOut = new PSOutputDev(psFileName->getCString(), doc, doc->getXRef(),
+-              doc->getCatalog(), NULL, i, i, psModePS);
++        psOut = new PSOutputDev(psFileName->getCString(), doc,
++              NULL, i, i, psModePS);
+         if (psOut->isOk()) {
+           doc->displayPages(psOut, i, i, 72, 72,
+                 0, gTrue, globalParams->getPSCrop(), gFalse);
diff -Nru xpdf-3.03/debian/rules xpdf-3.03/debian/rules
--- xpdf-3.03/debian/rules	2012-05-06 18:55:56.000000000 +0100
+++ xpdf-3.03/debian/rules	2012-06-12 18:54:08.000000000 +0100
@@ -24,7 +24,7 @@
 	cp $(sources) $(headers) build
 	sed -e s/GString/GooString/g -e s/GMutex/GooMutex/g -e s/GHash/GooHash/g \
 	    -e s/GList/GooList/g -e s/\<aconf\.h\>/\<poppler-config\.h\>/g \
-	    -e s/errConfig,//g -e s/errSyntaxError,//g -e s/errIO,//g -i build/*
+	    -i build/*
 	mv build/parseargs.c build/parseargs.cc
 
 override_dh_auto_build: $(objects)

Reply via email to