1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-25 09:34:11 +00:00
freebsd-ports/print/ghostscript9-base/Makefile
Hiroki Sato 27470e1676 - Split ghostscript into X11-independent and -dependent parts:
* print/ghostscript{7,8,9,9-agpl}-base

   Installs Ghostscript binary, libgs, and related files.
   These ports do not depend on X11 libraries (i.e. x11* devices
   are not available).  USES=ghostscript will set dependency on
   one of them depending on GHOSTSCRIPT_DEFAULT.

   The default device is set to "display" or "bbox".

 * print/ghostscript{7,8,9,9-agpl}-x11

   Installs a shared library which provides X11 support to
   the installed Ghostscript binaries.  x11* devices will be
   enabled when the library is available.

   This depends on *-base (RUN_DEPENDS).  USES=ghostscript:x11
   will set dependency on one of them.

- Fix integer overflow reported as CVE-2015-3228.

- Update Uses/ghostscript.mk:

 * Add x11 keyword.  nox11 keyword is now obsolete.

 * Use packagename in *_DEPENDS line to prevent relationship between
   -base and -x11 packages from being broken.

- Fix x11/nox11 keyword and bump PORTREVISION in ports using
  USES=ghostscript to update dependency of pre-compiled packages.
2015-08-22 17:48:35 +00:00

152 lines
4.8 KiB
Makefile

# $FreeBSD$
PORTNAME= ghostscript
PORTVERSION= 9.06
PORTREVISION= 11
CATEGORIES= print
MASTER_SITES= http://downloads.ghostscript.com/public/:gs_srcs \
SF/ghostscript/GPL%20Ghostscript/${PORTVERSION}:gs_srcs \
http://www.humblesoft.com/pub/:epag
PKGNAMESUFFIX= 9-base
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:gs_srcs ${EPAG_SRCS}:epag
DIST_SUBDIR= ${PORTNAME}
EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
MAINTAINER= doceng@FreeBSD.org
COMMENT= Ghostscript 9.x PostScript interpreter, base part
LICENSE= GPLv3
LIB_DEPENDS= libexpat.so:${PORTSDIR}/textproc/expat2 \
libfreetype.so:${PORTSDIR}/print/freetype2 \
libidn.so:${PORTSDIR}/dns/libidn \
libjbig2dec.so:${PORTSDIR}/graphics/jbig2dec \
liblcms2.so:${PORTSDIR}/graphics/lcms2 \
libpaper.so:${PORTSDIR}/print/libpaper \
libpng.so:${PORTSDIR}/graphics/png \
libtiff.so:${PORTSDIR}/graphics/tiff
RUN_DEPENDS= ${LOCALBASE}/share/${PORTNAME}/fonts/a010013l.pfb:${PORTSDIR}/print/gsfonts
CONFLICTS_INSTALL= \
gambc-[0-9]* \
ghostscript[789]-[0-9]* \
ghostscript[789]-nox11-[0-9]* \
ghostscript9-agpl-[0-9]* \
ghostscript9-agpl-nox11-[0-9]*
USES= autoreconf gmake jpeg pkgconfig:build tar:bzip2
USE_LDCONFIG= yes
EXTRACT_AFTER_ARGS= ${EXCLUDE_DIRS:S/^/--exclude /}
DATADIR= ${PREFIX}/share/${PORTNAME}/${PORTVERSION}
GNU_CONFIGURE= yes
MAKE_JOBS_UNSAFE= yes
MAKE_ENV= CFLAGS_STANDARD="${CFLAGS}" \
XCFLAGS="${XCFLAGS}" XLDFLAGS="${XLDFLAGS}" \
SOC_LOADER="dxmainc.c"
CONFIGURE_ENV= ${MAKE_ENV}
CONFIGURE_ARGS= --disable-compile-inits \
--enable-contrib \
--enable-dynamic \
--enable-freetype \
--with-system-libtiff \
--with-ijs \
--with-libidn \
--without-jasper \
--with-libpaper \
--without-x \
--disable-gtk \
--with-drivers=""
CPPFLAGS+= -DUPD_SIGNAL=0 -I. \
-I${LOCALBASE}/include/libpng \
-I${WRKSRC}/openjpeg/libopenjpeg \
-I${WRKSRC}/openjpeg \
-I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
XCFLAGS= -DA4
XLDFLAGS= -lpthread
ALL_TARGET= so
INSTALL_TARGET= soinstall
PLIST_SUB= SHLIB_VER="${PORTVERSION:R}" \
GS_VERSION="${PORTVERSION}"
SUB_FILES= pkg-message
SUB_LIST= DATADIR="${DATADIR}"
PKGMESSAGE= ${WRKDIR}/pkg-message
OPTIONS_DEFINE= DOCS CUPS FONTCONFIG ICONV
OPTIONS_DEFAULT=DOCS CUPS FONTCONFIG ICONV
OPTIONS_SUB= yes
FONTCONFIG_DESC=Enable fontconfig support
FONTCONFIG_LIB_DEPENDS= libfontconfig.so:${PORTSDIR}/x11-fonts/fontconfig
FONTCONFIG_CONFIGURE_ENABLE= fontconfig
NO_OPTIONS_SORT=yes
EXCLUDE_DIRS= freetype jbig2dec jpeg expat jasper lcms lcms2 libpng tiff zlib
.include "Makefile.drivers"
.include <bsd.port.options.mk>
.include "files/Makefile.drivers_post"
PORTDOCS= japanese chp2200 epson740 lxm3200-tweaked md2k_md5k
PORTDOC_FILES= japanese/Gdevlips.htm japanese/README.gs550j \
japanese/cdj880.txt japanese/dj505j.txt japanese/djgpp.txt \
japanese/gdev10v.txt japanese/gdevalps.txt \
japanese/gdevcd8.txt japanese/gdevdmpr.txt \
japanese/gdevfmlbp.txt japanese/gdevj100.txt \
japanese/gdevlbp3.txt japanese/gdevmag.txt \
japanese/gdevmd2k.txt japanese/gdevmjc.txt \
japanese/gdevml6.txt japanese/gdevp201.txt japanese/gs261j.euc \
japanese/gs261j.txt chp2200/AUTHORS chp2200/INSTALL \
epson740/README epson740/upp-HowTo-to-be \
lxm3200-tweaked/LICENSE lxm3200-tweaked/README \
lxm3200-tweaked/RELEASE_NOTES \
lxm3200-tweaked/Z12-Z31-QuickSetup md2k_md5k/README.jis
post-patch:
${REINPLACE_CMD} -e 's,%%DATADIR%%,${DATADIR},' \
${WRKSRC}/contrib/japanese/dmp_site.ps
pre-build-drivers.mak:
@${ECHO_CMD} '# automatically generated' > ${WRKSRC}/base/drivers.mak
@${ECHO_CMD} 'DEVICE_DEVS=$${DISPLAY_DEV}' >> ${WRKSRC}/base/drivers.mak
.for N in ${DEVS_LIST}
@${ECHO_CMD} '${N:S/^/DEVICE_/:S/^DEVICE_DISPLAY_DEV/DISPLAY_DEV/}=' >> ${WRKSRC}/base/drivers.mak
.endfor
.for D in ${OPTIONS_DEFINE:MGS_*:S/^GS_//} \
${OPTIONS_GROUP_ICONV:MGS_*:S/^GS_//} \
${OPTIONS_GROUP_SVGALIB:MGS_*:S/^GS_//}
.for N in ${DEVS_LIST}
.if ${PORT_OPTIONS:MGS_${D}}
.if !defined(OPTIONS_UNSET) || !${OPTIONS_UNSET:MGS_${D}}
.for X in ${${N:S/^/DEVICE_/:S/^DEVICE_DISPLAY_DEV/DISPLAY_DEV/}:M${D}.dev}
@${ECHO_CMD} '${N:S/^/DEVICE_/:S/^DEVICE_DISPLAY_DEV/DISPLAY_DEV/}+= $$(DD)${D}.dev' >> ${WRKSRC}/base/drivers.mak
.endfor
.endif
.endif
.endfor
.endfor
pre-build: pre-build-drivers.mak
${MKDIR} ${WRKSRC}/obj
${MKDIR} ${WRKSRC}/bin
pre-install:
cd ${WRKSRC}/Resource/Init && ${RM} -f \
gs_statd.ps.orig gs_ttf.ps.orig pdf_font.ps.orig
${MKDIR} ${STAGEDIR}${DATADIR}
post-install-DOCS-on: post-install-docs
${MKDIR} ${WRKSRC}/contrib/japanese
${INSTALL_DATA} ${WRKSRC}/contrib/japanese/doc/* \
${WRKSRC}/contrib/japanese
${MKDIR} ${STAGEDIR}${DOCSDIR}
cd ${WRKSRC}/contrib && \
${TAR} -cf - ${PORTDOC_FILES} | \
(cd ${STAGEDIR}${DOCSDIR} && ${TAR} -xof -)
post-install:
${LN} -sf gsc ${STAGEDIR}${PREFIX}/bin/gs
${LN} -s -f ${LOCALBASE}/share/fonts/CIDFont \
${STAGEDIR}${DATADIR}/Resource/CIDFont/fonts
.include <bsd.port.mk>