aboutsummaryrefslogtreecommitdiffstats
path: root/testing/libspectre
diff options
context:
space:
mode:
Diffstat (limited to 'testing/libspectre')
-rw-r--r--testing/libspectre/APKBUILD56
-rw-r--r--testing/libspectre/ghostscript-api.patch52
2 files changed, 108 insertions, 0 deletions
diff --git a/testing/libspectre/APKBUILD b/testing/libspectre/APKBUILD
new file mode 100644
index 0000000000..c00d08d50b
--- /dev/null
+++ b/testing/libspectre/APKBUILD
@@ -0,0 +1,56 @@
+# Contributor: Andrew Hills <ahills@ednos.net>
+# Contributor: Jean-Louis Fuchs <ganwell@fangorn.ch>
+# Maintainer: Jean-Louis Fuchs <ganwell@fangorn.ch>
+pkgname=libspectre
+pkgver=0.2.7
+pkgrel=0
+pkgdesc="A small library for rendering Postscript documents"
+url="http://www.freedesktop.org/wiki/Software/libspectre"
+arch="all"
+license="GPL2"
+depends=""
+depends_dev=""
+makedepends="$depends_dev ghostscript-dev doxygen"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://libspectre.freedesktop.org/releases/libspectre-$pkgver.tar.gz
+ ghostscript-api.patch"
+
+_builddir="$srcdir"/libspectre-$pkgver
+
+prepare() {
+ update_config_sub || return 1
+ default_prepare || return 1
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ || return 1
+ make || return 1
+ make doc
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+doc() {
+ mkdir -m 0755 -p "$subpkgdir"/usr/share/doc/libspectre || return 1
+ install -m 0644 "$_builddir"/doc/html/* "$subpkgdir"/usr/share/doc/libspectre/
+}
+
+md5sums="8f759c0e6cd88d68fc8149130fcbc3d3 libspectre-0.2.7.tar.gz
+43c860e4f8ca8690759440115570b738 ghostscript-api.patch"
+sha256sums="e81b822a106beed14cf0fec70f1b890c690c2ffa150fa2eee41dc26518a6c3ec libspectre-0.2.7.tar.gz
+1b5ad9d94ddd6cd3febfc6d559cbf329b4c57a841821df024cccf93ae3cb8159 ghostscript-api.patch"
+sha512sums="2e60905f7eeed9ac6ec3b5f8b47a7dad85178c8c35a63ba097ef6088dd334f7fde5797ecb05cf67532b759d07a65006427914d2cd6b09107ecc90620c9541794 libspectre-0.2.7.tar.gz
+d54a2dd2b03de9bcdf012e3cb429d7f882f38dc0c66c5253271fbec0e0917f41fce06e33a383fdd6989ad8e83d6ff2d85cce194b7aa97212564ae56ebbda7c4c ghostscript-api.patch"
diff --git a/testing/libspectre/ghostscript-api.patch b/testing/libspectre/ghostscript-api.patch
new file mode 100644
index 0000000000..d7f907828e
--- /dev/null
+++ b/testing/libspectre/ghostscript-api.patch
@@ -0,0 +1,52 @@
+diff -ru a/libspectre/spectre-gs.c b/libspectre/spectre-gs.c
+--- a/libspectre/spectre-gs.c 2010-04-18 18:01:05.000000000 +0200
++++ b/libspectre/spectre-gs.c 2017-01-29 15:49:14.428958824 +0100
+@@ -29,6 +29,12 @@
+ #include <ghostscript/iapi.h>
+ #include <ghostscript/ierrors.h>
+
++/* Fix ghostscript API till a new release of libspectre
++ * e_ExecStackUnderflow -> gs_error_ExecStackUnderflow
++ * e_Fatal -> gs_error_Fatal
++ * e_NeedInput -> gs_error_NeedInput
++ */
++
+ #define BUFFER_SIZE 32768
+
+ struct SpectreGS {
+@@ -43,12 +49,12 @@
+
+ if (code <= -100) {
+ switch (code) {
+- case e_Fatal:
++ case gs_error_Fatal:
+ fprintf (stderr, "fatal internal error %d", code);
+ return TRUE;
+ break;
+
+- case e_ExecStackUnderflow:
++ case gs_error_ExecStackUnderflow:
+ fprintf (stderr, "stack overflow %d", code);
+ return TRUE;
+ break;
+@@ -109,9 +115,9 @@
+ set = _spectre_strdup_printf ("%d %d translate\n", -x, -y);
+ error = gsapi_run_string_continue (ghostscript_instance, set, strlen (set),
+ 0, &exit_code);
+- error = error == e_NeedInput ? 0 : error;
++ error = error == gs_error_NeedInput ? 0 : error;
+ free (set);
+- if (error != e_NeedInput && critic_error_code (error)) {
++ if (error != gs_error_NeedInput && critic_error_code (error)) {
+ fclose (fd);
+ return FALSE;
+ }
+@@ -126,7 +132,7 @@
+ read = fread (buf, sizeof (char), to_read, fd);
+ error = gsapi_run_string_continue (ghostscript_instance,
+ buf, read, 0, &exit_code);
+- error = error == e_NeedInput ? 0 : error;
++ error = error == gs_error_NeedInput ? 0 : error;
+ left -= read;
+ }
+