openbsd-ports/print/texlive/base/Makefile
2014-03-17 23:21:26 +00:00

290 lines
9.9 KiB
Makefile
Executable File

# $OpenBSD: Makefile,v 1.74 2014/03/17 23:22:02 sthen Exp $
COMMENT = base binaries for TeXLive typesetting distribution
DISTNAME = texlive-${DIST_V}-source
PKGNAME = texlive_base-${V}
REVISION = 1
DISTFILES = ${DISTNAME}${EXTRACT_SUFX} \
texlive-${DIST_V}-extra${EXTRACT_SUFX}
SHARED_LIBS = kpathsea 6.0
SHARED_LIBS += ptexenc 3.0
WANTLIB += ICE SM X11 Xau Xaw Xdmcp Xext Xmu Xpm Xt c expat
WANTLIB += fontconfig freetype gd jpeg lcms2 m
WANTLIB += openjpeg png>=3 poppler pthread pthread-stubs stdc++
WANTLIB += t1>=4 tiff ttf vpx xcb z
RUN_DEPENDS = print/ghostscript/gnu \
print/detex \
print/dvi2tty \
print/ps2eps \
print/psutils \
print/t1utils \
print/latex-mk \
texlive_texmf-buildset-${V}:print/texlive/texmf,-buildset
LIB_DEPENDS = devel/t1lib \
graphics/png \
graphics/gd \
print/freetype \
print/poppler
MODULES = textproc/intltool converters/libiconv
# These following modules are mostly for variable substitution in patches
# They are not real dependencies of _base, but of _texmf-full
MODULES += lang/lua lang/ruby lang/python x11/tk perl
MODLUA_RUNDEP = No
MODRUBY_REV = 1.8
MODRUBY_BUILDDEP = No
MODRUBY_RUNDEP = No
MODPY_BUILDDEP = No
MODPY_RUNDEP = No
SUBST_VARS += MODRUBY_BINREV MODPY_VERSION MODTK_VERSION
MODPY_ADJ_FILES = texk/texlive/linked_scripts/de-macro/de-macro \
texk/texlive/linked_scripts/dviasm/dviasm.py \
texk/texlive/linked_scripts/ebong/ebong.py \
texk/texlive/linked_scripts/texliveonfly/texliveonfly.py
MODRUBY_ADJ_FILES = convbkmk.rb \
match_parens
MODPERL_ADJ_FILES = texk/texlive/linked_scripts/texlive/updmap.pl \
texk/tetex/updmap-single.pl \
texk/tex4htk/mk4ht.pl \
texk/texlive/linked_scripts/authorindex/authorindex \
texk/texlive/linked_scripts/bundledoc/arlatex \
texk/texlive/linked_scripts/bundledoc/bundledoc \
texk/texlive/linked_scripts/ctanify/ctanify \
texk/texlive/linked_scripts/dosepsbin/dosepsbin.pl \
texk/texlive/linked_scripts/epstopdf/epstopdf.pl \
texk/texlive/linked_scripts/fig4latex/fig4latex \
texk/texlive/linked_scripts/fontools/afm2afm \
texk/texlive/linked_scripts/fontools/autoinst \
texk/texlive/linked_scripts/fontools/ot2kpx \
texk/texlive/linked_scripts/glossaries/makeglossaries \
texk/texlive/linked_scripts/jfontmaps/updmap-setup-kanji.pl \
texk/texlive/linked_scripts/latex2man/latex2man \
texk/texlive/linked_scripts/latexmk/latexmk.pl \
texk/texlive/linked_scripts/mkgrkindex/mkgrkindex \
texk/texlive/linked_scripts/mkjobtexmf/mkjobtexmf.pl \
texk/texlive/linked_scripts/oberdiek/pdfatfi.pl \
texk/texlive/linked_scripts/pax/pdfannotextractor.pl \
texk/texlive/linked_scripts/pdfcrop/pdfcrop.pl \
texk/texlive/linked_scripts/pedigree-perl/pedigree.pl \
texk/texlive/linked_scripts/perltex/perltex.pl \
texk/texlive/linked_scripts/pkfix-helper/pkfix-helper \
texk/texlive/linked_scripts/purifyeps/purifyeps \
texk/texlive/linked_scripts/sty2dtx/sty2dtx.pl \
texk/texlive/linked_scripts/tetex/e2pall.pl \
utils/texdoctk/texdoctk.pl \
texk/texlive/linked_scripts/texcount/texcount.pl \
texk/texlive/linked_scripts/texdef/texdef.pl \
texk/texlive/linked_scripts/texdiff/texdiff \
texk/texlive/linked_scripts/texlive/tlmgr.pl \
texk/texlive/tl_scripts/e2pall.pl \
texk/texlive/linked_scripts/texloganalyser/texloganalyser \
utils/xindy/xindy-2.4/user-commands/texindy.in \
utils/xindy/xindy-2.4/user-commands/xindy.in \
texk/texlive/linked_scripts/jfontmaps/kanji-fontmap-creator.pl \
texk/texlive/linked_scripts/jfontmaps/kanji-config-updmap.pl \
texk/texlive/linked_scripts/latexdiff/latexdiff.pl \
texk/texlive/linked_scripts/latexdiff/latexdiff-vc.pl \
texk/texlive/linked_scripts/latexdiff/latexrevise.pl
# None this year, but there have been in the past.
LUA_ADJ_SCRIPTS =
TEXLUA_ADJ_SCRIPTS = texk/texlive/linked_scripts/cachepic/cachepic.tlu \
texk/texlive/linked_scripts/checkcites/checkcites.lua \
texk/texlive/linked_scripts/context/stubs/unix/mtxrun \
texk/texlive/linked_scripts/epspdf/epspdf.tlu \
texk/texlive/linked_scripts/luaotfload/luaotfload-tool.lua \
texk/texlive/linked_scripts/luaotfload/mkluatexfontdb.lua \
texk/texlive/linked_scripts/musixtex/musixflx.lua \
texk/texlive/linked_scripts/musixtex/musixtex.lua \
texk/texlive/linked_scripts/pfarrei/a5toa4.tlu \
texk/texlive/linked_scripts/pfarrei/pfarrei.tlu \
texk/texlive/linked_scripts/pmx/pmx2pdf.lua \
texk/texlive/linked_scripts/ptex2pdf/ptex2pdf.lua \
texk/texlive/linked_scripts/texdoc/texdoc.tlu \
texk/texlive/linked_scripts/texlive/rungs.tlu \
utils/pmx/pmx2pdf.lua \
SH_ADJ_SCRIPTS = texk/texlive/linked_scripts/typeoutfileinfo/typeoutfileinfo.sh \
texk/texlive/linked_scripts/lua2dox/lua2dox_filter \
texk/texlive/linked_scripts/ltxfileinfo/ltxfileinfo \
texk/texlive/linked_scripts/arara/arara.sh \
texk/texlive/linked_scripts/dtxgen/dtxgen \
texk/texlive/linked_scripts/listbib/listbib
# Never set SEPARATE_BUILD
CONFIGURE_STYLE = gnu
# Don't put ${PREFIX}/include in CPPFLAGS or system icu .h's are picked up
# TeX Live uses a modified version of icu.
CPPFLAGS = -I${X11BASE}/include \
-I${TRUEPREFIX}/include/poppler
# Big endian ICU bug
# http://tug.org/pipermail/tlbuild/2012q2/002266.html
# XXX still needed
.include <bsd.port.arch.mk>
.if ${PROPERTIES:Mbe}
CPPFLAGS += -DU_IS_BIG_ENDIAN=1
.endif
CONFIGURE_ENV += TL_MAKE=${GMAKE} \
CPPFLAGS="${CPPFLAGS}"
# Can't build in same dir
WRKBUILD = ${WRKSRC}/Work
CONFIGURE_SCRIPT = ../configure
MAKE_ENV = ${CONFIGURE_ENV}
# Not worth the effort.
NO_TEST = Yes
USE_GMAKE = Yes
.if ${MACHINE_ARCH} == "sparc64"
CFLAGS += -fPIC
.endif
# clisp limits which arches we can use xindy on
.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "amd64" || \
${MACHINE} == "powerpc" || ${MACHINE} == "sparc64"
BUILD_DEPENDS += lang/clisp
RUN_DEPENDS += lang/clisp
CONFIGURE_ARGS += --enable-xindy \
--disable-xindy-rules
PKG_ARGS += -Dxindy=1
.else
PKG_ARGS += -Dxindy=0
.endif
# Do not link with system icu. TeXLive ICU is not vanilla (Yet)!
CONFIGURE_ARGS += --mandir=${PREFIX}/man \
--x-includes=${X11BASE}/include \
--x-libraries=${X11BASE}/lib \
--with-system-freetype2 \
--with-system-freetype \
--with-freetype-includes=${LOCALBASE}/include/freetype1/freetype \
--with-freetype-libdir=${LOCALBASE}/lib \
--with-system-gd \
--with-gd-libdir=${LOCALBASE}/lib \
--with-system-libpng \
--with-libpng-includes=${LOCALBASE}/include \
--with-libpng-libdir=${LOCALBASE}/lib \
--with-system-ncurses \
--with-system-pnglib \
--with-pnglib-libdir=${LOCALBASE}/lib \
--with-pnglib-include=${LOCALBASE}/include \
--with-system-zlib \
--with-system-t1lib \
--with-t1lib-libdir=${LOCALBASE}/lib \
--with-t1lib-includes=${LOCALBASE}/include \
--with-xpdf-includes=${LOCALBASE}/include/poppler \
--with-xpdf-libdir=${LOCALBASE}/lib \
--enable-texinfo=no \
--with-xdvi-x-toolkit=xaw \
--enable-texi2html=no \
--enable-detex=no \
--enable-dvi2tty=no \
--enable-ps2eps=no \
--enable-psutils=no \
--enable-t1utils=no \
--disable-threads \
--with-old-mac-fonts \
--disable-multiplatform \
--disable-native-texlive-build \
--with-banner-add="-OpenBSD_Ports" \
--with-system-xpdf #link poppler
SUBST_VARS += TRUEPREFIX LOCALBASE
# substitute paths to script interpreters
pre-configure:
${MODTCL_WISH_ADJ} ${WRKSRC}/texk/texlive/linked_scripts/epspdf/epspdftk.tcl
cd ${WRKSRC} && \
for F in ${LUA_ADJ_SCRIPTS}; do \
perl -pi -e '($$. == 1) && s@^.*$$@#!${MODLUA_BIN}@' $$F; \
done
cd ${WRKSRC} && \
for F in ${TEXLUA_ADJ_SCRIPTS}; do \
perl -pi -e '($$. == 1) && s@^.*$$@#!${PREFIX}/bin/texlua@' $$F; \
done
cd ${WRKSRC} && \
for F in ${SH_ADJ_SCRIPTS}; do \
perl -pi -e '($$. == 1) && s@^.*$$@#!/bin/sh@' $$F; \
done
${SUBST_CMD} ${WRKSRC}/texk/texlive/linked_scripts/context/stubs/unix/mtxrun
# just to silence error - never used
pre-install:
mkdir -p ${WRKSRC}/inst
# Symlinks that would have been installed by texlinks.
# texlinks can not do this itself in the fake dir, as it requires
# a fully hashed texmf tree and working kpse configuration.
# Run 'texlinks -u' and then observe the output of
# 'texlinks -v'. Don't forget to check the links are in the PLIST.
ALEPH_LN = lamed
LUATEX_LN = dvilualatex dviluatex lualatex
PDFTEX_LN = amstex cslatex pdfcslatex csplain pdfcsplain eplain jadetex \
pdfjadetex latex pdflatex mex pdfmex utf8mex mllatex mltex \
etex pdfetex texsis xmltex pdfxmltex
EPTEX_LN = platex
XETEX_LN = xelatex
EUPTEX_LN = uplatex
EXTRA_ROOT = ${WRKDIR}/texlive-${DIST_V}-extra
post-install:
rm -Rf ${WRKSRC}/inst
# translate some sylinks from ../texmf* to ../share/texmf*
for link in `find ${PREFIX}/bin -type l`; do \
dest=`stat -f %Y $${link}`; \
if ! [ -z "`echo $${dest} | grep -e '^\.\.\/texmf'`" ]; then \
newdest=`echo $${dest} | sed -e 's/\.\.\/texmf/\.\.\/share\/texmf/g'`; \
ln -sf $${newdest} $${link}; \
fi \
done
# Updmap needs these perl bits from the extra tarball
${INSTALL} -d ${PREFIX}/libdata/perl5/site_perl/TeXLive/
${INSTALL} ${EXTRA_ROOT}/tlpkg/TeXLive/TLUtils.pm \
${PREFIX}/libdata/perl5/site_perl/TeXLive/
${INSTALL} ${EXTRA_ROOT}/tlpkg/TeXLive/TLConfig.pm \
${PREFIX}/libdata/perl5/site_perl/TeXLive/
# emulate texlinks
for i in ${ALEPH_LN}; do \
ln -s ${TRUEPREFIX}/bin/aleph ${PREFIX}/bin/$$i; \
done
for i in ${LUATEX_LN}; do \
ln -s ${TRUEPREFIX}/bin/luatex ${PREFIX}/bin/$$i; \
done
for i in ${MPOST_LN}; do \
ln -s ${TRUEPREFIX}/bin/mpost ${PREFIX}/bin/$$i; \
done
for i in ${PDFTEX_LN}; do \
ln -s ${TRUEPREFIX}/bin/pdftex ${PREFIX}/bin/$$i; \
done
for i in ${EPTEX_LN}; do \
ln -s ${TRUEPREFIX}/bin/eptex ${PREFIX}/bin/$$i; \
done
for i in ${XETEX_LN}; do \
ln -s ${TRUEPREFIX}/bin/xetex ${PREFIX}/bin/$$i; \
done
for i in ${EUPTEX_LN}; do \
ln -s ${TRUEPREFIX}/bin/euptex ${PREFIX}/bin/$$i; \
done
.include <bsd.port.mk>