From 2e4361d7e1a7815e79bc8aff478d7089278882de Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Mon, 6 Aug 2012 21:23:50 -0500
Subject: ghostscript 9.05

---
 abs/core/ghostscript/PKGBUILD                      | 69 +++++++++++-----------
 abs/core/ghostscript/ghostscript-fPIC.patch        | 20 -------
 .../ghostscript/ghostscript-system-jasper.patch    | 26 --------
 abs/core/ghostscript/svn_rev11948.diff             | 16 +++++
 4 files changed, 50 insertions(+), 81 deletions(-)
 delete mode 100644 abs/core/ghostscript/ghostscript-fPIC.patch
 delete mode 100644 abs/core/ghostscript/ghostscript-system-jasper.patch
 create mode 100644 abs/core/ghostscript/svn_rev11948.diff

diff --git a/abs/core/ghostscript/PKGBUILD b/abs/core/ghostscript/PKGBUILD
index c479bdc..a911598 100644
--- a/abs/core/ghostscript/PKGBUILD
+++ b/abs/core/ghostscript/PKGBUILD
@@ -1,62 +1,57 @@
-# $Id: PKGBUILD 94631 2010-10-08 20:42:27Z andyrtr $
+# $Id: PKGBUILD 149988 2012-02-12 09:04:00Z andyrtr $
 # Maintainer: AndyRTR <andyrtr@archlinux.org>
 
 pkgname=ghostscript
-pkgver=9.00
+pkgver=9.05
 pkgrel=1
 pkgdesc="An interpreter for the PostScript language"
 arch=('i686' 'x86_64')
 license=('GPL3' 'custom')
-depends=('libxext' 'libxt' 'libcups>=1.4.2-3' 'fontconfig>=2.8.0' 'gnutls>=2.8.5' 'cairo>=1.8.8-2'
-          'jasper>=1.900.1-4' 'zlib' 'libpng>=1.4.0' 'libjpeg>=8')
-makedepends=('automake' 'autoconf' 'gtk2>=2.18.6')
-optdepends=('texlive-core:	dvipdf'
-            'gtk2:		gsx')
-replaces=('ghostscript-lrpng')
-provides=('ghostscript-lprng')
+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')
+optdepends=('texlive-core:      needed for dvipdf'
+            'gtk2:              needed for gsx')
 url="http://www.ghostscript.com/"
-source=(http://ghostscript.com/releases/ghostscript-${pkgver}.tar.xz
-	ghostscript-fPIC.patch
-	ghostscript-system-jasper.patch)
+source=(http://downloads.ghostscript.com/public/ghostscript-${pkgver}.tar.bz2)
 options=('!libtool' '!makeflags')
-md5sums=('1ca5f245677f78f573e6490bdb40702f'
-         '766d44c47c693f96941b658e360c1277'
-         '03e27cd02471ab3b642c344fa06b623e')
+md5sums=('8bcef1f33ddf8a4d12b2cf8da385c191')
 
 build() {
   cd ${srcdir}/ghostscript-${pkgver}
+  
   # force it to use system-libs
-  rm -rf jpeg libpng zlib jasper expat
-
-  # fix build with systems jasper
-  patch -Np1 -i ${srcdir}/ghostscript-system-jasper.patch || return 1
+  rm -rf jpeg libpng zlib jasper expat tiff lcms freetype 
 
-  if [ "$CARCH" = "x86_64" ]; then
-    patch -Np1 -i ${srcdir}/ghostscript-fPIC.patch || return 1
-  fi
+  ./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 \
+	--with-install-cups \
+	--enable-fontconfig \
+	--enable-freetype \
+	--without-luratech \
+	--with-system-libtiff \
+	--disable-compile-inits #--help # needed for linking with system-zlib
+  make
 
   # Build IJS
   cd ${srcdir}/ghostscript-${pkgver}/ijs
   ./autogen.sh
   ./configure --prefix=/usr --enable-shared --disable-static
-  make || return 1
-  make -j1 DESTDIR=${pkgdir} install || return 1
-
-  cd ..
-  ./autogen.sh
-  ./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 \
-	      --disable-compile-inits # needed for linking with system-zlib
-  make || return 1
+  make
 }
+
 package() {
-        cd ${srcdir}/ghostscript-${pkgver}
-        make -j1 DESTDIR=${pkgdir} \
+  cd ${srcdir}/ghostscript-${pkgver}
+  make DESTDIR=${pkgdir} \
 	cups_serverroot=${pkgdir}/etc/cups \
 	cups_serverbin=${pkgdir}/usr/lib/cups install soinstall
 
-  # install a missing doc files # http://bugs.archlinux.org/task/18023
+  # 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/
   
   mkdir -p ${pkgdir}/usr/share/licenses/${pkgname}
@@ -64,4 +59,8 @@ package() {
 
   # remove unwanted localized man-pages
   rm -rf $pkgdir/usr/share/man/[^man1]*
+
+  # install IJS
+  cd ${srcdir}/ghostscript-${pkgver}/ijs
+  make DESTDIR=${pkgdir} install
 }
diff --git a/abs/core/ghostscript/ghostscript-fPIC.patch b/abs/core/ghostscript/ghostscript-fPIC.patch
deleted file mode 100644
index 6f89996..0000000
--- a/abs/core/ghostscript/ghostscript-fPIC.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- ghostscript-8.60-r8112/base/lib.mak.fPIC	2007-07-10 17:03:11.000000000 +0100
-+++ ghostscript-8.60-r8112/base/lib.mak	2007-07-10 17:05:56.000000000 +0100
-@@ -874,7 +874,7 @@
- $(GLOBJ)gsparamx.$(OBJ) : $(GLSRC)gsparamx.c $(string__h)\
-  $(gserror_h) $(gserrors_h) $(gsmemory_h) $(gsparam_h) $(gsparamx_h)\
-  $(gstypes_h)
--	$(GLCC) $(GLO_)gsparamx.$(OBJ) $(C_) $(GLSRC)gsparamx.c
-+	$(GLCCSHARED) $(GLO_)gsparamx.$(OBJ) $(C_) $(GLSRC)gsparamx.c
- 
- # Future replacement for gsparams.c
- $(GLOBJ)gsparam2.$(OBJ) : $(GLSRC)gsparam2.c $(GXERR) $(memory__h)\
-@@ -1077,7 +1077,7 @@
- 
- # Provide a mapping between StandardEncoding and ISOLatin1Encoding.
- $(GLOBJ)gdevemap.$(OBJ) : $(GLSRC)gdevemap.c $(AK) $(std_h)
--	$(GLCC) $(GLO_)gdevemap.$(OBJ) $(C_) $(GLSRC)gdevemap.c
-+	$(GLCCSHARED) $(GLO_)gdevemap.$(OBJ) $(C_) $(GLSRC)gdevemap.c
- 
- ###### Create a pseudo-"feature" for the entire graphics library.
- 
diff --git a/abs/core/ghostscript/ghostscript-system-jasper.patch b/abs/core/ghostscript/ghostscript-system-jasper.patch
deleted file mode 100644
index 444b760..0000000
--- a/abs/core/ghostscript/ghostscript-system-jasper.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff -up ghostscript-8.64/base/sjpx.c.system-jasper ghostscript-8.64/base/sjpx.c
---- ghostscript-8.64/base/sjpx.c.system-jasper	2008-08-21 00:22:49.000000000 +0100
-+++ ghostscript-8.64/base/sjpx.c	2009-02-04 11:35:56.000000000 +0000
-@@ -34,14 +34,6 @@ static void s_jpxd_set_defaults(stream_s
- private_st_jpxd_state(); /* creates a gc object for our state,
- 			    defined in sjpx.h */
- 
--/* error reporting callback for the jpx library */
--static void
--s_jpx_jas_error_cb(jas_error_t err, char *msg)
--{
--  dprintf2("jasper (code %d) %s", (int)err, msg);
--}
--
--
- /* initialize the steam.
-    this involves allocating the stream and image structures, and
-    initializing the decoder.
-@@ -59,7 +51,6 @@ s_jpxd_init(stream_state * ss)
-     }
- 
-     status = jas_init();
--    jas_set_error_cb(s_jpx_jas_error_cb);
- #ifdef JPX_DEBUG
-     /* raise the error reporting threshold from the default (0) */
-     jas_setdbglevel(1);
diff --git a/abs/core/ghostscript/svn_rev11948.diff b/abs/core/ghostscript/svn_rev11948.diff
new file mode 100644
index 0000000..92abb0d
--- /dev/null
+++ b/abs/core/ghostscript/svn_rev11948.diff
@@ -0,0 +1,16 @@
+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