testing/libspectre: Bump, remove returns, add check()

This commit is contained in:
Jean-Louis Fuchs 2017-03-23 14:49:02 +01:00 committed by Leonardo Arena
parent 2e7328a809
commit a93a9ea430
3 changed files with 8594 additions and 74 deletions

View File

@ -2,29 +2,28 @@
# Contributor: Jean-Louis Fuchs <ganwell@fangorn.ch>
# Maintainer: Jean-Louis Fuchs <ganwell@fangorn.ch>
pkgname=libspectre
pkgver=0.2.7
pkgver=0.2.8
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=""
# file, cairo-dev for tests only
makedepends="$depends_dev ghostscript-dev doxygen graphviz cairo-dev file"
subpackages="$pkgname-dev $pkgname-doc"
source="http://libspectre.freedesktop.org/releases/libspectre-$pkgver.tar.gz
ghostscript-api.patch"
test.ps"
_builddir="$srcdir"/libspectre-$pkgver
builddir="$srcdir/libspectre-$pkgver"
prepare() {
update_config_sub || return 1
default_prepare || return 1
update_config_sub | true
default_prepare
}
build() {
cd "$_builddir"
cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@ -32,25 +31,36 @@ build() {
--sysconfdir=/etc \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--localstatedir=/var \
|| return 1
make || return 1
--localstatedir=/var
make
make doc
}
package() {
cd "$_builddir"
make DESTDIR="$pkgdir" install || return 1
cd "$builddir"
make DESTDIR="$pkgdir" install
}
doc() {
mkdir -m 0755 -p "$subpkgdir"/usr/share/doc/libspectre || return 1
install -m 0644 "$_builddir"/doc/html/* "$subpkgdir"/usr/share/doc/libspectre/
mkdir -m 0755 -p "$subpkgdir"/usr/share/doc/libspectre
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"
check() {
cd "$builddir/test"
make
mkdir work
./parser-test "$srcdir/test.ps" work
./spectre-test "$srcdir/test.ps" work
file work/output.ps | grep -q "PostScript document text conforming DSC level 3.0, Level 2"
file work/output.pdf | grep -q "PDF document, version 1.5"
file work/document.png | grep -q "PNG image data"
rm -r work
}
md5sums="97ad2c8188db6bdc77fd742522b0bbdf libspectre-0.2.8.tar.gz
dabc20a5e57ac6ae5b7b017f9e27b2e5 test.ps"
sha256sums="65256af389823bbc4ee4d25bfd1cc19023ffc29ae9f9677f2d200fa6e98bc7a8 libspectre-0.2.8.tar.gz
5ef0ee544b834a47864b1228b253be4c5b1811f8630cc970bcfec3f7c06d113c test.ps"
sha512sums="ebbe7f6adcbc7f7d6af61f24e23b114116c878755dbe90f1163546c1284a005b4d539be01986c1f940611e84141ca19768b8effc2abf1013606da7c93547da86 libspectre-0.2.8.tar.gz
c5148d38da69ebd125f66bb92204f2c7c79797d60a137d431122792c4e4cdcdb3a6a20cfadadd2821536449b1d638258f4596e43154e1ad2307bffa97af4908b test.ps"

View File

@ -1,52 +0,0 @@
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;
}

8562
testing/libspectre/test.ps Normal file

File diff suppressed because it is too large Load Diff