From 80b7b83c7deb5acfe101fc5d6d9f6563b55a3e09 Mon Sep 17 00:00:00 2001
From: Britney Fransen <brfransen@gmail.com>
Date: Thu, 15 Feb 2018 21:13:01 +0000
Subject: ghostscript: update to 9.22

---
 abs/core/ghostscript/PKGBUILD                      | 171 ++++++++---------
 abs/core/ghostscript/add_gserrors_h.diff           |  43 -----
 abs/core/ghostscript/bug_696246.diff               | 203 ---------------------
 .../fix_check_for_using_shared_freetype_lib.diff   |  30 ---
 .../ghostscript-9.22-restore-flushpage.patch       |  28 +++
 abs/core/ghostscript/ghostscript-sys-zlib.patch    |  25 ---
 6 files changed, 116 insertions(+), 384 deletions(-)
 delete mode 100644 abs/core/ghostscript/add_gserrors_h.diff
 delete mode 100644 abs/core/ghostscript/bug_696246.diff
 delete mode 100644 abs/core/ghostscript/fix_check_for_using_shared_freetype_lib.diff
 create mode 100644 abs/core/ghostscript/ghostscript-9.22-restore-flushpage.patch
 delete mode 100644 abs/core/ghostscript/ghostscript-sys-zlib.patch

diff --git a/abs/core/ghostscript/PKGBUILD b/abs/core/ghostscript/PKGBUILD
index 42dada7..7d3a869 100644
--- a/abs/core/ghostscript/PKGBUILD
+++ b/abs/core/ghostscript/PKGBUILD
@@ -1,100 +1,105 @@
 # $Id$
 # Maintainer: AndyRTR <andyrtr@archlinux.org>
 
-### !!! rebuild groff from core that picks up hardcoding the GS versioned font path !!! ###
-
-pkgname=ghostscript
-pkgver=9.18
-pkgrel=6
+pkgbase=ghostscript
+pkgname=(ghostscript ghostxps ghostpcl)
+pkgver=9.22
+pkgrel=7
 pkgdesc="An interpreter for the PostScript language"
-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')
-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)
-#options=('!makeflags')
-# http://downloads.ghostscript.com/public/SHA1SUMS
-sha1sums=('388fea50a38e422a4c6ff27c184491bf5ecb96e1'
-          'e054caf753df4d67221b29a2eac66130653f7556'
-          'f259eaac3beb0ec346bb2d4d2455e4e3baddecd4'
-          'ca686fed1af36d1f9fa866b47ff129c71d6a19ff'
-          '8258043b111832fe52989ccb00d6d87285fcad81')
+url="https://www.ghostscript.com/"
+arch=('x86_64')
+license=('AGPL3' 'custom')
+depends=('libxt' 'libcups' 'fontconfig' 'zlib' 'libpng' 'libjpeg' 'jbig2dec'
+         'libtiff' 'lcms2' 'dbus' 'libpaper' 'ijs' 'openjpeg2')
+makedepends=('gtk3' 'gnutls' 'glu' 'freeglut')
+# https://github.com/ArtifexSoftware/ghostpdl-downloads/releases
+source=(https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${pkgver/./}/ghostpdl-${pkgver}.tar.xz
+        ghostscript-9.22-restore-flushpage.patch)
+sha256sums=('f4e46bc1f8285a61ab036007705fc2b532cc40f4448fe6bc156bd130733f306b'
+            '22156c892ea27572386f5211f51a10a17079a9974ded9ec9af3f37a93a1bb8ca')
 
 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
-}
+  cd ghostpdl-${pkgver}
+
+  # http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=19ebb5f1f497b6f2d50fe13d17d3e627dfb6c868
+  patch -Np1 --no-backup-if-mismatch -i ../ghostscript-9.22-restore-flushpage.patch
 
-build() {
-  cd ghostscript-${pkgver}
-  
   # force it to use system-libs
-  # keep heavily patched included openjpeg, leads to segfault with system openjpeg
-  # https://bugs.archlinux.org/task/38226
-  rm -rf jpeg libpng zlib jasper expat tiff lcms lcms2 freetype cups/libs # jbig2dec is in community
+  rm -r cups/libs expat ijs jbig2dec jpeg lcms2 libpng openjpeg tiff zlib
+  # using tree freetype because of https://bugs.archlinux.org/task/56849
+
+  autoreconf -fvi
+}
 
-  autoconf --force
+build() {
+  cd ghostpdl-${pkgver}
 
   ./configure --prefix=/usr \
-	--enable-dynamic \
-	--with-ijs \
-	--with-jbig2dec \
-	--with-omni \
-	--with-x \
-	--with-drivers=ALL\
-	--with-fontpath=/usr/share/fonts/Type1:/usr/share/fonts \
-	--enable-fontconfig \
-	--enable-freetype \
-	--enable-openjpeg \
-	--without-luratech \
-	--without-omni \
-	--with-system-libtiff \
-	--with-libpaper \
-	--disable-compile-inits #--help # needed for linking with system-zlib
-  make
-
-  # Build IJS
-  cd ijs
-  sed -i "s:AM_PROG_CC_STDC:AC_PROG_CC:g" configure.ac
-  ./autogen.sh
-  ./configure --prefix=/usr --enable-shared --disable-static
-  make
+              --enable-dynamic \
+              --with-ijs \
+              --with-jbig2dec \
+              --with-x \
+              --with-drivers=ALL \
+              --with-fontpath=/usr/share/fonts/gsfonts \
+              --enable-fontconfig \
+              --enable-freetype \
+              --enable-openjpeg \
+              --without-luratech \
+              --with-system-libtiff \
+              --with-libpaper \
+              --disable-compile-inits #--help # needed for linking with system-zlib
+
+  make so-only
 }
 
-package() {
-  cd ghostscript-${pkgver}
+package_ghostscript() {
+  optdepends=('texlive-core:      needed for dvipdf'
+              'gtk3:              needed for gsx')
+
+  cd ghostpdl-${pkgver}
+
   make DESTDIR="${pkgdir}" \
-	cups_serverroot="${pkgdir}"/etc/cups \
-	cups_serverbin="${pkgdir}"/usr/lib/cups install install-so
+       CUPSSERVERROOT="${pkgdir}$(cups-config --serverroot)" \
+       CUPSSERVERBIN="${pkgdir}$(cups-config --serverbin)" \
+       soinstall
+  ln -s gsc "${pkgdir}"/usr/bin/gs
 
   # 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 -D -m644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
-
-  # remove unwanted localized man-pages
-  rm -rf "$pkgdir"/usr/share/man/[^man1]*
-
-  # install IJS
-  cd ijs
-  make DESTDIR="${pkgdir}" install
-  
-  # remove filters that are now maintained in cups-filters as upstream home
-  rm -rf "$pkgdir"/usr/lib/cups/filter/{gstopxl,gstoraster}
+  install -Dt "${pkgdir}"/usr/share/ghostscript/${pkgver}/doc \
+    -m644 doc/{VectorDevices.htm,gs-vms.hlp,gsdoc.el,pscet_status.txt}
+
+  # remove unwanted localized manpages
+  rm -r "${pkgdir}"/usr/share/man/de
+
+  install -Dt "${pkgdir}"/usr/share/licenses/${pkgname} -m644 LICENSE
+}
+
+package_ghostxps() {
+  pkgdesc="${pkgdesc/PostScript/XPS document}"
+  depends=("ghostscript=${pkgver}-${pkgrel}")
+
+  cd ghostpdl-${pkgver}
+
+  install -Dt "${pkgdir}"/usr/bin sobin/gxpsc
+  ln -s gxpsc "${pkgdir}"/usr/bin/gxps
+
+  install -Dt "${pkgdir}"/usr/lib sobin/libgxps.so.${pkgver}
+  ln -s libgxps.so.${pkgver} "${pkgdir}"/usr/lib/libgxps.so.${pkgver%.*}
+
+  install -Dt "${pkgdir}"/usr/share/licenses/${pkgname} -m644 LICENSE
+}
+
+package_ghostpcl() {
+  pkgdesc="${pkgdesc/PostScript/PCL 6}"
+  depends=("ghostscript=${pkgver}-${pkgrel}")
+
+  cd ghostpdl-${pkgver}
+
+  install -Dt "${pkgdir}"/usr/bin sobin/gpcl6c
+  ln -sf gpcl6c "${pkgdir}"/usr/bin/gpcl6
+
+  install -Dt "${pkgdir}"/usr/lib sobin/libgpcl6.so.${pkgver}
+  ln -s libgpcl6.so.${pkgver} "${pkgdir}"/usr/lib/libgpcl6.so.${pkgver%.*}
+
+  install -Dt "${pkgdir}"/usr/share/licenses/${pkgname} -m644 LICENSE
 }
diff --git a/abs/core/ghostscript/add_gserrors_h.diff b/abs/core/ghostscript/add_gserrors_h.diff
deleted file mode 100644
index c34e486..0000000
--- a/abs/core/ghostscript/add_gserrors_h.diff
+++ /dev/null
@@ -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
-
diff --git a/abs/core/ghostscript/bug_696246.diff b/abs/core/ghostscript/bug_696246.diff
deleted file mode 100644
index 4719eb5..0000000
--- a/abs/core/ghostscript/bug_696246.diff
+++ /dev/null
@@ -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
-
diff --git a/abs/core/ghostscript/fix_check_for_using_shared_freetype_lib.diff b/abs/core/ghostscript/fix_check_for_using_shared_freetype_lib.diff
deleted file mode 100644
index b5b7b9b..0000000
--- a/abs/core/ghostscript/fix_check_for_using_shared_freetype_lib.diff
+++ /dev/null
@@ -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
-
diff --git a/abs/core/ghostscript/ghostscript-9.22-restore-flushpage.patch b/abs/core/ghostscript/ghostscript-9.22-restore-flushpage.patch
new file mode 100644
index 0000000..c4b3673
--- /dev/null
+++ b/abs/core/ghostscript/ghostscript-9.22-restore-flushpage.patch
@@ -0,0 +1,28 @@
+diff -up ghostscript-9.22/Resource/Init/gs_init.ps.restore-flushpage ghostscript-9.22/Resource/Init/gs_init.ps
+--- ghostscript-9.22/Resource/Init/gs_init.ps.restore-flushpage	2017-11-29 14:58:35.449534983 -0500
++++ ghostscript-9.22/Resource/Init/gs_init.ps	2017-11-29 14:59:25.903397616 -0500
+@@ -2163,7 +2163,7 @@ SAFER { .setsafeglobal } if
+ /.type1execchar /.type2execchar /.type42execchar /.setweightvector /.getuseciecolor /processcolors /.includecolorspace
+ /.execn /.instopped /.stop /.stopped /.setcolorrendering /.setdevicecolorrendering /.buildcolorrendering1 /.builddevicecolorrendering1
+ /.TransformPQR_scale_WB0 /.TransformPQR_scale_WB1 /.TransformPQR_scale_WB2 /.currentoverprintmode /.copydevice2
+-/.devicename /.doneshowpage /flushpage /.getbitsrect /.getdevice /.getdefaultdevice /.getdeviceparams /.gethardwareparams
++/.devicename /.doneshowpage /.getbitsrect /.getdevice /.getdefaultdevice /.getdeviceparams /.gethardwareparams
+ /makewordimagedevice /.outputpage /.putdeviceparams /.setdevice /.currentshowpagecount
+ /.setpagedevice /.currentpagedevice /.knownundef /.setmaxlength /.rectappend /.initialize_dsc_parser /.parse_dsc_comments
+ /.fillCIDMap /.fillIdentityCIDMap /.buildcmap /.filenamelistseparator /.libfile /.getfilename
+@@ -2181,6 +2181,15 @@ SAFER { .setsafeglobal } if
+ /.systemvmSFD /.settrapparams /.currentsystemparams /.currentuserparams /.getsystemparam /.getuserparam /.setsystemparams /.setuserparams
+ /.checkpassword /.locale_to_utf8 /.currentglobal /.gcheck /.imagepath
+ 
++% Used by a free user in the Library of Congress. Apparently this is used to
++% draw a partial page, which is then filled in by the results of a barcode
++% scanner and SQL database lookup. Its not clear to us exactly why this needs to be
++% done as a partial page, but its easiest to restore the operator, and it seems like
++% its a reasonably safe operator to restore, for the *very* few devices on which
++% it will have any effect. Currently this uses the 'sync_outptu' device method
++% to transfer the partial page, in future we may use a spec_op instead.
++%/flushpage
++
+ % Used by our own test suite files
+ %/.fileposition %image-qa.ps
+ %/.makeoperator /.setCPSImode % gs_cet.ps
diff --git a/abs/core/ghostscript/ghostscript-sys-zlib.patch b/abs/core/ghostscript/ghostscript-sys-zlib.patch
deleted file mode 100644
index d632fcb..0000000
--- a/abs/core/ghostscript/ghostscript-sys-zlib.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff -up ghostscript-9.12/configure.ac.sys-zlib ghostscript-9.12/configure.ac
---- ghostscript-9.12/configure.ac.sys-zlib	2014-03-26 11:48:54.983972222 +0000
-+++ ghostscript-9.12/configure.ac	2014-03-26 11:49:36.807230531 +0000
-@@ -854,7 +854,7 @@ AC_MSG_CHECKING([for local zlib source])
- dnl zlib is needed for language level 3, and libpng
- # we must define ZLIBDIR regardless because png.mak does a -I$(ZLIBDIR)
- # this seems a harmless default
--ZLIBDIR=src
-+ZLIBDIR=$includedir
- AUX_SHARED_ZLIB=
- 
- if test -d $srcdir/zlib; then
-diff -up ghostscript-9.12/configure.sys-zlib ghostscript-9.12/configure
---- ghostscript-9.12/configure.sys-zlib	2014-03-26 11:49:45.547284521 +0000
-+++ ghostscript-9.12/configure	2014-03-26 11:49:56.171350127 +0000
-@@ -6254,7 +6254,7 @@ fi
- $as_echo_n "checking for local zlib source... " >&6; }
- # we must define ZLIBDIR regardless because png.mak does a -I$(ZLIBDIR)
- # this seems a harmless default
--ZLIBDIR=src
-+ZLIBDIR=$includedir
- AUX_SHARED_ZLIB=
- 
- if test -d $srcdir/zlib; then
-
-- 
cgit v0.12

