summaryrefslogtreecommitdiff
blob: b84f44c80ef6200c6e205488776447152bbb1914 (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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-text/ghostscript-afpl/ghostscript-afpl-8.53.ebuild,v 1.4 2005/12/11 19:18:51 spyderous Exp $

inherit eutils

DESCRIPTION="AFPL Ghostscript"
HOMEPAGE="http://www.cs.wisc.edu/~ghost/"

MY_PN="ghostscript"
MY_P=${MY_PN}-${PV}
CUPS_PV=1.1.23

SRC_URI="mirror://sourceforge/ghostscript/${MY_P}.tar.gz
	cjk? ( http://www.matsusaka-u.ac.jp/mirror/gs-cjk/adobe-cmaps-200204.tar.gz
		http://www.matsusaka-u.ac.jp/mirror/gs-cjk/acro5-cmaps-2001.tar.gz )
	cups? ( mirror://gentoo/cups-${CUPS_PV}-source.tar.bz2 )"

LICENSE="Aladdin"
SLOT="0"
KEYWORDS="~x86 ~amd64 ~ppc"
IUSE="X cups cjk gtk jasper"

PROVIDE="virtual/ghostscript"

DEPEND="virtual/libc
	>=media-libs/jpeg-6b
	>=media-libs/libpng-1.2.8
	>=sys-libs/zlib-1.2.1
	>=media-fonts/gnu-gs-fonts-std-8.11
	X? (  || ( ( x11-libs/libXt
				x11-libs/libXpm
			)
			virtual/x11
		)
	)
	gtk? ( =x11-libs/gtk+-1.2* )
	cjk? ( media-fonts/arphicfonts
		media-fonts/kochi-substitute
		media-fonts/baekmuk-fonts )
	cups? ( net-print/cups )
	jasper? ( media-libs/jasper )
	!virtual/ghostscript"

S=${WORKDIR}/${MY_P}

src_unpack() {
	unpack ghostscript-${PV}.tar.gz

	# cups support
	if use cups; then
		unpack cups-${CUPS_PV}-source.tar.bz2
		cp -r cups-${CUPS_PV}/pstoraster ${S}
		cd ${S}/pstoraster
		sed -e 's:@prefix@:/usr:' -e 's:@exec_prefix@:${prefix}:' -e 's:@bindir@:${exec_prefix}/bin:' -e 's:@GS@:gs:' pstopxl.in > pstopxl
		sed -i -e 's:/usr/local:/usr:' pstoraster
		#81418
		sed -i 's:OUTPUTFILE="%stdout" $profile $6$:OUTPUTFILE="%stdout" $profile $6 -:' pstoraster
		sed -i -e "s:pstopcl6:pstopxl:" cups.mak
		cd ${S}
		epatch ${FILESDIR}/gdevcups.patch
	fi

	cd ${S}
	epatch ${FILESDIR}/gs852-lib.patch
	# see bug #111537
	use amd64 || epatch ${FILESDIR}/rinkj.patch

	# enable cfax device (bug #56704)
	sed -i -e 's:DEVICE_DEVS7=$(DD)faxg3.dev $(DD)faxg32d.dev $(DD)faxg4.dev:DEVICE_DEVS7=$(DD)faxg3.dev $(DD)faxg32d.dev $(DD)faxg4.dev $(DD)cfax.dev:' ${S}/Makefile.in
}

src_compile() {
	# don't build gtk frontend if not in use
	use gtk || sed -i -e 's:$(INSTALL_PROGRAM) $(GSSOX):#:' src/unix-dll.mak \
		-e 's:$(GSSOX)::' src/unix-dll.mak

	econf \
		$(use_with X x) \
		$(use_with jasper) \
		|| die "econf failed"
#		$(use_with ijs) \
#		$(use_with jbig2dec) \

	# build cups driver with cups
	if use cups; then
		echo 'include pstoraster/cups.mak' >> Makefile
		sed -i -e 's:DEVICE_DEVS17=:DEVICE_DEVS17=$(DD)cups.dev:' Makefile
		sed -i -e 's:LDFLAGS=\(.*\)$(XLDFLAGS):LDFLAGS=\1-L/usr/include -lcups -lcupsimage $(XLDFLAGS):' Makefile
	fi

	# search path fix
	sed -i -e "s:\$(gsdatadir)/lib:/usr/share/ghostscript/${PV}/lib:" Makefile
	sed -i -e 's:$(gsdir)/fonts:/usr/share/fonts/default/ghostscript/:' Makefile
	sed -i -e "s:\$(gsdatadir)/Resource:/usr/share/ghostscript/${PV}/Resource:" Makefile

	emake || die "emake failed"
	emake so || die "emake so failed"

	# build ijs
	cd ijs
	./autogen.sh
	econf --prefix=${D}/usr || die "econf failed"
	emake || die "emake failed"
	cd ..
}

src_install() {
	einstall install_prefix=${D} soinstall

	rm -fr ${D}/usr/share/ghostscript/${PV}/doc || die
	dodoc doc/README
	dohtml doc/*.html doc/*.htm
	insinto /usr/share/emacs/site-lisp
	doins doc/gsdoc.el || die

	if use cjk ; then
		dodir /usr/share/ghostscript/Resource
		dodir /usr/share/ghostscript/Resource/Font
		dodir /usr/share/ghostscript/Resource/CIDFont
		cd ${D}/usr/share/ghostscript/Resource
		unpack adobe-cmaps-200204.tar.gz
		unpack acro5-cmaps-2001.tar.gz
	fi

	# install ijs
	cd ${S}/ijs
	dodir /usr/bin /usr/include /usr/lib
	einstall install_prefix=${D}
}