summaryrefslogtreecommitdiffstats
path: root/abs/core/ghostscript/PKGBUILD
blob: 42dada72a72970b86f5ed39f1ed74200881cda0b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# $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
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')

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() {
  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

  autoconf --force

  ./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
}

package() {
  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 -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}
}