summaryrefslogtreecommitdiff
path: root/libre/ghostscript
diff options
context:
space:
mode:
authorAndré Fabian Silva Delgado <emulatorman@parabola.nu>2015-10-11 22:41:55 -0300
committerAndré Fabian Silva Delgado <emulatorman@parabola.nu>2015-10-11 23:07:03 -0300
commit2a8340e671931d42254d8acc684b3e7e85a8d651 (patch)
tree54f183dba0a93c3f631da008b2a0b3d002f211eb /libre/ghostscript
parent45efd7f453b31a0f0271bc4899673dbb29d66109 (diff)
downloadabslibre-2a8340e671931d42254d8acc684b3e7e85a8d651.tar.gz
abslibre-2a8340e671931d42254d8acc684b3e7e85a8d651.tar.bz2
abslibre-2a8340e671931d42254d8acc684b3e7e85a8d651.zip
ghostscript-9.18-2.parabola1: updating version
Diffstat (limited to 'libre/ghostscript')
-rw-r--r--libre/ghostscript/PKGBUILD16
-rw-r--r--libre/ghostscript/bug_696246.diff89
2 files changed, 99 insertions, 6 deletions
diff --git a/libre/ghostscript/PKGBUILD b/libre/ghostscript/PKGBUILD
index cd3c594b8..0246b2310 100644
--- a/libre/ghostscript/PKGBUILD
+++ b/libre/ghostscript/PKGBUILD
@@ -1,14 +1,14 @@
-# $Id: PKGBUILD 235306 2015-03-31 17:24:09Z andyrtr $
+# $Id: PKGBUILD 248863 2015-10-10 13:01:47Z andyrtr $
# Maintainer (Arch): AndyRTR <andyrtr@archlinux.org>
# Maintainer: André Silva <emulatorman@parabola.nu>
### !!! rebuild groff from core that picks up hardcoding the GS versioned font path !!! ###
pkgname=ghostscript
-pkgver=9.16
-pkgrel=1.parabola1
+pkgver=9.18
+pkgrel=2.parabola1
pkgdesc="An interpreter for the PostScript language, without nonfree JPEG XR support"
-arch=('i686' 'x86_64' 'mips64el')
+arch=('i686' 'x86_64')
license=('AGPL' 'custom')
depends=('libxt' 'libcups' 'fontconfig' 'jasper' 'zlib' 'libpng>=1.5.7' 'libjpeg'
'libtiff>=4.0.0' 'lcms2' 'dbus' 'libpaper')
@@ -21,12 +21,14 @@ url="http://www.ghostscript.com/"
mksource=(http://downloads.ghostscript.com/public/ghostscript-${pkgver}.tar.bz2)
source=(https://repo.parabola.nu/other/ghostscript-libre/ghostscript-libre-${pkgver}.tar.bz2
ghostscript-sys-zlib.patch
+ bug_696246.diff
libre.patch)
#options=('!makeflags')
# http://downloads.ghostscript.com/public/SHA1SUMS
-mksha1sums=('529e2b0be754cb353880a4ac97e3efa47ef82f5c')
-sha1sums=('0a3d1c0f08ca5a8805c58a56ff1e760beca280c9'
+mksha1sums=('388fea50a38e422a4c6ff27c184491bf5ecb96e1')
+sha1sums=('6899da0407e4bf4a9f65848e68df237ed83c04ee'
'e054caf753df4d67221b29a2eac66130653f7556'
+ '8bdcb72250f81d8d1f3b3cff4becb673113ed302'
'51f821faec00749ed8b61d772879269f9809f694')
mksource() {
cd ghostscript-${pkgver}
@@ -39,6 +41,8 @@ prepare() {
cd ghostscript-${pkgver}
# fix build with system zlib
patch -Np1 -i ${srcdir}/ghostscript-sys-zlib.patch
+ # fix http://bugs.ghostscript.com/show_bug.cgi?id=696246 - should also be FS#46637
+ patch -Np1 -i ${srcdir}/bug_696246.diff
# remove nonfree JPEG XR reference on the license file
patch -Np1 -i ${srcdir}/libre.patch
}
diff --git a/libre/ghostscript/bug_696246.diff b/libre/ghostscript/bug_696246.diff
new file mode 100644
index 000000000..ad77bcd04
--- /dev/null
+++ b/libre/ghostscript/bug_696246.diff
@@ -0,0 +1,89 @@
+From: Chris Liddell <chris.liddell@artifex.com>
+Date: Fri, 9 Oct 2015 09:54:10 +0000 (+0100)
+Subject: Bug 696246: devijs account for device sublassing.
+X-Git-Url: http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff_plain;h=b68e05c3
+
+Bug 696246: devijs account for device sublassing.
+
+The IJS device wasn't coping with the possibility it had been subclassed.
+
+No cluster differences
+---
+
+diff --git a/devices/gdevijs.c b/devices/gdevijs.c
+index 5520716..a2e21ea 100644
+--- a/devices/gdevijs.c
++++ b/devices/gdevijs.c
+@@ -827,6 +827,10 @@ gsijs_open(gx_device *dev)
+ if (code < 0)
+ return code;
+
++ while (dev->child)
++ dev = dev->child;
++ ijsdev = (gx_device_ijs *)dev;
++
+ if (use_outputfd) {
+ /* Note: dup() may not be portable to all interesting IJS
+ platforms. In that case, this branch should be #ifdef'ed out.
+From: Chris Liddell <chris.liddell@artifex.com>
+Date: Fri, 9 Oct 2015 11:54:44 +0000 (+0100)
+Subject: Bug 696246: patch the memory manager fields for sublassed devices.
+X-Git-Url: http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff_plain;h=95553954
+
+Bug 696246: patch the memory manager fields for sublassed devices.
+
+When we subclass a device, we were patching the "visible" type field - that is,
+the one referenced directly in the device structure. We were not patching
+the type information in the memory object header so, in particular, the
+garbage collector could end up calling the wrong methods for the subclassed
+device.
+
+No cluster differences.
+---
+
+diff --git a/base/gdevdflt.c b/base/gdevdflt.c
+index 5768937..305f89d 100644
+--- a/base/gdevdflt.c
++++ b/base/gdevdflt.c
+@@ -17,6 +17,8 @@
+ #include "math_.h"
+ #include "memory_.h"
+ #include "gx.h"
++#include "gsstruct.h"
++#include "gxobj.h"
+ #include "gserrors.h"
+ #include "gsropt.h"
+ #include "gxcomp.h"
+@@ -26,6 +28,7 @@
+ #include "gstrans.h" /* For gs_pdf14trans_t */
+ #include "gxistate.h" /* for gs_image_state_s */
+
++
+ /* defined in gsdpram.c */
+ int gx_default_get_param(gx_device *dev, char *Param, void *list);
+
+@@ -1294,6 +1297,11 @@ int gx_device_subclass(gx_device *dev_to_subclass, gx_device *new_prototype, uns
+ ptr1 = ((char *)new_prototype) + sizeof(gx_device);
+ memcpy(ptr, ptr1, new_prototype->params_size - sizeof(gx_device));
+
++ /* We have to patch up the "type" parameters that the memory manage/garbage
++ * collector will use, as well.
++ */
++ (((obj_header_t *)dev_to_subclass) - 1)->o_type = new_prototype->stype;
++
+ /* If the original device's stype structure was dynamically allocated, we need
+ * to 'fixup' the contents, it's procs need to point to the new device's procs
+ * for instance.
+diff --git a/base/lib.mak b/base/lib.mak
+index de78333..09b70e5 100644
+--- a/base/lib.mak
++++ b/base/lib.mak
+@@ -1210,7 +1210,7 @@ $(GLOBJ)gdevdsha.$(OBJ) : $(GLSRC)gdevdsha.c $(AK) $(gx_h)\
+
+ $(GLOBJ)gdevdflt.$(OBJ) : $(GLSRC)gdevdflt.c $(AK) $(gx_h)\
+ $(gserrors_h) $(gsropt_h) $(gxcomp_h) $(gxdevice_h) $(gxdevsop_h) $(math__h)\
+- $(MAKEDIRS)
++ $(gsstruct_h) $(gxobj_h) $(MAKEDIRS)
+ $(GLCC) $(GLO_)gdevdflt.$(OBJ) $(C_) $(GLSRC)gdevdflt.c
+
+ $(GLOBJ)gdevdgbr.$(OBJ) : $(GLSRC)gdevdgbr.c $(AK) $(gx_h)\