commit:     8d34151aea08aa04cca35e1f5da59445af0440d0
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 23 13:25:42 2015 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Fri Oct 23 13:26:05 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8d34151a

app-text/libspectre: >=app-text/ghostscript-gpl-9.18 compile fix

(bug #563540).

Package-Manager: portage-2.2.23
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 .../libspectre/files/libspectre-0.2.7-gs918.patch  | 42 ++++++++++++++++++++++
 app-text/libspectre/libspectre-0.2.7.ebuild        |  2 ++
 2 files changed, 44 insertions(+)

diff --git a/app-text/libspectre/files/libspectre-0.2.7-gs918.patch 
b/app-text/libspectre/files/libspectre-0.2.7-gs918.patch
new file mode 100644
index 0000000..e9a4eda
--- /dev/null
+++ b/app-text/libspectre/files/libspectre-0.2.7-gs918.patch
@@ -0,0 +1,42 @@
+Fixed error namespace for >=ghostscript-gpl-9.18
+
+https://bugs.gentoo.org/563540
+
+--- libspectre-0.2.7/libspectre/spectre-gs.c
++++ libspectre-0.2.7/libspectre/spectre-gs.c
+@@ -43,12 +43,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 +109,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 +126,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;
+       }
+       

diff --git a/app-text/libspectre/libspectre-0.2.7.ebuild 
b/app-text/libspectre/libspectre-0.2.7.ebuild
index 920dab4..68a7ad1 100644
--- a/app-text/libspectre/libspectre-0.2.7.ebuild
+++ b/app-text/libspectre/libspectre-0.2.7.ebuild
@@ -26,6 +26,8 @@ DOCS="NEWS README TODO"
 
 src_prepare() {
        epatch "${FILESDIR}"/${PN}-0.2.0-interix.patch
+       has_version \>=app-text/ghostscript-gpl-9.18 \
+               && epatch "${FILESDIR}"/${PN}-0.2.7-gs918.patch
        eautoreconf # need new libtool for interix
 }
 

Reply via email to