summaryrefslogtreecommitdiff
path: root/libre/cups-filters-parabola
diff options
context:
space:
mode:
Diffstat (limited to 'libre/cups-filters-parabola')
-rw-r--r--libre/cups-filters-parabola/PKGBUILD53
-rw-r--r--libre/cups-filters-parabola/cups-browsed.service10
-rw-r--r--libre/cups-filters-parabola/poppler_buildfix.diff276
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: ");
+ }
+