From ef869157a26af542c379238c04b6f57700f5aefe Mon Sep 17 00:00:00 2001
From: Britney Fransen <brfransen@gmail.com>
Date: Fri, 5 Dec 2014 19:16:46 +0000
Subject: ghostscript: update to 9.15

---
 abs/core/ghostscript/PKGBUILD                   | 67 ++++++++++++++++---------
 abs/core/ghostscript/ghostscript-sys-zlib.patch | 25 +++++++++
 abs/core/ghostscript/svn_rev11948.diff          | 16 ------
 3 files changed, 69 insertions(+), 39 deletions(-)
 create mode 100644 abs/core/ghostscript/ghostscript-sys-zlib.patch
 delete mode 100644 abs/core/ghostscript/svn_rev11948.diff

diff --git a/abs/core/ghostscript/PKGBUILD b/abs/core/ghostscript/PKGBUILD
index a911598..f27e992 100644
--- a/abs/core/ghostscript/PKGBUILD
+++ b/abs/core/ghostscript/PKGBUILD
@@ -1,26 +1,42 @@
-# $Id: PKGBUILD 149988 2012-02-12 09:04:00Z andyrtr $
+# $Id$
 # Maintainer: AndyRTR <andyrtr@archlinux.org>
 
+### !!! rebuild groff from core that picks up hardcoding the GS versioned font path !!! ###
+
 pkgname=ghostscript
-pkgver=9.05
+pkgver=9.15
 pkgrel=1
 pkgdesc="An interpreter for the PostScript language"
 arch=('i686' 'x86_64')
-license=('GPL3' 'custom')
-depends=('libxt' 'libcups' 'fontconfig' 'jasper' 'zlib' 'libpng>=1.5.7' 'libjpeg' 'libtiff>=4.0.0' 'lcms') # 'lcms2' won't get used) # move in libpaper from community?
-makedepends=('gtk2' 'gnutls')
+license=('AGPL' 'custom')
+depends=('libxt' 'libcups' 'fontconfig' 'jasper' 'zlib' 'libpng>=1.5.7' 'libjpeg'
+         'libtiff>=4.0.0' 'lcms2' 'dbus' 'libpaper')
+makedepends=('gtk3' 'gnutls')
 optdepends=('texlive-core:      needed for dvipdf'
-            'gtk2:              needed for gsx')
+            'gtk3:              needed for gsx')
 url="http://www.ghostscript.com/"
-source=(http://downloads.ghostscript.com/public/ghostscript-${pkgver}.tar.bz2)
-options=('!libtool' '!makeflags')
-md5sums=('8bcef1f33ddf8a4d12b2cf8da385c191')
+source=(http://downloads.ghostscript.com/public/ghostscript-${pkgver}.tar.bz2
+        ghostscript-sys-zlib.patch)
+#options=('!makeflags')
+# http://downloads.ghostscript.com/public/SHA1SUMS
+sha1sums=('19f01538d33b9623bc6653d96ea4ec891f14a9d3'
+          'e054caf753df4d67221b29a2eac66130653f7556')
+
+prepare() {
+  cd ghostscript-${pkgver}
+  # fix build with system zlib
+  patch -Np1 -i ${srcdir}/ghostscript-sys-zlib.patch
+}
 
 build() {
-  cd ${srcdir}/ghostscript-${pkgver}
+  cd ghostscript-${pkgver}
   
   # force it to use system-libs
-  rm -rf jpeg libpng zlib jasper expat tiff lcms freetype 
+  # 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
+
+  autoconf --force
 
   ./configure --prefix=/usr \
 	--enable-dynamic \
@@ -30,37 +46,42 @@ build() {
 	--with-x \
 	--with-drivers=ALL\
 	--with-fontpath=/usr/share/fonts/Type1:/usr/share/fonts \
-	--with-install-cups \
 	--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 ${srcdir}/ghostscript-${pkgver}/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
 }
 
 package() {
-  cd ${srcdir}/ghostscript-${pkgver}
-  make DESTDIR=${pkgdir} \
-	cups_serverroot=${pkgdir}/etc/cups \
-	cups_serverbin=${pkgdir}/usr/lib/cups install soinstall
+  cd ghostscript-${pkgver}
+  make DESTDIR="${pkgdir}" \
+	cups_serverroot="${pkgdir}"/etc/cups \
+	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/{Ps2ps2.htm,gs-vms.hlp,gsdoc.el,pscet_status.txt} "${pkgdir}"/usr/share/ghostscript/$pkgver/doc/
   
-  mkdir -p ${pkgdir}/usr/share/licenses/${pkgname}
-  install -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/
+  install -D -m644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
 
   # remove unwanted localized man-pages
-  rm -rf $pkgdir/usr/share/man/[^man1]*
+  rm -rf "$pkgdir"/usr/share/man/[^man1]*
 
   # install IJS
-  cd ${srcdir}/ghostscript-${pkgver}/ijs
-  make DESTDIR=${pkgdir} install
+  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}
 }
diff --git a/abs/core/ghostscript/ghostscript-sys-zlib.patch b/abs/core/ghostscript/ghostscript-sys-zlib.patch
new file mode 100644
index 0000000..d632fcb
--- /dev/null
+++ b/abs/core/ghostscript/ghostscript-sys-zlib.patch
@@ -0,0 +1,25 @@
+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
+
diff --git a/abs/core/ghostscript/svn_rev11948.diff b/abs/core/ghostscript/svn_rev11948.diff
deleted file mode 100644
index 92abb0d..0000000
--- a/abs/core/ghostscript/svn_rev11948.diff
+++ /dev/null
@@ -1,16 +0,0 @@
-Modified: trunk/gs/base/gximag3x.c
-===================================================================
---- trunk/gs/base/gximag3x.c	2010-12-10 19:50:53 UTC (rev 11947)
-+++ trunk/gs/base/gximag3x.c	2010-12-11 23:02:25 UTC (rev 11948)
-@@ -241,7 +241,9 @@
- 	    const gs_image3x_mask_t *pixm =
- 		(i == 0 ? &pim->Opacity : &pim->Shape);
- 
--	    *(gs_data_image_t *)&mask[i].image = pixm->MaskDict;
-+            /* Use memcpy because direct assignment breaks ANSI aliasing */
-+            /* rules and causes SEGV with gcc 4.5.1 */
-+            memcpy(&mask[i].image, &pixm->MaskDict, sizeof(pixm->MaskDict));
- 	    mask[i].image.type = type1;
- 	    mask[i].image.BitsPerComponent = pixm->MaskDict.BitsPerComponent;
- 	}
-
-- 
cgit v0.12

