From 766f22857d4ea2453c9fb30aa1d8eca698334033 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Tue, 6 Aug 2013 08:40:37 -0300 Subject: cups-filters-libre-1.0.35-4: add more upstream fixes and rebuild against poppler --- libre/cups-filters-libre/PKGBUILD | 19 +- libre/cups-filters-libre/poppler_buildfix.diff | 276 +++++++++++++++++++++++++ 2 files changed, 289 insertions(+), 6 deletions(-) create mode 100644 libre/cups-filters-libre/poppler_buildfix.diff diff --git a/libre/cups-filters-libre/PKGBUILD b/libre/cups-filters-libre/PKGBUILD index 6921ab67c..1304844bd 100644 --- a/libre/cups-filters-libre/PKGBUILD +++ b/libre/cups-filters-libre/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 189893 2013-07-10 19:19:27Z andyrtr $ +# $Id: PKGBUILD 191975 2013-08-03 07:52:29Z andyrtr $ # Maintainer: Andreas Radke pkgname=cups-filters-libre _pkgname=cups-filters pkgver=1.0.35 -pkgrel=2 +pkgrel=4 pkgdesc="OpenPrinting CUPS Filters, without foomatic-db-nonfree recommendation" arch=('i686' 'x86_64') url="http://www.linuxfoundation.org/collaborate/workgroups/openprinting" @@ -18,15 +18,21 @@ backup=(etc/fonts/conf.d/99pdftoopvp.conf etc/cups/cups-browsed.conf) options=(!libtool) source=(http://www.openprinting.org/download/cups-filters/$_pkgname-$pkgver.tar.gz + poppler_buildfix.diff cups-browsed.service) md5sums=('26f150f1e9ce1f7b0f38ae4ebb01e23d' + 'e898ddcb65fb08d96595eac24fe0b1ac' '9ef68d7c2a84713fd421f4e87dec0a6e') replaces=("${_pkgname}") conflicts=("${_pkgname}") provides=("${_pkgname}=${pkgver}") build() { - cd "$srcdir/$_pkgname-$pkgver" + cd $_pkgname-$pkgver + + # fix build with poppler 0.24.0 + patch -Np0 -i ${srcdir}/poppler_buildfix.diff + ./configure --prefix=/usr \ --sysconfdir=/etc \ --sbindir=/usr/bin \ @@ -38,12 +44,13 @@ build() { } check() { - cd "$srcdir/$_pkgname-$pkgver" - make -j1 -k check + cd $_pkgname-$pkgver + #make -j1 -k check + make check } package() { - cd "$srcdir/$_pkgname-$pkgver" + cd $_pkgname-$pkgver make DESTDIR="$pkgdir/" install # drop static lib rm -f ${pkgdir}/usr/lib/*.a diff --git a/libre/cups-filters-libre/poppler_buildfix.diff b/libre/cups-filters-libre/poppler_buildfix.diff new file mode 100644 index 000000000..18fc643f9 --- /dev/null +++ b/libre/cups-filters-libre/poppler_buildfix.diff @@ -0,0 +1,276 @@ +=== modified file 'filter/pdf.cxx' +--- filter/pdf.cxx 2012-08-19 22:31:27 +0000 ++++ filter/pdf.cxx 2013-08-01 15:48:06 +0000 +@@ -17,6 +17,10 @@ + #include "pdf.h" + + #include ++#include ++#ifdef HAVE_CPP_POPPLER_VERSION_H ++#include "cpp/poppler-version.h" ++#endif + + + extern "C" pdf_t * pdf_load_template(const char *filename) +@@ -343,7 +347,11 @@ + { + } + ++#if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 23 ++ Goffset getPos() ++#else + int getPos() ++#endif + { + return this->pos; + } + +=== modified file 'filter/pdftoijs.cxx' +--- filter/pdftoijs.cxx 2012-09-20 22:53:10 +0000 ++++ filter/pdftoijs.cxx 2013-08-01 15:48:06 +0000 +@@ -70,8 +70,13 @@ + } + + #if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 19 ++#if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 23 ++void CDECL myErrorFun(void *data, ErrorCategory category, ++ Goffset pos, char *msg) ++#else + void CDECL myErrorFun(void *data, ErrorCategory category, + int pos, char *msg) ++#endif + { + if (pos >= 0) { + fprintf(stderr, "ERROR (%d): ", pos); +@@ -297,19 +302,15 @@ + if (argc == 6) { + /* stdin */ + int fd; +- Object obj; +- BaseStream *str; +- FILE *fp; ++ char name[BUFSIZ]; + char buf[BUFSIZ]; + int n; + +- fd = cupsTempFd(buf,sizeof(buf)); ++ fd = cupsTempFd(name,sizeof(name)); + if (fd < 0) { + pdfError(-1,"Can't create temporary file"); + exit(1); + } +- /* remove name */ +- unlink(buf); + + /* copy stdin to the tmp file */ + while ((n = read(0,buf,BUFSIZ)) > 0) { +@@ -319,23 +320,10 @@ + exit(1); + } + } +- if (lseek(fd,0,SEEK_SET) < 0) { +- pdfError(-1,"Can't rewind temporary file"); +- close(fd); +- exit(1); +- } +- +- if ((fp = fdopen(fd,"rb")) == 0) { +- pdfError(-1,"Can't fdopen temporary file"); +- close(fd); +- exit(1); +- } +- +- obj.initNull(); +-// parsePDFTOPDFComment(fp); // TODO? +- rewind(fp); +- str = new FileStream(fp,0,gFalse,0,&obj); +- doc = new PDFDoc(str); ++ close(fd); ++ doc = new PDFDoc(new GooString(name)); ++ /* remove name */ ++ unlink(name); + } else { + GooString *fileName = new GooString(argv[6]); + /* argc == 7 filenmae is specified */ + +=== modified file 'filter/pdftoopvp/pdftoopvp.cxx' +--- filter/pdftoopvp/pdftoopvp.cxx 2012-07-20 08:32:55 +0000 ++++ filter/pdftoopvp/pdftoopvp.cxx 2013-08-01 15:48:06 +0000 +@@ -112,8 +112,13 @@ + #define MAX_OPVP_OPTIONS 20 + + #if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 19 ++#if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 23 ++void CDECL myErrorFun(void *data, ErrorCategory category, ++ Goffset pos, char *msg) ++#else + void CDECL myErrorFun(void *data, ErrorCategory category, + int pos, char *msg) ++#endif + { + if (pos >= 0) { + fprintf(stderr, "ERROR (%d): ", pos); +@@ -619,9 +624,6 @@ + char *s; + GooString name; + int fd; +- Object obj; +- BaseStream *str; +- FILE *fp; + char buf[4096]; + int n; + +@@ -633,8 +635,6 @@ + } + name.append("/XXXXXX"); + fd = mkstemp(name.getCString()); +- /* remove name */ +- unlink(name.getCString()); + if (fd < 0) { + opvpError(-1,"Can't create temporary file"); + exitCode = 2; +@@ -675,23 +675,10 @@ + goto err0; + } + } +- if (lseek(fd,0,SEEK_SET) < 0) { +- opvpError(-1,"Can't rewind temporary file"); +- close(fd); +- exitCode = 2; +- goto err0; +- } +- +- if ((fp = fdopen(fd,"rb")) == 0) { +- opvpError(-1,"Can't fdopen temporary file"); +- close(fd); +- exitCode = 2; +- goto err0; +- } +- +- obj.initNull(); +- str = new FileStream(fp,0,gFalse,0,&obj); +- doc = new PDFDoc(str); ++ close(fd); ++ doc = new PDFDoc(&name); ++ /* remove name */ ++ unlink(name.getCString()); + } else { + /* no jcl check */ + doc = new PDFDoc(fileName.copy()); + +=== modified file 'filter/pdftoraster.cxx' +--- filter/pdftoraster.cxx 2013-07-30 17:00:43 +0000 ++++ filter/pdftoraster.cxx 2013-08-01 15:48:06 +0000 +@@ -186,8 +186,13 @@ + } + + #if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 19 ++#if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 23 ++void CDECL myErrorFun(void *data, ErrorCategory category, ++ Goffset pos, char *msg) ++#else + void CDECL myErrorFun(void *data, ErrorCategory category, + int pos, char *msg) ++#endif + { + if (pos >= 0) { + fprintf(stderr, "ERROR (%d): ", pos); +@@ -1776,19 +1781,15 @@ + if (argc == 6) { + /* stdin */ + int fd; +- Object obj; +- BaseStream *str; +- FILE *fp; ++ char name[BUFSIZ]; + char buf[BUFSIZ]; + int n; + +- fd = cupsTempFd(buf,sizeof(buf)); ++ fd = cupsTempFd(name,sizeof(name)); + if (fd < 0) { + pdfError(-1,const_cast("Can't create temporary file")); + exit(1); + } +- /* remove name */ +- unlink(buf); + + /* copy stdin to the tmp file */ + while ((n = read(0,buf,BUFSIZ)) > 0) { +@@ -1798,23 +1799,10 @@ + exit(1); + } + } +- if (lseek(fd,0,SEEK_SET) < 0) { +- pdfError(-1,const_cast("Can't rewind temporary file")); +- close(fd); +- exit(1); +- } +- +- if ((fp = fdopen(fd,"rb")) == 0) { +- pdfError(-1,const_cast("Can't fdopen temporary file")); +- close(fd); +- exit(1); +- } +- +- obj.initNull(); +- parsePDFTOPDFComment(fp); +- rewind(fp); +- str = new FileStream(fp,0,gFalse,0,&obj); +- doc = new PDFDoc(str); ++ close(fd); ++ doc = new PDFDoc(new GooString(name)); ++ /* remove name */ ++ unlink(name); + } else { + GooString *fileName = new GooString(argv[6]); + /* argc == 7 filenmae is specified */ + +=== modified file 'filter/pdftoijs.cxx' +--- filter/pdftoijs.cxx 2013-08-01 15:48:06 +0000 ++++ filter/pdftoijs.cxx 2013-08-02 13:52:04 +0000 +@@ -79,7 +79,11 @@ + #endif + { + if (pos >= 0) { ++#if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 23 ++ fprintf(stderr, "ERROR (%lld): ", pos); ++#else + fprintf(stderr, "ERROR (%d): ", pos); ++#endif + } else { + fprintf(stderr, "ERROR: "); + } + +=== modified file 'filter/pdftoraster.cxx' +--- filter/pdftoraster.cxx 2013-08-02 11:13:38 +0000 ++++ filter/pdftoraster.cxx 2013-08-02 13:52:04 +0000 +@@ -199,7 +199,11 @@ + #endif + { + if (pos >= 0) { ++#if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 23 ++ fprintf(stderr, "ERROR (%lld): ", pos); ++#else + fprintf(stderr, "ERROR (%d): ", pos); ++#endif + } else { + fprintf(stderr, "ERROR: "); + } + +=== modified file 'filter/pdftoopvp/pdftoopvp.cxx' +--- filter/pdftoopvp/pdftoopvp.cxx 2013-08-01 15:48:06 +0000 ++++ filter/pdftoopvp/pdftoopvp.cxx 2013-08-02 14:46:20 +0000 +@@ -121,7 +121,11 @@ + #endif + { + if (pos >= 0) { ++#if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 23 ++ fprintf(stderr, "ERROR (%lld): ", pos); ++#else + fprintf(stderr, "ERROR (%d): ", pos); ++#endif + } else { + fprintf(stderr, "ERROR: "); + } + -- cgit v1.2.3-2-g168b