Makefile 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. # $OpenBSD: Makefile,v 1.88 2017/05/21 11:57:45 edd Exp $
  2. COMMENT = base binaries for TeXLive typesetting distribution
  3. # This year they used a different datestamp on the -source tarball.
  4. DISTNAME = texlive-${DIST_V}b-source
  5. PKGNAME = texlive_base-${V}
  6. WRKDIST = ${WRKDIR}/texlive-${DIST_V}-source
  7. DISTFILES = ${DISTNAME}${EXTRACT_SUFX} \
  8. texlive-${DIST_V}-extra${EXTRACT_SUFX}
  9. SHARED_LIBS = kpathsea 8.1 # 8.2
  10. SHARED_LIBS += ptexenc 5.1 # 4.4
  11. SHARED_LIBS += synctex 1.0 # 19.0
  12. SHARED_LIBS += texlua52 0.0 # 7.4
  13. WANTLIB += ICE SM X11 Xau Xaw Xdmcp Xext Xi Xmu Xpm Xrender Xt
  14. WANTLIB += c cairo expat fontconfig freetype gd glib-2.0 graphite2
  15. WANTLIB += harfbuzz harfbuzz-icu iconv icudata icui18n icuio icuuc intl
  16. WANTLIB += jpeg lcms2 m openjp2 paper pcre pixman-1 png poppler
  17. WANTLIB += potrace pthread pthread-stubs ${LIBCXX} tiff webp xcb
  18. WANTLIB += xcb-render xcb-shm z zzip
  19. RUN_DEPENDS = print/ghostscript/gnu \
  20. print/detex \
  21. print/dvi2tty \
  22. print/ps2eps \
  23. print/psutils \
  24. print/t1utils \
  25. texlive_texmf-buildset-${V}:print/texlive/texmf,-buildset
  26. LIB_DEPENDS = converters/libiconv \
  27. graphics/png \
  28. graphics/gd \
  29. print/poppler \
  30. graphics/cairo \
  31. textproc/icu4c \
  32. graphics/graphite2 \
  33. devel/harfbuzz,-icu \
  34. print/libpaper \
  35. archivers/zziplib \
  36. graphics/potrace
  37. MODULES = textproc/intltool perl
  38. # Never set SEPARATE_BUILD
  39. CONFIGURE_STYLE = gnu
  40. CPPFLAGS = -I${X11BASE}/include \
  41. -I${LOCALBASE}/include \
  42. -I${LOCALBASE}/include/poppler
  43. LDFLAGS = -L${LOCALBASE}/lib \
  44. -L${X11BASE}/lib
  45. CONFIGURE_ENV += TL_MAKE=${GMAKE} \
  46. CPPFLAGS="${CPPFLAGS}" \
  47. LDFLAGS="${LDFLAGS}"
  48. # Can't build in same dir
  49. WRKBUILD = ${WRKSRC}/Work
  50. CONFIGURE_SCRIPT = ../configure
  51. MAKE_ENV = ${CONFIGURE_ENV}
  52. # Not worth the effort.
  53. NO_TEST = Yes
  54. USE_GMAKE = Yes
  55. .if ${MACHINE_ARCH} == "sparc64"
  56. CFLAGS += -fPIC
  57. .endif
  58. # clisp limits which arches we can use xindy on
  59. .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "amd64" || \
  60. ${MACHINE} == "powerpc" || ${MACHINE} == "sparc64"
  61. BUILD_DEPENDS += lang/clisp
  62. RUN_DEPENDS += lang/clisp
  63. CONFIGURE_ARGS += --enable-xindy \
  64. --disable-xindy-rules
  65. PKG_ARGS += -Dxindy=1
  66. .else
  67. PKG_ARGS += -Dxindy=0
  68. .endif
  69. CONFIGURE_ARGS += --mandir=${PREFIX}/man \
  70. --with-system-freetype2 \
  71. --with-system-gd \
  72. --with-system-libpng \
  73. --with-system-ncurses \
  74. --with-system-pnglib \
  75. --with-system-zlib \
  76. --enable-texinfo=no \
  77. --with-xdvi-x-toolkit=xaw \
  78. --enable-texi2html=no \
  79. --enable-detex=no \
  80. --enable-dvi2tty=no \
  81. --enable-ps2eps=no \
  82. --enable-psutils=no \
  83. --enable-t1utils=no \
  84. --disable-threads \
  85. --with-old-mac-fonts \
  86. --disable-multiplatform \
  87. --disable-native-texlive-build \
  88. --with-banner-add="-OpenBSD_Ports" \
  89. --disable-luajittex \
  90. --disable-mfluajit \
  91. --with-system-xpdf \
  92. --with-system-icu \
  93. --with-system-cairo \
  94. --with-system-harfbuzz \
  95. --with-system-graphite2 \
  96. --with-system-poppler \
  97. --with-system-libpaper \
  98. --with-system-zziplib \
  99. --with-system-potrace
  100. SUBST_VARS += TRUEPREFIX LOCALBASE
  101. # just to silence error - never used
  102. pre-install:
  103. mkdir -p ${WRKSRC}/inst
  104. # Symlinks that would have been installed by texlinks.
  105. # texlinks can not do this itself in the fake dir, as it requires
  106. # a fully hashed texmf tree and working kpse configuration.
  107. # Run 'texlinks -u' and then observe the output of
  108. # 'texlinks -v'. Don't forget to check the links are in the PLIST.
  109. ALEPH_LN = lamed
  110. LUATEX_LN = dvilualatex dviluatex lualatex
  111. PDFTEX_LN = amstex cslatex csplain eplain etex jadetex latex mex mllatex mltex \
  112. pdfcslatex pdfcsplain pdfetex pdfjadetex pdflatex pdfmex \
  113. pdfxmltex texsis utf8mex xmltex
  114. EPTEX_LN = platex
  115. EUPTEX_LN = uplatex
  116. XETEX_LN = xelatex
  117. TEX_LN = lollipop
  118. EXTRA_ROOT = ${WRKDIR}/texlive-${DIST_V}-extra
  119. post-install:
  120. rm -Rf ${WRKSRC}/inst
  121. # Following upstream's process, we don't install any texmf
  122. # files from texlive_base. These will be installed from the
  123. # texlive_temxf-* ports. Similarly for manuals and infos.
  124. rm -Rf ${PREFIX}/share/texmf-dist/
  125. rm -Rf ${PREFIX}/{man,info}
  126. # Users should not use tlmgr (tex live package manager)
  127. rm ${PREFIX}/bin/tlmgr
  128. # translate some sylinks from ../texmf* to ../share/texmf*
  129. for link in `find ${PREFIX}/bin -type l`; do \
  130. dest=`stat -f %Y $${link}`; \
  131. if ! [ -z "`echo $${dest} | grep -e '^\.\.\/texmf'`" ]; then \
  132. newdest=`echo $${dest} | sed -e 's/\.\.\/texmf/\.\.\/share\/texmf/g'`; \
  133. ln -sf $${newdest} $${link}; \
  134. fi \
  135. done
  136. # Updmap needs these perl bits from the extra tarball
  137. ${INSTALL} -d ${PREFIX}/libdata/perl5/site_perl/TeXLive/
  138. ${INSTALL} ${EXTRA_ROOT}/tlpkg/TeXLive/TLUtils.pm \
  139. ${PREFIX}/libdata/perl5/site_perl/TeXLive/
  140. ${INSTALL} ${EXTRA_ROOT}/tlpkg/TeXLive/TLConfig.pm \
  141. ${PREFIX}/libdata/perl5/site_perl/TeXLive/
  142. # emulate texlinks
  143. for i in ${ALEPH_LN}; do \
  144. ln -s ${TRUEPREFIX}/bin/aleph ${PREFIX}/bin/$$i; \
  145. done
  146. for i in ${LUATEX_LN}; do \
  147. ln -s ${TRUEPREFIX}/bin/luatex ${PREFIX}/bin/$$i; \
  148. done
  149. for i in ${MPOST_LN}; do \
  150. ln -s ${TRUEPREFIX}/bin/mpost ${PREFIX}/bin/$$i; \
  151. done
  152. for i in ${PDFTEX_LN}; do \
  153. ln -s ${TRUEPREFIX}/bin/pdftex ${PREFIX}/bin/$$i; \
  154. done
  155. for i in ${EPTEX_LN}; do \
  156. ln -s ${TRUEPREFIX}/bin/eptex ${PREFIX}/bin/$$i; \
  157. done
  158. for i in ${XETEX_LN}; do \
  159. ln -s ${TRUEPREFIX}/bin/xetex ${PREFIX}/bin/$$i; \
  160. done
  161. for i in ${EUPTEX_LN}; do \
  162. ln -s ${TRUEPREFIX}/bin/euptex ${PREFIX}/bin/$$i; \
  163. done
  164. .include <bsd.port.mk>