Merge from vendor branch TNF:
[pkgsrcv2.git] / print / ghostscript-nox11 / Makefile.common
1 # $NetBSD: Makefile.common,v 1.2 2000/05/24 10:30:24 agc Exp $
2
3 DISTNAME=               ghostscript-${GS_VERS}
4 GS_VERS=                6.01
5 CATEGORIES=             print
6 MASTER_SITES+=          http://download.sourceforge.net/ghostscript/ \
7                         ftp://ftp.cs.wisc.edu/ghost/aladdin/gs601/
8 EXTRACT_SUFX=           .tar.bz2
9
10 MAINTAINER=             jlam@netbsd.org
11 HOMEPAGE=               http://www.cs.wisc.edu/~ghost/index.html
12
13 DEPENDS+=               ghostscript-fonts-6.0:../../print/ghostscript-fonts
14 DEPENDS+=               ja-vflib-lib-2.*:../../japanese/vflib-lib
15 DEPENDS+=               watanabe-vfont-19930318:../../fonts/watanabe_vfont
16 DEPENDS+=               png>=1.0.6:../../graphics/png
17
18 # Adobe's JPEG implementation in their PDF/PS documents is non-standard,
19 # so we can't use an already installed libjpeg.so.
20 #
21 BUILD_DEPENDS+=         ${BUILD_ROOT}/graphics/jpeg/${WRKDIR:T}/jpeg-6b:../../graphics/jpeg:extract
22
23 GS_SOURCES=             ${DISTNAME}${EXTRACT_SUFX}
24 DISTFILES+=             ${GS_SOURCES}
25
26 # VFlib & Japanese PDF patch
27 PATCH_SITES=            http://www.sat.t.u-tokyo.ac.jp/~hideyuki/Ghostscript/
28 PATCHFILES=             gs${GS_VERS}-jpdf-exp.patch.gz
29 PATCH_DIST_STRIP=       -p1
30
31 # PostScript source to decode encrypted PDF files
32 MASTER_SITES+=          http://www.ozemail.com.au/~geoffk/pdfencrypt/
33 PDF_SEC=                pdf_sec.ps
34 DISTFILES+=             ${PDF_SEC}
35
36 # Additional driver for several HP deskjets
37 MASTER_SITES+=          ftp://ftp.sbs.de/pub/graphics/ghostscript/pcl3/
38 HPDJ_DRV=               hpdj-2.6
39 DISTFILES+=             ${HPDJ_DRV}.tar.gz
40 EXTRACT_LIST+=          ${HPDJ_DRV}.tar.gz
41
42 # I don't know the primary destribution sites of these drivers....
43 MASTER_SITES+=          ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/
44 DMPRT_DRV=              dmprt-2.01
45 DISTFILES+=             ${DMPRT_DRV}.tar.gz
46 EXTRACT_LIST+=          ${DMPRT_DRV}.tar.gz
47
48 BJ10V_DRV=              gdev10v
49 DISTFILES+=             ${BJ10V_DRV}.tar.gz
50 EXTRACT_LIST+=          ${BJ10V_DRV}.tar.gz
51
52 # This driver doesn't compile ... missing header "gsprops.h".
53 MJC_DRV=                gdevmjc-0.8
54 DISTFILES+=             ${MJC_DRV}.tar.gz
55 EXTRACT_LIST+=          ${MJC_DRV}.tar.gz
56
57 # Alps MD5000 printer 600dpi monochrome mode
58 MD5000_DRV=             gdevalps-0.2
59 DISTFILES+=             ${MD5000_DRV}.tar.gz
60 EXTRACT_LIST+=          ${MD5000_DRV}.tar.gz
61
62 # Alps MD-2000/2010/4000/1300/1500/5000
63 MASTER_SITES+=          http://plaza26.mbn.or.jp/~higamasa/gdevmd2k/
64 MD2000_DRV=             gdevmd2k-0.2a
65 DISTFILES+=             ${MD2000_DRV}.tar.gz
66 EXTRACT_LIST+=          ${MD2000_DRV}.tar.gz
67
68 # Canon LIPS II+, III, IV; EPSON ESC/Page; NEC NPDL drivers
69 MASTER_SITES+=          http://www.bukka.p.chiba-u.ac.jp/~ohmori/gs/
70 LIPS_DRV=               gdevlips-2.3.6
71 DISTFILES+=             ${LIPS_DRV}.tar.gz
72 EXTRACT_LIST+=          ${LIPS_DRV}.tar.gz
73
74 # Ricoh RPDL
75 MASTER_SITES+=          http://home.jp.FreeBSD.org/~mita/LOCAL_PORTS/
76 RPDL_DRV=               gdevrpdl
77 DISTFILES+=             ${RPDL_DRV}.tar.gz
78 EXTRACT_LIST+=          ${RPDL_DRV}.tar.gz
79
80 # Kyocera Prescribe
81 MASTER_SITES+=          ${MASTER_SITE_LOCAL}
82 PRESCR_DRV=             gdevprsc-0.2.1
83 DISTFILES+=             ${PRESCR_DRV}.tar.gz
84 EXTRACT_LIST+=          ${PRESCR_DRV}.tar.gz
85
86 FILESDIR=               ${.CURDIR}/../../print/ghostscript-nox11/files
87 PATCHDIR=               ${.CURDIR}/../../print/ghostscript-nox11/patches
88 SCRIPTDIR=              ${.CURDIR}/../../print/ghostscript-nox11/scripts
89 PLIST_SRC=              ${.CURDIR}/../../print/ghostscript-nox11/pkg/PLIST
90
91 EXTRACT_ONLY=           ${GS_SOURCES}
92 DIST_SUBDIR=            ghostscript
93 WRKSRC=                 ${WRKDIR}/gs${GS_VERS}
94 MAKEFILE=               src/unix-gcc.mak
95 ALL_TARGET=             std
96
97 .include "../../mk/bsd.prefs.mk"
98
99 # arm32 compiler has an optimizer problem
100 .if ${OPSYS} == "NetBSD" && ${MACHINE_ARCH} == "arm32"
101 CFLAGS=
102 .endif
103
104 .if defined(PAPERSIZE) && (${PAPERSIZE} == "A4" || ${PAPERSIZE} == "a4")
105 CFLAGS+=                -DA4
106 .endif
107
108 CFLAGS+=                -I${LOCALBASE}/include          # png.h, VF.h
109 CFLAGS+=                -DHAVE_MKSTEMP=1
110
111 .if ${OPSYS} == "SunOS"
112 LDFLAGS+=               -L${LOCALBASE}/bsd/lib -Wl,-R${LOCALBASE}/bsd/lib
113 .endif
114
115 MAKE_ENV+=              XLDFLAGS="${LDFLAGS}"
116
117 # Ghostscript builds in ./obj, which confuses make, so explicitly set
118 # MAKEOBJDIR so as not to descend into ./obj.
119 #
120 MAKE_ENV+=              MAKEOBJDIR="."
121
122 # Define whether this platform has floating point hardware:
123 #       FPU_TYPE=2 means floating point is faster than fixed point.
124 # (This is the case on some RISCs with multiple instruction dispatch.)
125 #       FPU_TYPE=1 means floating point is at worst only slightly slower
126 # than fixed point.
127 #       FPU_TYPE=0 means that floating point may be considerably slower.
128 #       FPU_TYPE=-1 means that floating point is always much slower than
129 # fixed point.
130 #
131 FPU_TYPE=               1
132 MAKE_ENV+=              FPU_TYPE=${FPU_TYPE}
133
134 .if defined(USE_X11)
135 MAKEFRAGS=              ${FILESDIR}/devs.x11
136 .endif
137 MAKEFRAGS+=             ${FILESDIR}/devs.nox11
138
139 PERL_PATH=              ${LOCALBASE}/bin/perl
140 GSINST_DIR=             ${PREFIX}/share/ghostscript/${GS_VERS}vflib
141 DOC_DIR=                ${PREFIX}/share/doc/ghostscript
142 LIB_DIR=                ${GSINST_DIR}/lib
143
144 post-extract:
145 .for FILE in ${EXTRACT_LIST}
146         cd ${WRKDIR}; ${PAX} -zrf ${_DISTDIR}/${FILE}
147 .endfor
148         cd ${WRKSRC}/src; ${PAX} -rf ${WRKDIR}/${HPDJ_DRV}/hpdj.tar
149         ${MV} ${WRKSRC}/src/gs-hpdj.1 ${WRKSRC}/man
150         cd ${WRKDIR}; ${CP} gdevdmpr.c gdevdmpr.mak             ${WRKSRC}/src
151         cd ${WRKDIR}; ${CP} dviprlib.*                          ${WRKSRC}/src
152         cd ${WRKDIR}/${BJ10V_DRV}; ${CP} gdev10v.c gdev10v.mak  ${WRKSRC}/src
153         cd ${WRKDIR}/${MJC_DRV}; ${CP} *.[ch] gdevmjc.mak       ${WRKSRC}/src
154         cd ${WRKDIR}/${LIPS_DRV}; ${CP} *                       ${WRKSRC}/src
155         cd ${WRKDIR}/${RPDL_DRV}; ${CP} gdevrpdl.c gdevrpdl.mak ${WRKSRC}/src
156         cd ${WRKDIR}/${MD5000_DRV}; \
157                 ${CP} gdevalps.c gdevalps.mak-5.50              ${WRKSRC}/src
158         cd ${WRKDIR}/${MD2000_DRV}; \
159                 ${CP} gdevmd2k.c gdevmd2k.mak-5.8x              ${WRKSRC}/src
160         cd ${WRKDIR}/${PRESCR_DRV}; \
161                 ${CP} gdevprsc.c gdevprsc.mak                   ${WRKSRC}/src
162
163         ${RM} -f ${WRKSRC}/jpeg
164         ${LN} -s ${BUILD_ROOT}/graphics/jpeg/${WRKDIR:T}/jpeg-6b \
165                 ${WRKSRC}/jpeg
166         ${RM} -f ${WRKSRC}/lib/${PDF_SEC}
167         ${LN} -s ${_DISTDIR}/${PDF_SEC} ${WRKSRC}/lib/${PDF_SEC}
168         ${MV} ${WRKSRC}/lib/fixmswrd.pl ${WRKSRC}/lib/fixmswrd.pl.in
169
170 post-patch:
171         if [ ! -f ${WRKDIR}/dmp_site.ps.bak ]; then \
172                 ${MV} ${WRKDIR}/dmp_site.ps ${WRKDIR}/dmp_site.ps.bak; \
173         fi
174         ${SED} -e "s,epsimage\.src,${GSINST_DIR}/lib/escp_24.src,g" \
175                 < ${WRKDIR}/dmp_site.ps.bak > ${WRKDIR}/dmp_site.ps
176
177 do-configure:
178         #
179         # Append build rules for extra drivers to contrib.mak
180         #
181         ${CAT}  ${WRKSRC}/src/contrib.mak-5.94.add \
182                 ${WRKSRC}/src/gdevlips.mak \
183                 ${WRKSRC}/src/gdev10v.mak \
184                 ${WRKSRC}/src/gdevmjc.mak \
185                 ${WRKSRC}/src/gdevrpdl.mak \
186                 ${WRKSRC}/src/gdevdmpr.mak \
187                 ${WRKSRC}/src/gdevalps.mak-5.50 \
188                 ${WRKSRC}/src/gdevmd2k.mak-5.8x \
189                 ${WRKSRC}/src/gdevprsc.mak \
190                 >> ${WRKSRC}/src/contrib.mak
191         #
192         # Prepend device list to unix-gcc.mak
193         #
194         ${CAT}  ${MAKEFRAGS} \
195                 ${WRKSRC}/src/unix-gcc.mak \
196                 > ${WRKDIR}/unix-gcc.mak
197         ${MV} -f ${WRKDIR}/unix-gcc.mak ${WRKSRC}/src
198
199         ${SED}  -e "s,@PERL@,${PERL_PATH},g" \
200                 < ${WRKSRC}/lib/fixmswrd.pl.in > ${WRKSRC}/lib/fixmswrd.pl
201
202 post-install:
203         strip ${PREFIX}/bin/gs
204         ${INSTALL_DATA} ${WRKDIR}/${LIPS_DRV}/Gdevlips.htm ${DOC_DIR}
205         ${INSTALL_DATA} ${WRKDIR}/${BJ10V_DRV}/gdev10v.jis ${DOC_DIR}
206         ${INSTALL_DATA} ${WRKDIR}/gdevdmpr.sj ${DOC_DIR}
207         ${INSTALL_DATA} ${WRKDIR}/dmp_init.ps ${LIB_DIR}
208         ${INSTALL_DATA} ${WRKDIR}/dmp_site.ps ${LIB_DIR}
209         ${INSTALL_DATA} ${WRKDIR}/escp_24.src ${LIB_DIR}
210         ${INSTALL_DATA} ${WRKDIR}/testpage.ps ${LIB_DIR}
211         ${INSTALL_DATA} ${WRKDIR}/${PRESCR_DRV}/gdevprsc.?? ${DOC_DIR}
212         ${INSTALL_DATA_DIR} ${DOC_DIR}/${MJC_DRV}
213         ${INSTALL_DATA} ${WRKDIR}/${MJC_DRV}/README.mjc ${DOC_DIR}/${MJC_DRV}
214         ${INSTALL_DATA} ${WRKDIR}/${MJC_DRV}/README.noz ${DOC_DIR}/${MJC_DRV}
215         ${INSTALL_DATA} ${WRKDIR}/${MJC_DRV}/README.mje ${DOC_DIR}/${MJC_DRV}
216         ${INSTALL_DATA} ${WRKDIR}/${MJC_DRV}/cpem.doc ${DOC_DIR}/${MJC_DRV}
217         ${INSTALL_DATA} ${WRKDIR}/${MJC_DRV}/MJ700V2C.FAQ ${DOC_DIR}/${MJC_DRV}
218
219 pre-clean:
220         @cd ../../graphics/jpeg && ${MAKE} clean
221
222 .include "../../mk/bsd.pkg.mk"