From 2a8340e671931d42254d8acc684b3e7e85a8d651 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Sun, 11 Oct 2015 22:41:55 -0300 Subject: ghostscript-9.18-2.parabola1: updating version --- libre/ghostscript/PKGBUILD | 16 ++++--- libre/ghostscript/bug_696246.diff | 89 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 99 insertions(+), 6 deletions(-) create mode 100644 libre/ghostscript/bug_696246.diff 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 # Maintainer: André Silva ### !!! 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 +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 +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)\ -- cgit v1.1-4-g5e80