mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-01-27 23:44:04 +00:00
extra/ghostscript to 9.19-1
This commit is contained in:
parent
c0ad9113df
commit
b608b1c27a
4 changed files with 9 additions and 299 deletions
|
@ -4,11 +4,9 @@
|
|||
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
# - build v7 and v8 with -fPIC
|
||||
|
||||
### !!! rebuild groff from core that picks up hardcoding the GS versioned font path !!! ###
|
||||
|
||||
pkgname=ghostscript
|
||||
pkgver=9.18
|
||||
pkgrel=6
|
||||
pkgver=9.19
|
||||
pkgrel=1
|
||||
pkgdesc="An interpreter for the PostScript language"
|
||||
arch=('i686' 'x86_64')
|
||||
license=('AGPL' 'custom')
|
||||
|
@ -18,30 +16,18 @@ makedepends=('gtk3' 'gnutls' 'hardening-wrapper')
|
|||
optdepends=('texlive-core: needed for dvipdf'
|
||||
'gtk3: needed for gsx')
|
||||
url="http://www.ghostscript.com/"
|
||||
source=(http://downloads.ghostscript.com/public/ghostscript-${pkgver}.tar.bz2
|
||||
ghostscript-sys-zlib.patch
|
||||
bug_696246.diff
|
||||
add_gserrors_h.diff
|
||||
fix_check_for_using_shared_freetype_lib.diff)
|
||||
source=(https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${pkgver/./}/ghostscript-${pkgver}.tar.bz2
|
||||
#http://downloads.ghostscript.com/public/ghostscript-${pkgver}.tar.bz2
|
||||
ghostscript-sys-zlib.patch)
|
||||
#options=('!makeflags')
|
||||
# http://downloads.ghostscript.com/public/SHA1SUMS
|
||||
sha1sums=('388fea50a38e422a4c6ff27c184491bf5ecb96e1'
|
||||
'e054caf753df4d67221b29a2eac66130653f7556'
|
||||
'f259eaac3beb0ec346bb2d4d2455e4e3baddecd4'
|
||||
'ca686fed1af36d1f9fa866b47ff129c71d6a19ff'
|
||||
'8258043b111832fe52989ccb00d6d87285fcad81')
|
||||
# https://github.com/ArtifexSoftware/ghostpdl-downloads/releases
|
||||
sha1sums=('202e234d54a4ccd667b57c9ae8b48bd65fafd503'
|
||||
'e054caf753df4d67221b29a2eac66130653f7556')
|
||||
|
||||
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 - FS#46637, FS#46734?
|
||||
patch -Np1 -i ${srcdir}/bug_696246.diff
|
||||
# add a missing header; FS#46928
|
||||
patch -Np1 -i ${srcdir}/add_gserrors_h.diff
|
||||
# fix use system freetype - FS#46744
|
||||
# http://git.ghostscript.com/?p=ghostpdl.git;a=patch;h=8f5d28536e4518716fdfe974e580194c8f57871d
|
||||
patch -Np1 -i ${srcdir}/fix_check_for_using_shared_freetype_lib.diff
|
||||
}
|
||||
|
||||
build() {
|
||||
|
@ -89,7 +75,7 @@ package() {
|
|||
cups_serverbin="${pkgdir}"/usr/lib/cups install install-so
|
||||
|
||||
# install missing doc files # http://bugs.archlinux.org/task/18023
|
||||
install -m 644 "${srcdir}"/ghostscript-${pkgver}/doc/{Ps2ps2.htm,gs-vms.hlp,gsdoc.el,pscet_status.txt} "${pkgdir}"/usr/share/ghostscript/$pkgver/doc/
|
||||
install -m 644 "${srcdir}"/ghostscript-${pkgver}/doc/{VectorDevices.htm,gs-vms.hlp,gsdoc.el,pscet_status.txt} "${pkgdir}"/usr/share/ghostscript/$pkgver/doc/
|
||||
|
||||
install -D -m644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
|
||||
|
||||
|
|
|
@ -1,43 +0,0 @@
|
|||
From feafe5e540a0545ec5d28f3f66bb542056bba495 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Liddell <chris.liddell@artifex.com>
|
||||
Date: Fri, 23 Oct 2015 10:16:11 +0100
|
||||
Subject: [PATCH] Bug 696301: add gserrors.h to the installed files
|
||||
|
||||
for the so-install target.
|
||||
|
||||
Also remove a spurious (copy'n'paste error) comment.
|
||||
|
||||
No cluster differences
|
||||
---
|
||||
base/gserrors.h | 2 +-
|
||||
base/unix-dll.mak | 1 +
|
||||
2 files changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/base/gserrors.h b/base/gserrors.h
|
||||
index 5f18081..cdebb38 100644
|
||||
--- a/base/gserrors.h
|
||||
+++ b/base/gserrors.h
|
||||
@@ -25,7 +25,7 @@
|
||||
/* We don't use a typedef internally to avoid a lot of casting. */
|
||||
|
||||
enum gs_error_type {
|
||||
- gs_error_ok = 0, /* unknown error */
|
||||
+ gs_error_ok = 0,
|
||||
gs_error_unknownerror = -1, /* unknown error */
|
||||
gs_error_dictfull = -2,
|
||||
gs_error_dictstackoverflow = -3,
|
||||
diff --git a/base/unix-dll.mak b/base/unix-dll.mak
|
||||
index 7b67aa1..73b4fa9 100644
|
||||
--- a/base/unix-dll.mak
|
||||
+++ b/base/unix-dll.mak
|
||||
@@ -186,6 +186,7 @@ install-so-subtarget: so-subtarget
|
||||
ln -s $(GS_SONAME_MAJOR_MINOR) $(DESTDIR)$(libdir)/$(GS_SONAME_MAJOR)
|
||||
$(INSTALL_DATA) $(PSSRC)iapi.h $(DESTDIR)$(gsincludedir)iapi.h
|
||||
$(INSTALL_DATA) $(PSSRC)ierrors.h $(DESTDIR)$(gsincludedir)ierrors.h
|
||||
+ $(INSTALL_DATA) $(GLSRC)gserrors.h $(DESTDIR)$(gsincludedir)gserrors.h
|
||||
$(INSTALL_DATA) $(DEVSRC)gdevdsp.h $(DESTDIR)$(gsincludedir)gdevdsp.h
|
||||
|
||||
soinstall:
|
||||
--
|
||||
2.5.1
|
||||
|
|
@ -1,203 +0,0 @@
|
|||
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)\
|
||||
From 007bd77d08d800e6b07274d62e3c91be7c4a3f47 Mon Sep 17 00:00:00 2001
|
||||
From: Ken Sharp <ken.sharp@artifex.com>
|
||||
Date: Mon, 12 Oct 2015 16:36:11 +0100
|
||||
Subject: [PATCH] Guard against NULL 'base' for non-clist devices
|
||||
|
||||
Bug #696246 "Ghostscript 9.18 with -dFirstPage/-dLastPage fails for ijs and some x11 devices"
|
||||
|
||||
This is actually for the plib device. This device is currently (this will
|
||||
change in the next commit) set to BandingAuto, despite the fact that the
|
||||
device only works in banding mode.
|
||||
|
||||
This can lead to use arriving in gdev_mem_open_scan_lines with all of
|
||||
mdev->bitmap_memory, mdev->line_pointers_memory and mdev->base being set to
|
||||
NULL. The code didn't check and assumed that mdev->base was valid, which
|
||||
led to a later seg fault.
|
||||
|
||||
Here we just check to make sure it isn't NULL and return an error if it is.
|
||||
This doesn't prevent the possibility of garbage uninitialised values, but
|
||||
there's not much we can do to check that at this stage, devices are supposed
|
||||
to be initialised to 0 so this 'shouldn't' happen.
|
||||
|
||||
No differences expected.
|
||||
---
|
||||
base/gdevmem.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/base/gdevmem.c b/base/gdevmem.c
|
||||
index 3019451f..507fa19 100644
|
||||
--- a/base/gdevmem.c
|
||||
+++ b/base/gdevmem.c
|
||||
@@ -471,6 +471,9 @@ gdev_mem_open_scan_lines(gx_device_memory *mdev, int setup_height)
|
||||
line_pointers_adjacent = false;
|
||||
}
|
||||
if (line_pointers_adjacent) {
|
||||
+ if (mdev->base == 0)
|
||||
+ return_error(gs_error_rangecheck);
|
||||
+
|
||||
gdev_mem_bits_size(mdev, mdev->width, mdev->height, &size);
|
||||
mdev->line_ptrs = (byte **)(mdev->base + size);
|
||||
}
|
||||
--
|
||||
2.5.1
|
||||
|
||||
From 1bdbe4f87dc57648821e613ebcc591b84e8b35b3 Mon Sep 17 00:00:00 2001
|
||||
From: Ken Sharp <ken.sharp@artifex.com>
|
||||
Date: Mon, 12 Oct 2015 16:38:09 +0100
|
||||
Subject: [PATCH] Ensure plib devices always use the clist
|
||||
|
||||
Bug #696246 "Ghostscript 9.18 with -dFirstPage/-dLastPage fails for ijs and some x11 devices"
|
||||
|
||||
the plib* class of devices only work if clist is present, but previously
|
||||
they left the banding_type set to 'auto', which meant that under some
|
||||
conditions we did not use the clist, leading to a seg fault.
|
||||
|
||||
This commit simply forces banding_type to be 'BandingAlways'.
|
||||
|
||||
No differences expected.
|
||||
---
|
||||
devices/gdevplib.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/devices/gdevplib.c b/devices/gdevplib.c
|
||||
index 51bd7ea..87c6f46 100644
|
||||
--- a/devices/gdevplib.c
|
||||
+++ b/devices/gdevplib.c
|
||||
@@ -691,6 +691,8 @@ plib_open(gx_device * pdev)
|
||||
bdev->printer_procs.buf_procs.size_buf_device = plib_size_buf_device;
|
||||
pdev->is_planar = 1;
|
||||
|
||||
+ bdev->space_params.banding_type = BandingAlways;
|
||||
+
|
||||
/* You might expect us to call gdev_prn_open_planar rather than
|
||||
* gdev_prn_open, but if we do that, it overwrites the 2 function
|
||||
* pointers we've just overwritten! */
|
||||
--
|
||||
2.5.1
|
||||
|
||||
From 5571ddfa377c5d7d98f55af40e693814ac287ae4 Mon Sep 17 00:00:00 2001
|
||||
From: Ken Sharp <ken.sharp@artifex.com>
|
||||
Date: Mon, 12 Oct 2015 16:40:10 +0100
|
||||
Subject: [PATCH] prevent rinkj device crash when misconfigured (no SetupFile)
|
||||
|
||||
Bug #696246 "Ghostscript 9.18 with -dFirstPage/-dLastPage fails for ijs and some x11 devices"
|
||||
|
||||
The rinkj device requires a SetupFile to be given as a device parameter,
|
||||
however it doesn't actually check to see if one is given, and just tries
|
||||
to open the filename, with a predictable crash when none is given.
|
||||
|
||||
Here we check the filename and attempt to ensure it is both present and
|
||||
minimally valid.
|
||||
|
||||
No differences expected.
|
||||
---
|
||||
devices/gdevrinkj.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/devices/gdevrinkj.c b/devices/gdevrinkj.c
|
||||
index f55bc60..12c396a 100644
|
||||
--- a/devices/gdevrinkj.c
|
||||
+++ b/devices/gdevrinkj.c
|
||||
@@ -1193,6 +1193,10 @@ rinkj_print_page(gx_device_printer *pdev, FILE *file)
|
||||
int code = 0;
|
||||
RinkjDevice *cmyk_dev;
|
||||
|
||||
+ if (rdev->setup_fn == 0 || rdev->setup_fn[0] == 0) {
|
||||
+ emprintf(rdev->memory, "Error, SetupFile not defined, output aborted\n");
|
||||
+ return 0;
|
||||
+ }
|
||||
cmyk_dev = rinkj_init(rdev, file);
|
||||
if (cmyk_dev == 0)
|
||||
return gs_note_error(gs_error_ioerror);
|
||||
--
|
||||
2.5.1
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
From 8f5d28536e4518716fdfe974e580194c8f57871d Mon Sep 17 00:00:00 2001
|
||||
From: Chris Liddell <chris.liddell@artifex.com>
|
||||
Date: Thu, 7 Jan 2016 09:03:10 +0000
|
||||
Subject: [PATCH] Bug 696281: fix check for using shared freetype lib
|
||||
|
||||
When I changed the initial value of the Freetype source path variable (to reduce
|
||||
the risk of header search path problems), I neglected to fix the logic for
|
||||
falling back to the system's libfreetype2.
|
||||
|
||||
Credit to Rodrigo Rivas Costa for spotting the problem.
|
||||
---
|
||||
configure.ac | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 0c97fcc..f533e46 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -811,7 +811,7 @@ if test x"$enable_fapi" != xno; then
|
||||
fi
|
||||
done
|
||||
|
||||
- if test -z $FTSRCDIR; then
|
||||
+ if test x"$FTSRCDIR" = x"src"; then
|
||||
AC_MSG_RESULT([no])
|
||||
if test "x$PKGCONFIG" != x; then
|
||||
AC_MSG_CHECKING(for system freetype2 >= 2.4.2 with pkg-config)
|
||||
--
|
||||
2.6.3
|
||||
|
Loading…
Reference in a new issue