freebsd-ports/print/ghostscript-gpl/Makefile
Joe Marcus Clarke 6f32add9a7 The FreeBSD GNOME team is proud to annunce the release of GNOME 2.22.0 for
FreeBSD.  The official GNOME 2.22 release notes can be found at
http://library.gnome.org/misc/release-notes/2.22/ .  On the FreeBSD front,
this release features an updated hal port with support for video4linux
devices, DRM (Direct Rendering), and better support of removable media.  Work
is also underway to tie webkit more closely into GNOME.  As part of the
GNOME 2.22 upgrade, GStreamer received a rather large upgrade as well.
Be sure to consult UPDATING on the proper steps to upgrade all of your
GNOME ports.

This release would not have been possible without the contributions and
testing efforts of the following people:

Pawel Worach
kan
edwin
Peter Ulrich Kruppa
J. W. Ballantine
Yasuda Keisuke
Andriy Gapon
2008-03-24 03:52:36 +00:00

334 lines
10 KiB
Makefile

# New ports collection makefile for: ghostscript
# Date created: Tue Jun 10 21:58:54 CEST 1997
# Whom: Andreas Klemm <andreas@klemm.gtn.com>
#
# $FreeBSD$
#
PORTNAME= ghostscript
PORTVERSION= ${GS_VERSION}
PORTREVISION= ${GS_REVISION}
PORTEPOCH= ${GS_EPOCH}
CATEGORIES= print
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:S/$/:gs_srcs/} \
http://www.linuxprinting.org/ijs/download/:ijs_srcs \
http://www.humblesoft.com/pub/:epag \
ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/GPL/gs${GS_VERSION:S/.//}/:gs_srcs
MASTER_SITE_SUBDIR= ghostscript/:gs_srcs
PKGNAMESUFFIX= -gpl
DISTFILES= ${GS_SRCS}:gs_srcs \
${IJS_SRCS}:ijs_srcs \
${EPAG_SRCS}:epag
DIST_SUBDIR= ghostscript
EXTRACT_ONLY= ${GS_SRCS} ${IJS_SRCS}
MAINTAINER= ports@FreeBSD.org
COMMENT= GPL Postscript interpreter
LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg \
png.5:${PORTSDIR}/graphics/png
RUN_DEPENDS= ${LOCALBASE}/share/ghostscript/fonts/a010013l.pfb:${PORTSDIR}/print/gsfonts
CONFLICTS= ghostscript-gnu*
USE_BZIP2= yes
USE_GMAKE= yes
WANT_GNOME= yes
MAKE_ENV= CC="${CC}" CXX="${CXX}" CFLAGS_STANDARD="${CFLAGS}" \
XCFLAGS="${XCFLAGS}" XLDFLAGS="${XLDFLAGS}" \
EXTRALIBS="${EXTRALIBS}" \
SOC_LOADER="dxmainc.c"
PLIST_SUB= GS_VERSION="${GS_VERSION}" \
CIDFONTDIR="${CIDFONTDIR}"
OPTIONS= A4SIZE "Set A4 (not Letter) as a default paper size" off \
FONTCONFIG "fontconfig support" off \
FT_BRIDGE "FreeType bridge" off \
ICONV "libiconv support (required by opvp/oprp drivers)" on \
JPNFONTS "Japanese font support" on \
SVGALIB "svgalib support" off
.if defined(WITHOUT_X11)
OPTIONS+= X11 "X11 support" off
.else
OPTIONS+= X11 "X11 support" on
.endif
MAN1= dvipdf.1 font2c.1 gs.1 gslp.1 gsnd.1 gs-pcl3.1 pcl3opts.1 \
pdf2dsc.1 pdf2ps.1 pdfopt.1 pf2afm.1 pfbtopfa.1 printafm.1 \
ps2ascii.1 ps2epsi.1 ps2pdf.1 ps2pdfwr.1 ps2ps.1 wftopfa.1
MLINKS= gslp.1 gsbj.1 \
gslp.1 gsdj.1 \
gslp.1 gsdj500.1 \
gslp.1 gslj.1 \
ps2pdf.1 ps2pdf12.1 \
ps2pdf.1 ps2pdf13.1 \
ps2ps.1 eps2eps.1
XCFLAGS= ${PTHREAD_CFLAGS}
XLDFLAGS= ${PTHREAD_LIBS}
.include "Makefile.inc"
.include <bsd.port.pre.mk>
SCRIPTS_ENV= GS_DRIVERS_LIST="${GS_DRIVERS_LIST}" \
WITHOUT_X11="${WITHOUT_X11}" \
WITH_SVGALIB="${WITH_SVGALIB}" \
WITH_ICONV="${WITH_ICONV}"
.if !defined(WITH_LETTERSIZE)
.if defined(A4) || defined(WITH_A4SIZE)
XCFLAGS+= -DA4
MSG_PAPERSIZE= "NOTE: Default paper size will be A4."
.endif
.endif
.if defined(WITHOUT_X11)
PKGNAMESUFFIX:= ${PKGNAMESUFFIX}-nox11
.else
USE_XORG= xt xext
.endif
.if defined(WITH_SVGALIB)
LIB_DEPENDS+= vga.1:${PORTSDIR}/graphics/svgalib
.endif
.if defined(WITH_ICONV)
USE_ICONV= yes
EXTRALIBS+= -liconv
.endif
.if defined(WITH_FONTCONFIG)
LIB_DEPENDS+= fontconfig.1:${PORTSDIR}/x11-fonts/fontconfig
XCFLAGS+= -DHAVE_FONTCONFIG=1
EXTRALIBS+= -lfontconfig
.endif
.if defined(WITH_FT_BRIDGE)
BUILD_DEPENDS+= ${LOCALBASE}/lib/libfreetype.a:${PORTSDIR}/print/freetype2
MAKE_ENV+= FT_BRIDGE=1 FT_ROOT="${WRKSRC}/freetype" FT_LIB_EXT=".a"
.endif
ALL_TARGET= so
INSTALL_TARGET= soinstall
USE_LDCONFIG= yes
PLIST_SUB+= SHLIB_VER="${GS_VERSION:R}"
GS_SRCS= ${DISTNAME}${EXTRACT_SUFX}
IJS_SRCS= ijs-0.35${EXTRACT_SUFX}
CIDFONTDIR= ${PREFIX}/share/ghostscript/${GS_VERSION}/Resource
# Additional Drivers:
# EPAG - additional driver for Epson ESC/Page printers
# http://www.humblesoft.com/gdevepag.html
EPAG= epag
EPAG_VERS= 3.09
EPAG_NAME= ${EPAG}-${EPAG_VERS}
EPAG_SRCS= ${EPAG_NAME}.tar.gz
# Add support for Japanese fonts
.if defined(WITH_JPNFONTS)
MASTER_SITES+= http://www.interq.or.jp/mars/cherry/mac/:jpn
DISTFILES+= ${JPN_SRCS}:jpn
JPN_SRCS= Font.tar.bz2
PLIST_SUB+= JPN=""
.else
PLIST_SUB+= JPN="@comment "
.endif
.SILENT:
pre-everything::
${ECHO_MSG} ${MSG_PAPERSIZE}
post-extract:
${ECHO_MSG} ">>> in post-extract ..."
${RM} -fr ${WRKSRC}/ijs
${LN} -sf ../ijs-0.35 ${WRKSRC}/ijs
# ** 3rd party driver **
# Note: don't forget to add those devices in scripts/configure,
# which update unix-gcc.mak to build gs with these new devices!
#
# for EPAG driver
${ECHO_MSG} ">>> extracting ${EPAG_SRCS} ..."
${TAR} -C ${WRKSRC} -xzf ${DISTDIR}/${DIST_SUBDIR}/${EPAG_SRCS}
${LN} -sf ${EPAG_NAME} ${WRKSRC}/${EPAG}
# for Japanese fonts
.if defined(WITH_JPNFONTS)
${ECHO_MSG} ">>> extracting ${JPN_SRCS} ..."
${TAR} -C ${WRKSRC}/Resource -xypof ${DISTDIR}/${DIST_SUBDIR}/${JPN_SRCS}
.endif
post-patch:
${REINPLACE_CMD} -e 's|^DEVICE_DEVS|#DEVICE_DEVS|g' \
${WRKSRC}/src/unix-gcc.mak
${REINPLACE_CMD} -e 's|\. de|\.|g' \
${WRKSRC}/src/unixinst.mak
# for DMPRT driver
${REINPLACE_CMD} -e 's|%%DATADIR%%|${DATADIR}|g ; \
s|%%GS_VERSION%%|${GS_VERSION}|g' \
${WRKSRC}/contrib/japanese/dmp_site.ps
# here we apply the modifications necessary to build the 3rd party drivers
# advantage: you see unmodified makefiles after a pure make extract
pre-configure:
${ECHO_MSG} ">>> in pre-configure ..."
# for EPAG driver
${ECHO_MSG} ">>> adding EPAG driver to contrib.mak ..."
${CAT} ${FILESDIR}/epag.contrib.mak \
>> ${WRKSRC}/src/contrib.mak
post-configure:
${ECHO_MSG} ">>> in post-configure ..."
cd ${WRKSRC}/jasper ; \
${SETENV} ${MAKE_ENV} ${SH} ./configure --prefix=${PREFIX}
cd ${WRKSRC}/ijs ; \
${SETENV} ${MAKE_ENV} ${SH} ./configure --prefix=${PREFIX}
pre-build:
${ECHO_MSG} ">>> in pre-build ..."
${ECHO_MSG} ">>> creating directories for compilation ..."
${MKDIR} ${WRKSRC}/obj
${MKDIR} ${WRKSRC}/bin
${ECHO_MSG} ">>> creating symlinks for EPAG ..."
.for i in gdevepag.c
${LN} -sf ${WRKSRC}/${EPAG_NAME}/${i} ${WRKSRC}/src
.endfor
.if defined(WITH_FT_BRIDGE)
${MKDIR} ${WRKSRC}/freetype/include
${LN} -sf ${LOCALBASE}/include/ft2build.h \
${WRKSRC}/freetype/include/ft2build.h
${LN} -sf ${LOCALBASE}/include/freetype2/freetype \
${WRKSRC}/freetype/include/freetype
${MKDIR} ${WRKSRC}/freetype/objs
${LN} -sf ${LOCALBASE}/lib/libfreetype.a \
${WRKSRC}/freetype/objs/freetype214MT_D.a
.endif
post-build:
# for PCL3 driver
${ECHO_MSG} ">>> building PCL3 utility ..."
cd ${WRKSRC} ; \
${CC} ${CFLAGS} -I./obj -I./soobj -I./src \
-I./contrib/pcl3/eprn -o bin/pcl3opts \
contrib/pcl3/src/pcl3opts.c contrib/pcl3/src/pclscan.c \
contrib/pcl3/eprn/mediasize.c contrib/pcl3/src/pclsize.c
# for EPAG driver
${ECHO_MSG} ">>> building EPAG utility ..."
cd ${WRKSRC}/${EPAG_NAME} ; \
${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} Makefile
pre-su-install:
${ECHO_MSG} ">>> in pre-install ..."
${ECHO_MSG} ">>> creating ghostscript destdir ..."
${MKDIR} ${DATADIR}
${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${DATADIR}
post-install:
${ECHO_MSG} ">>> in post-install ..."
${LN} -s -f ${LOCALBASE}/share/fonts/CIDFont ${CIDFONTDIR}/CIDFont
${ECHO_MSG} ">>> stripping gs ..."
${STRIP_CMD} ${PREFIX}/bin/gsc ${PREFIX}/bin/gsx
${LN} -sf gsc ${PREFIX}/bin/gs
# for PCL3 driver
${ECHO_MSG} ">>> installing PCL3 utility in bindir ..."
${INSTALL_PROGRAM} ${WRKSRC}/bin/pcl3opts ${PREFIX}/bin
${ECHO_MSG} ">>> installing PCL3 manpages ..."
.for i in gs-pcl3.1 pcl3opts.1
${INSTALL_MAN} ${WRKSRC}/contrib/pcl3/doc/${i} ${MANPREFIX}/man/man1
.endfor
# other pcl3 stuff, which might be interesting for runtime
${ECHO_MSG} ">>> creating PCL3 destdir ..."
${MKDIR} ${DATADIR}/${GS_VERSION}/pcl3
${ECHO_MSG} ">>> installing files in PCL3 destdir ..."
.for i in NEWS BUGS README lib/example.mcf lib/if-pcl3 ps/calign.ps \
ps/dumppdd.ps ps/levels-test.ps ps/margins-A4.ps \
ps/margins-A4Rotated.ps ps/margins-Env10Rotated.ps \
ps/margins-EnvDLRotated.ps ps/margins-Letter.ps \
ps/margins-LetterRotated.ps
${INSTALL_DATA} ${WRKSRC}/contrib/pcl3/${i} \
${DATADIR}/${GS_VERSION}/pcl3
.endfor
# for DMPRT driver
${ECHO_MSG} ">>> installing DMPRT resources ..."
.for i in dmp_init.ps dmp_site.ps escp_24.src
${INSTALL_DATA} ${WRKSRC}/contrib/japanese/${i} \
${DATADIR}/${GS_VERSION}/lib
.endfor
# for EPAG driver
${ECHO_MSG} ">>> installing EPAG utility in bindir ..."
${INSTALL_PROGRAM} ${WRKSRC}/${EPAG_NAME}/ert ${PREFIX}/bin
# contributed UPP driver
${ECHO_MSG} ">>> installing contributed UPP profiles ..."
${INSTALL_DATA} ${WRKSRC}/contrib/uniprint/*.upp \
${DATADIR}/${GS_VERSION}/lib
.for i in lqx70ch.upp lqx70cl.upp lqx70cm.upp
${INSTALL_DATA} ${FILESDIR}/${i} \
${DATADIR}/${GS_VERSION}/lib
.endfor
# for Japanese fonts
.if defined(WITH_JPNFONTS)
${ECHO_MSG} ">>> installing Japanese font resources ..."
${INSTALL_DATA} ${WRKSRC}/Resource/Font/* \
${DATADIR}/${GS_VERSION}/Resource/Font/
.endif
#
# now NOPORTDOCS dependend stuff
#
.if !defined(NOPORTDOCS)
${ECHO_MSG} ">>> installing PORTDOC stuff ..."
${MKDIR} ${DOCSDIR}/${GS_VERSION}/japanese
${INSTALL_DATA} ${WRKSRC}/contrib/japanese/doc/* \
${DOCSDIR}/${GS_VERSION}/japanese
# for HP2200 driver
${MKDIR} ${DOCSDIR}/${GS_VERSION}/chp2200
.for file in AUTHORS INSTALL
${INSTALL_DATA} ${WRKSRC}/contrib/chp2200/${file} \
${DOCSDIR}/${GS_VERSION}/chp2200
.endfor
# contributed UPP driver
${MKDIR} ${DOCSDIR}/${GS_VERSION}/epson740
.for file in README upp-HowTo-to-be
${INSTALL_DATA} ${WRKSRC}/contrib/epson740/${file} \
${DOCSDIR}/${GS_VERSION}/epson740
.endfor
# for LXM3200 driver
${MKDIR} ${DOCSDIR}/${GS_VERSION}/lxm3200-tweaked
${INSTALL_DATA} ${WRKSRC}/contrib/lxm3200-tweaked/* \
${DOCSDIR}/${GS_VERSION}/lxm3200-tweaked
# for MD2K driver
${MKDIR} ${DOCSDIR}/${GS_VERSION}/md2k_md5k
${INSTALL_DATA} ${WRKSRC}/contrib/md2k_md5k/* \
${DOCSDIR}/${GS_VERSION}/md2k_md5k
# for PCL3 driver
${ECHO_MSG} ">>> installing PCL3 docs ..."
${MKDIR} ${DOCSDIR}/${GS_VERSION}/pcl3
.for i in NEWS doc/gs-pcl3.html doc/how-to-report.txt doc/pcl3opts.html
${INSTALL_DATA} ${WRKSRC}/contrib/pcl3/${i} \
${DOCSDIR}/${GS_VERSION}/pcl3
.endfor
# for EPAG driver
${ECHO_MSG} ">>> installing EPAG docs ..."
${MKDIR} ${DOCSDIR}/${GS_VERSION}/${EPAG}
.for i in ert.txt gdevepag.txt ChangeLog
${INSTALL_DATA} ${WRKSRC}/${EPAG_NAME}/${i} \
${DOCSDIR}/${GS_VERSION}/${EPAG}
.endfor
.for i in psprint gsepagif.sh
${INSTALL_SCRIPT} ${WRKSRC}/${EPAG_NAME}/${i} \
${DOCSDIR}/${GS_VERSION}/${EPAG}
.endfor
.endif
${ECHO_MSG} "> post-installation tasks completed."
${ECHO_MSG}
${CAT} ${PKGMESSAGE}
${ECHO_MSG}
.if defined(WITH_FT_BRIDGE)
${ECHO_MSG} " *** Configure FAPIfontmap and FAPIcidfmap accordingly"
${ECHO_MSG} " *** in ${DATADIR}/${GS_VERSION}/lib"
${ECHO_MSG} " *** to use FreeType fonts."
${ECHO_MSG}
.endif
.include <bsd.port.post.mk>