diff options
Diffstat (limited to 'libre/cups-filters-parabola')
-rw-r--r-- | libre/cups-filters-parabola/PKGBUILD | 53 | ||||
-rw-r--r-- | libre/cups-filters-parabola/cups-browsed.service | 10 | ||||
-rw-r--r-- | libre/cups-filters-parabola/poppler_buildfix.diff | 276 |
3 files changed, 339 insertions, 0 deletions
diff --git a/libre/cups-filters-parabola/PKGBUILD b/libre/cups-filters-parabola/PKGBUILD new file mode 100644 index 000000000..fd91bd6dc --- /dev/null +++ b/libre/cups-filters-parabola/PKGBUILD @@ -0,0 +1,53 @@ +# $Id: PKGBUILD 220542 2014-08-22 14:56:28Z andyrtr $ +# Maintainer (Arch): Andreas Radke <andyrtr@archlinux.org> + +pkgname=cups-filters-parabola +_pkgname=cups-filters +pkgver=1.0.58 +pkgrel=1 +pkgdesc="OpenPrinting CUPS Filters, without foomatic-db-nonfree recommendation" +arch=('i686' 'x86_64') +url="http://www.linuxfoundation.org/collaborate/workgroups/openprinting" +license=('GPL') +depends=('lcms2' 'poppler' 'qpdf') +makedepends=('ghostscript' 'ttf-dejavu') # ttf-dejavu for make check +optdepends=('ghostscript: for non-PostScript printers to print with CUPS to convert PostScript to raster images' + 'foomatic-db: drivers use Ghostscript to convert PostScript to a printable form directly' + 'foomatic-db-engine: drivers use Ghostscript to convert PostScript to a printable form directly') +backup=(etc/fonts/conf.d/99pdftoopvp.conf + etc/cups/cups-browsed.conf) +source=(http://www.openprinting.org/download/cups-filters/$_pkgname-$pkgver.tar.gz) +provides=("${_pkgname}=${pkgver}" 'foomatic-filters') +replaces=("${_pkgname}" 'foomatic-filters') +conflicts=("${_pkgname}" 'foomatic-filters') +md5sums=('0143ef62cd229e99fd3b03e827b1c122') + +build() { + cd $_pkgname-$pkgver + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --sbindir=/usr/bin \ + --localstatedir=/var \ + --with-rcdir=no \ + --enable-avahi \ + --with-browseremoteprotocols=DNSSD,CUPS \ + --with-test-font-path=/usr/share/fonts/TTF/DejaVuSans.ttf + make +} + +check() { + cd $_pkgname-$pkgver + make check +} + +package() { + cd $_pkgname-$pkgver + make DESTDIR="$pkgdir/" install + + # add upstream systemd support file + install -Dm644 utils/cups-browsed.service ${pkgdir}/usr/lib/systemd/system/cups-browsed.service + sed -i "s|/usr/sbin/cups-browsed|/usr/bin/cups-browsed|" ${pkgdir}/usr/lib/systemd/system/cups-browsed.service + + # use lp group from cups pkg FS#36769 + chgrp -R lp ${pkgdir}/etc/cups +} diff --git a/libre/cups-filters-parabola/cups-browsed.service b/libre/cups-filters-parabola/cups-browsed.service new file mode 100644 index 000000000..07b342d62 --- /dev/null +++ b/libre/cups-filters-parabola/cups-browsed.service @@ -0,0 +1,10 @@ +[Unit] +Description=Make remote CUPS printers available locally +After=cups.service avahi-daemon.service +Wants=cups.service avahi-daemon.service + +[Service] +ExecStart=/usr/bin/cups-browsed + +[Install] +WantedBy=multi-user.target diff --git a/libre/cups-filters-parabola/poppler_buildfix.diff b/libre/cups-filters-parabola/poppler_buildfix.diff new file mode 100644 index 000000000..18fc643f9 --- /dev/null +++ b/libre/cups-filters-parabola/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 <PDFDoc.h> ++#include <config.h> ++#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<char *>("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<char *>("Can't rewind temporary file")); +- close(fd); +- exit(1); +- } +- +- if ((fp = fdopen(fd,"rb")) == 0) { +- pdfError(-1,const_cast<char *>("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: "); + } + |