summaryrefslogtreecommitdiff
path: root/libre/ghostscript/PKGBUILD
blob: d653c09aabead67e1fdea69763798094fea46eac (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
101
102
103
104
105
106
# $Id: PKGBUILD 249384 2015-10-15 15:37:05Z andyrtr $
# Maintainer (Arch): AndyRTR <andyrtr@archlinux.org>
# Maintainer: André Silva <emulatorman@parabola.nu>

### !!! rebuild groff from core that picks up hardcoding the GS versioned font path !!! ###

pkgname=ghostscript
pkgver=9.18
pkgrel=3.parabola1
pkgdesc="An interpreter for the PostScript language, without nonfree JPEG XR support"
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')
conflicts=('ghostscript-libre')
replaces=('ghostscript-libre')
url="http://www.ghostscript.com/"
mksource=(http://downloads.ghostscript.com/public/ghostscript-${pkgver}.tar.bz2)
source=(https://repo.parabola.nu/other/ghostscript-libre/ghostscript-libre-${pkgver}.tar.bz2
        ghostscript-sys-zlib.patch
        bug_696246.diff
        libre.patch)
#options=('!makeflags')
# http://downloads.ghostscript.com/public/SHA1SUMS
mksha1sums=('388fea50a38e422a4c6ff27c184491bf5ecb96e1')
sha1sums=('6899da0407e4bf4a9f65848e68df237ed83c04ee'
          'e054caf753df4d67221b29a2eac66130653f7556'
          'f259eaac3beb0ec346bb2d4d2455e4e3baddecd4'
          '51f821faec00749ed8b61d772879269f9809f694')
mksource() {
  cd ghostscript-${pkgver}
  # JPEG XR is nonfree because it has the following license that forbids making modifications that 
  # do not comply with the ITU standard and might have other issues.
  rm -rfv jpegxr
}

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
  # remove nonfree JPEG XR reference on the license file
  patch -Np1 -i ${srcdir}/libre.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

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