Sync Mk with ports
[dports.git] / Mk / bsd.tex.mk
1 # bsd.tex.mk - Common part for TeX related ports
2 #
3 TEX_MAINTAINER= hrs@FreeBSD.org
4
5 #
6 # Ports which depend on TeX should use USE_TEX.
7 #
8 # USE_TEX=      yes
9 # imports variables only, and
10 # USE_TEX=      full
11 # means full TeXLive dependency except for documentation and source.
12 #
13 # The other valid keywords
14 #
15 #  base:        base part
16 #  texmf:       texmf tree (except for documentation and source)
17 #  source:      source 
18 #  docs:        documentation
19 #
20 #  web2c:       WEB2C toolchain and TeX engines
21 #  kpathsea:    kpathsea library
22 #  ptexenc:     character code conversion library for pTeX
23 #  basic:       basic TeX engines including tex and pdftex
24 #  tlmgr:       tlmgr dependency (Perl modules)
25 #  texlua:      texlua52 library
26 #  texluajit:   texluajit library
27 #  synctex:     synctex library
28 #  xpdfopen:    pdfopen/pdfclose utility
29 #
30 #  dvipsk:      dvipsk
31 #  dvipdfmx:    DVIPDFMx
32 #  xdvik:       XDvi
33 #  gbklatex:    gbklatex
34 #
35 #  formats:     TeX, LaTeX, AMSTeX, ConTeXT, CSLaTeX, EplainTeX,
36 #               CSplainTeX, METAFONT, MLTeX, PDFTeX, TeXsis
37 #  tex:         TeX
38 #  latex:       LaTeX
39 #  pdftex:      PDFTeX
40 #  aleph:       Aleph
41 #  jadetex:     JadeTeX
42 #  luatex:      LuaTeX
43 #  ptex:        pTeX
44 #  xetex:       XeTeX
45 #  xmltex:      XMLTeX
46 #
47 #  texhash:     directory search hash regeneration
48 #  updmap:      font map regeneration
49 #  fmtutil:     format regeneration
50 #
51 # Examples:
52 # USE_TEX=      latex:build
53 # USE_TEX=      formats
54 # USE_TEX=      latex:build dvipsk:build
55
56 # default TeX distribution.  "texlive"
57 TEX_DEFAULT?=   texlive
58
59 .if ${TEX_DEFAULT} != texlive
60 IGNORE=         Only 'texlive' is supported as value for TEX_DEFAULT
61 .endif
62
63 TEXMFDIR?=      share/texmf
64 TEXMFDISTDIR?=  share/texmf-dist
65 TEXMFLOCALDIR?= share/texmf-local
66 TEXMFVARDIR?=   share/texmf-var
67 TEXMFCONFIGDIR?=share/texmf-config
68 FMTUTIL_CNF?=   ${TEXMFCONFIGDIR}/web2c/fmtutil.cnf
69 TEXHASHDIRS?=   ${TEXMFDIR} ${TEXMFDISTDIR} ${TEXMFLOCALDIR} ${TEXMFVARDIR} ${TEXMFCONFIGDIR}
70
71 .for V in TEXMFDIR TEXMFDISTDIR TEXMFLOCALDIR TEXMFVARDIR TEXMFCONFIGDIR FMTUTIL_CNF
72 PLIST_SUB+=     $V="${$V}"
73 .endfor
74
75 .if !empty(USE_TEX:tu:MTEXLIVE)
76 IGNORE=         "texlive" must not be defined in USE_TEX 
77 .endif
78
79 _USE_TEX_TEXMF_DEP=     ${LOCALBASE}/${TEXMFDISTDIR}/README
80 _USE_TEX_TEXMF_PORT=    print/${_USE_TEX_TEXMF_PKGNAME}
81 _USE_TEX_TEXMF_PKGNAME= texlive-texmf
82 _USE_TEX_BASE_DEP=      texconfig
83 _USE_TEX_BASE_PORT=     print/${_USE_TEX_BASE_PKGNAME}
84 _USE_TEX_BASE_PKGNAME=  texlive-base
85 _USE_TEX_GBKLATEX_DEP=  gbklatex
86 _USE_TEX_GBKLATEX_PORT= ${_USE_TEX_BASE_PORT}
87 _USE_TEX_GBKLATEX_PKGNAME=${_USE_TEX_BASE_PKGNAME}
88 _USE_TEX_SOURCE_DEP=    ${LOCALBASE}/${TEXMFDISTDIR}/source/.keep_me
89 _USE_TEX_SOURCE_PORT=   print/${_USE_TEX_SOURCE_PKGNAME}
90 _USE_TEX_SOURCE_PKGNAME=texlive-texmf-source
91 _USE_TEX_DOCS_DEP=      ${LOCALBASE}/${TEXMFDISTDIR}/doc/texlive/texlive-en/README
92 _USE_TEX_DOCS_PORT=     print/${_USE_TEX_DOCS_PKGNAME}
93 _USE_TEX_DOCS_PKGNAME=  texlive-docs
94 _USE_TEX_TLMGR_DEP=     ${LOCALBASE}/${TEXMFDISTDIR}/.texlive-tlmgr
95 _USE_TEX_TLMGR_PORT=    print/${_USE_TEX_TLMGR_PKGNAME}
96 _USE_TEX_TLMGR_PKGNAME= texlive-tlmgr
97 _USE_TEX_DVIPSK_DEP=    dvips
98 _USE_TEX_DVIPSK_PORT=   print/${_USE_TEX_DVIPSK_PKGNAME}
99 _USE_TEX_DVIPSK_PKGNAME=tex-dvipsk
100 _USE_TEX_XDVIK_DEP=     xdvi
101 _USE_TEX_XDVIK_PORT=    print/${_USE_TEX_XDVIK_PKGNAME}
102 _USE_TEX_XDVIK_PKGNAME= tex-xdvik
103 _USE_TEX_DVIPDFMX_DEP=  dvipdfmx
104 _USE_TEX_DVIPDFMX_PORT= print/${_USE_TEX_DVIPDFMX_PKGNAME}
105 _USE_TEX_DVIPDFMX_PKGNAME=tex-dvipdfmx
106 _USE_TEX_BASIC_DEP=     tex
107 _USE_TEX_BASIC_PORT=    print/${_USE_TEX_BASIC_PKGNAME}
108 _USE_TEX_BASIC_PKGNAME= tex-basic-engines
109 .for _L in TEX LATEX PDFTEX
110 _USE_TEX_${_L}_DEP=     ${_USE_TEX_FORMATS_DEP}
111 _USE_TEX_${_L}_PORT=    ${_USE_TEX_FORMATS_PORT}
112 _USE_TEX_${_L}_PKGNAME= ${_USE_TEX_FORMATS_PKGNAME}
113 .endfor
114 _USE_TEX_JADETEX_DEP=   jadetex
115 _USE_TEX_JADETEX_PORT=  print/${_USE_TEX_JADETEX_PKGNAME}
116 _USE_TEX_JADETEX_PKGNAME=tex-jadetex
117 _USE_TEX_XMLTEX_DEP=    xmltex
118 _USE_TEX_XMLTEX_PORT=   print/${_USE_TEX_XMLTEX_PKGNAME}
119 _USE_TEX_XMLTEX_PKGNAME=tex-xmltex
120 _USE_TEX_PTEX_DEP=      ptex
121 _USE_TEX_PTEX_PORT=     japanese/${_USE_TEX_PTEX_PKGNAME}
122 _USE_TEX_PTEX_PKGNAME=  tex-ptex
123 _USE_TEX_WEB2C_DEP=     weave
124 _USE_TEX_WEB2C_PORT=    devel/${_USE_TEX_WEB2C_PKGNAME}
125 _USE_TEX_WEB2C_PKGNAME= tex-web2c
126 _USE_TEX_KPATHSEA_DEP=  libkpathsea.so
127 _USE_TEX_KPATHSEA_PORT= devel/${_USE_TEX_KPATHSEA_PKGNAME}
128 _USE_TEX_KPATHSEA_PKGNAME=tex-kpathsea
129 _USE_TEX_PTEXENC_DEP=   libptexenc.so
130 _USE_TEX_PTEXENC_PORT=  print/${_USE_TEX_PTEXENC_PKGNAME}
131 _USE_TEX_PTEXENC_PKGNAME=tex-ptexenc
132 _USE_TEX_TEXLUA_DEP=    libtexlua52.so
133 _USE_TEX_TEXLUA_PORT=   devel/${_USE_TEX_TEXLUA_PKGNAME}
134 _USE_TEX_TEXLUA_PKGNAME=tex-libtexlua
135 _USE_TEX_TEXLUAJIT_DEP= libtexluajit.so
136 _USE_TEX_TEXLUAJIT_PORT=        devel/${_USE_TEX_TEXLUAJIT_PKGNAME}
137 _USE_TEX_TEXLUAJIT_PKGNAME=tex-libtexluajit
138 _USE_TEX_FORMATS_DEP=   ${LOCALBASE}/${TEXMFVARDIR}/web2c/tex/tex.fmt
139 _USE_TEX_FORMATS_PORT=  print/${_USE_TEX_FORMATS_PKGNAME}
140 _USE_TEX_FORMATS_PKGNAME=tex-formats
141 _USE_TEX_SYNCTEX_DEP=   libsynctex.so
142 _USE_TEX_SYNCTEX_PORT=  devel/${_USE_TEX_SYNCTEX_PKGNAME}
143 _USE_TEX_SYNCTEX_PKGNAME=tex-synctex
144 _USE_TEX_XPDFOPEN_DEP=  pdfopen
145 _USE_TEX_XPDFOPEN_PORT= print/${_USE_TEX_XPDFOPEN_PKGNAME}
146 _USE_TEX_XPDFOPEN_PKGNAME=      xpdfopen
147 _USE_TEX_ALEPH_DEP=     aleph
148 _USE_TEX_ALEPH_PORT=    print/${_USE_TEX_ALEPH_PKGNAME}
149 _USE_TEX_ALEPH_PKGNAME= tex-aleph
150 _USE_TEX_LUATEX_DEP=    luatex
151 _USE_TEX_LUATEX_PORT=   print/${_USE_TEX_LUATEX_PKGNAME}
152 _USE_TEX_LUATEX_PKGNAME=tex-luatex
153 _USE_TEX_XETEX_DEP=     xetex
154 _USE_TEX_XETEX_PORT=    print/${_USE_TEX_XETEX_PKGNAME}
155 _USE_TEX_XETEX_PKGNAME= tex-xetex
156
157 _USE_TEX_FULLLIST=      texmf>=20150523_3 base>=20150521_5 \
158                 web2c tlmgr:run \
159                 basic formats aleph xetex jadetex luatex xmltex ptex \
160                 dvipsk dvipdfmx xdvik xpdfopen:run \
161                 kpathsea:lib ptexenc:lib texlua:lib texluajit:lib synctex:lib
162
163 .if !empty(USE_TEX:tu:MFULL)
164 USE_TEX:=       ${USE_TEX:tu:NFULL} ${_USE_TEX_FULLLIST:tu}
165 .endif
166
167 .for _UU in ${USE_TEX:tu}
168 _U:=    ${_UU}  # ugly but necessary in for loop
169 _VOP:=
170 . if !empty(_U:tu:C/[<>=][^\:]*//:C/\:.*$//:MTEXMF) && empty(_U:M*[<>=]*)
171 _U:=    ${_U}>=20150523_3
172 . endif
173 . if !empty(_U:tu:C/[<>=][^\:]*//:C/\:.*$//:MBASE) && empty(_U:M*[<>=]*)
174 _U:=    ${_U}>=20150521_5
175 . endif
176 . if !empty(_U:tu:C/[<>=][^\:]*//:C/\:.*$//:MKPATHSEA) || \
177      !empty(_U:tu:C/[<>=][^\:]*//:C/\:.*$//:MPTEXENC) || \
178      !empty(_U:tu:C/[<>=][^\:]*//:C/\:.*$//:MTEXLUA) || \
179      !empty(_U:tu:C/[<>=][^\:]*//:C/\:.*$//:MTEXLUAJIT) || \
180      !empty(_U:tu:C/[<>=][^\:]*//:C/\:.*$//:MSYNCTEX)
181 _U:=    ${_U}:lib
182 . endif
183 . if !empty(_U:M*[<>=]*)
184 _VOP:=  ${_U:C/^[^<>=]*//:C/\:.*$//}
185 . endif
186 . if empty(_U:M*\:*)
187 _C:=    BUILD RUN
188 . else
189 _C:=    ${_U:C/.*://:S/,/ /g:C/[<>=][^\:]*//g}
190 . endif
191 #. warning DEBUG: ${_U}: _VOP=${_VOP}, _C=${_C}
192 . for _CC in ${_C:tu}
193 _V:=${_UU:C/[<>=][^\:]*//:C/\:.*$//}
194 .  if defined(_USE_TEX_${_V}_PORT)
195 .   if !empty(_VOP)
196 .    for _T in ${_USE_TEX_${_V}_PKGNAME}${_VOP}:${_USE_TEX_${_V}_PORT}
197 TEX_${_CC}_DEPENDS+=    ${_T}
198 .    endfor
199 .   else
200 .    for _T in ${_USE_TEX_${_V}_DEP}:${_USE_TEX_${_V}_PORT}
201 TEX_${_CC}_DEPENDS+=    ${_T}
202 .    endfor
203 .   endif
204 .  endif
205 . endfor
206 .endfor
207
208 .for _C in EXTRACT BUILD LIB RUN
209 ${_C}_DEPENDS+= ${TEX_${_C}_DEPENDS:O:u}
210 .endfor
211
212 .ORDER: do-texhash do-fmtutil do-updmap
213
214 .if !empty(USE_TEX:Mtexhash) || \
215     !empty(USE_TEX:Mtexhash-bootstrap) || \
216     !empty(USE_TEX:Mfmtutil) || \
217     !empty(USE_TEX:Mupdmap)
218 .PHONY: do-texhash
219 do-texhash:
220 . if !empty(USE_TEX:Mtexhash-bootstrap)
221         @${ECHO_CMD} "@exec ${LOCALBASE}/bin/mktexlsr " \
222                 "${TEXHASHDIRS:S,^,%D/,}" >> ${TMPPLIST}
223         @for D in ${TEXHASHDIRS}; do \
224                 ${ECHO_CMD} "@rmtry $$D/ls-R"; \
225                 ${ECHO_CMD} "@dir $$D"; \
226         done >> ${TMPPLIST}
227 . else
228         @${ECHO_CMD} "@exec for D in ${TEXHASHDIRS:S,^,${PREFIX}/,}; do " \
229                 "if [ -r \$$D/ls-R ]; then " \
230                         "${LOCALBASE}/bin/mktexlsr \$$D; " \
231                 "fi; done" >> ${TMPPLIST}
232         @${ECHO_CMD} "@unexec for D in ${TEXHASHDIRS:S,^,${PREFIX}/,}; do " \
233                 "if [ -r \$$D/ls-R ]; then " \
234                         "${LOCALBASE}/bin/mktexlsr \$$D; " \
235                 "fi; done" >> ${TMPPLIST}
236 . endif
237
238 post-install-script: do-texhash
239 .endif
240
241 .if !empty(USE_TEX:Mfmtutil)
242 .PHONY: do-fmtutil
243 . for F in ${TEX_FORMATS}
244 do-fmtutil: post-install-$F do-fmtutil-$F
245 do-fmtutil-$F:
246         ${TEST} -n '${TEX_FORMAT_${F:tu}}'
247         ${PRINTF} "%s\t#$F\n" ${TEX_FORMAT_${F:tu}} \
248             > ${WRKDIR}/fmtutil.cnf
249         ${MKDIR} ${STAGEDIR}${PREFIX}/${TEXMFVARDIR}/web2c \
250             ${STAGEDIR}${PREFIX}/${TEXMFDISTDIR}/web2c
251         ${LN} -f -s ${LOCALBASE}/${TEXMFDISTDIR}/web2c/texmf.cnf \
252             ${STAGEDIR}${PREFIX}/${TEXMFDISTDIR}/web2c/texmf.cnf
253         ${LOCALBASE}/bin/mktexlsr ${TEXHASHDIRS:S,^,${STAGEDIR}${PREFIX}/,}
254         ${CAT} ${WRKDIR}/fmtutil.cnf | \
255                 while read format dum; do \
256                 ${SETENV} PATH=${STAGEDIR}${PREFIX}/bin:${PATH}:${LOCALBASE}/bin \
257                     TEXMFDIST=${STAGEDIR}${PREFIX}/${TEXMFDISTDIR}:${LOCALBASE}/${TEXMFDISTDIR} \
258                     ${LOCALBASE}/bin/fmtutil-sys \
259                         --byfmt $$format \
260                         --fmtdir ${STAGEDIR}${PREFIX}/${TEXMFVARDIR}/web2c \
261                         --cnffile ${WRKDIR}/fmtutil.cnf; \
262                 done
263         # XXX
264         #cd ${STAGEDIR}${PREFIX}/${TEXMFVARDIR}/web2c && \
265         #       ${FIND} . -name "*.log" | ${XARGS} \
266         #           ${REINPLACE_CMD:S/.bak/ ""/} "s,${STAGEDIR},,g"
267         ${RM} ${TEXHASHDIRS:S,^,${STAGEDIR}${PREFIX}/,:S,$,/ls-R,} \
268             ${STAGEDIR}${PREFIX}/${TEXMFDISTDIR}/web2c/texmf.cnf
269         ${RMDIR} ${STAGEDIR}${PREFIX}/${TEXMFDISTDIR}/web2c || ${TRUE}
270         ${RMDIR} ${STAGEDIR}${PREFIX}/${TEXMFDISTDIR} || ${TRUE}
271 _PLIST_FILES+=  ${TEX_FORMAT_${F:tu}_FILES}
272 _PLIST_DIRS+=${TEX_FORMAT_${F:tu}_DIRS}
273 _PLIST_FILES+=  ${TEX_FORMAT_${F:tu}_BIN}
274 . endfor
275 post-install-script: do-fmtutil
276 PLIST_FILES=    ${_PLIST_FILES:O:u}
277 PLIST_DIRS=     ${_PLIST_DIRS:O:u} ${TEXMFVARDIR}/web2c
278 .endif
279
280 .if !empty(USE_TEX:Mupdmap)
281 .PHONY: do-updmap
282 do-updmap:
283         @${ECHO_CMD} "@exec ${SETENV} PATH=${PATH}:${LOCALBASE}/bin " \
284                 "TEXMFMAIN=${LOCALBASE}/${TEXMFDIR} " \
285                 "${LOCALBASE}/bin/updmap-sys"  >> ${TMPPLIST}
286         @${ECHO_CMD} "@unexec ${SETENV} PATH=${PATH}:${LOCALBASE}/bin " \
287                 "TEXMFMAIN=${LOCALBASE}/${TEXMFDIR} " \
288                 "${LOCALBASE}/bin/updmap-sys"  >> ${TMPPLIST}
289
290 post-install-script: do-updmap
291 .endif
292
293 TEX_FORMAT_ALEPH?= \
294         "aleph aleph - *aleph.ini" \
295         "lamed aleph language.dat *lambda.ini"
296 TEX_FORMAT_ALEPH_FILES= \
297         ${TEXMFVARDIR}/web2c/aleph/aleph.log \
298         ${TEXMFVARDIR}/web2c/aleph/aleph.fmt \
299         ${TEXMFVARDIR}/web2c/aleph/lamed.log \
300         ${TEXMFVARDIR}/web2c/aleph/lamed.fmt
301 TEX_FORMAT_ALEPH_BIN=   \
302         bin/lamed
303 TEX_FORMAT_ALEPH_DIRS=  \
304         ${TEXMFVARDIR}/web2c/aleph
305 post-install-aleph:
306         ${LN} -sf aleph ${STAGEDIR}${PREFIX}/bin/lamed
307
308 TEX_FORMAT_AMSTEX?= \
309         "amstex pdftex - -translate-file=cp227.tcx *amstex.ini"
310 TEX_FORMAT_AMSTEX_FILES= \
311         ${TEXMFVARDIR}/web2c/pdftex/amstex.log \
312         ${TEXMFVARDIR}/web2c/pdftex/amstex.fmt
313 TEX_FORMAT_AMSTEX_BIN= \
314         bin/amstex
315 TEX_FORMAT_AMSTEX_DIRS= \
316         ${TEXMFVARDIR}/web2c/pdftex
317 post-install-amstex:
318         ${LN} -fs pdftex ${STAGEDIR}${PREFIX}/bin/amstex
319
320 TEX_FORMAT_CONTEXT?= \
321         "cont-en pdftex cont-usr.tex -8bit *cont-en.mkii"
322 # XXX
323 #       "metafun mpost - metafun.mp"
324 TEX_FORMAT_CONTEXT_FILES=       \
325         ${TEXMFVARDIR}/web2c/pdftex/cont-en.log \
326         ${TEXMFVARDIR}/web2c/pdftex/cont-en.fmt
327 #       bin/metafun
328 TEX_FORMAT_CONTEXT_DIRS= \
329         ${TEXMFVARDIR}/web2c/pdftex
330 post-install-context:
331         @${DO_NADA}
332 #       ${LN} -sf mpost ${PREFIX}/bin/metafun
333
334 TEX_FORMAT_CSLATEX?= \
335         "cslatex pdftex - -etex cslatex.ini" \
336         "pdfcslatex pdftex - -etex cslatex.ini"
337 TEX_FORMAT_CSLATEX_FILES= \
338         ${TEXMFVARDIR}/web2c/pdftex/cslatex.log \
339         ${TEXMFVARDIR}/web2c/pdftex/cslatex.fmt \
340         ${TEXMFVARDIR}/web2c/pdftex/pdfcslatex.log \
341         ${TEXMFVARDIR}/web2c/pdftex/pdfcslatex.fmt
342 TEX_FORMAT_CSLATEX_BIN= \
343         bin/cslatex \
344         bin/pdfcslatex
345 TEX_FORMAT_CSLATEX_DIRS= \
346         ${TEXMFVARDIR}/web2c/pdftex
347 post-install-cslatex:
348         ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/cslatex
349         ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/pdfcslatex
350
351 TEX_FORMAT_CSPLAIN?= \
352         "csplain pdftex - -etex -enc csplain-utf8.ini" \
353         "pdfcsplain pdftex - -etex -enc csplain-utf8.ini"
354 TEX_FORMAT_CSPLAIN_FILES= \
355         ${TEXMFVARDIR}/web2c/pdftex/csplain.log \
356         ${TEXMFVARDIR}/web2c/pdftex/csplain.fmt \
357         ${TEXMFVARDIR}/web2c/pdftex/pdfcsplain.log \
358         ${TEXMFVARDIR}/web2c/pdftex/pdfcsplain.fmt
359 TEX_FORMAT_CSPLAIN_BIN= \
360         bin/csplain
361 TEX_FORMAT_CSPLAIN_DIRS= \
362         ${TEXMFVARDIR}/web2c/pdftex
363 post-install-csplain:
364         ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/csplain
365
366 TEX_FORMAT_EPLAIN?= \
367         "eplain pdftex language.dat -translate-file=cp227.tcx *eplain.ini"
368 TEX_FORMAT_EPLAIN_FILES= \
369         ${TEXMFVARDIR}/web2c/pdftex/eplain.log \
370         ${TEXMFVARDIR}/web2c/pdftex/eplain.fmt
371 TEX_FORMAT_EPLAIN_BIN= \
372         bin/eplain
373 TEX_FORMAT_EPLAIN_DIRS= \
374         ${TEXMFVARDIR}/web2c/pdftex
375 post-install-eplain:
376         ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/eplain
377
378 TEX_FORMAT_JADETEX?= \
379         "jadetex pdftex language.dat *jadetex.ini" \
380         "pdfjadetex pdftex language.dat *pdfjadetex.ini"
381 TEX_FORMAT_JADETEX_FILES= \
382         ${TEXMFVARDIR}/web2c/pdftex/jadetex.log \
383         ${TEXMFVARDIR}/web2c/pdftex/jadetex.fmt \
384         ${TEXMFVARDIR}/web2c/pdftex/pdfjadetex.log \
385         ${TEXMFVARDIR}/web2c/pdftex/pdfjadetex.fmt
386 TEX_FORMAT_JADETEX_BIN= \
387         bin/jadetex \
388         bin/pdfjadetex
389 TEX_FORMAT_JADETEX_DIRS= \
390         ${TEXMFVARDIR}/web2c/pdftex
391 post-install-jadetex:
392         ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/jadetex
393         ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/pdfjadetex
394
395 TEX_FORMAT_LATEX-BIN?= \
396         "latex pdftex language.dat -translate-file=cp227.tcx *latex.ini" \
397         "pdflatex pdftex language.dat -translate-file=cp227.tcx *pdflatex.ini"
398 TEX_FORMAT_LATEX-BIN_FILES= \
399         ${TEXMFVARDIR}/web2c/pdftex/latex.log \
400         ${TEXMFVARDIR}/web2c/pdftex/latex.fmt \
401         ${TEXMFVARDIR}/web2c/pdftex/pdflatex.log \
402         ${TEXMFVARDIR}/web2c/pdftex/pdflatex.fmt
403 TEX_FORMAT_LATEX-BIN_BIN= \
404         bin/latex \
405         bin/pdflatex
406 TEX_FORMAT_LATEX-BIN_DIRS= \
407         ${TEXMFVARDIR}/web2c/pdftex
408 post-install-latex-bin:
409         ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/latex
410         ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/pdflatex
411
412 TEX_FORMAT_LUATEX?= \
413         "luatex luatex language.def,language.dat.lua luatex.ini" \
414         "dviluatex luatex language.def,language.dat.lua dviluatex.ini" \
415         "dvilualatex luatex language.dat,language.dat.lua dvilualatex.ini" \
416         "lualatex luatex language.dat,language.dat.lua lualatex.ini" \
417         "luajittex luajittex language.def,language.dat.lua luatex.ini" \
418         "pdfcsplain luatex - -etex csplain.ini" \
419         "lualollipop luatex - lualollipop.in"
420 TEX_FORMAT_LUATEX_FILES= \
421         ${TEXMFVARDIR}/web2c/luatex/dviluatex.log \
422         ${TEXMFVARDIR}/web2c/luatex/dviluatex.fmt \
423         ${TEXMFVARDIR}/web2c/luatex/dvilualatex.log \
424         ${TEXMFVARDIR}/web2c/luatex/dvilualatex.fmt \
425         ${TEXMFVARDIR}/web2c/luatex/luatex.log \
426         ${TEXMFVARDIR}/web2c/luatex/luatex.fmt \
427         ${TEXMFVARDIR}/web2c/luatex/lualatex.log \
428         ${TEXMFVARDIR}/web2c/luatex/lualatex.fmt \
429         ${TEXMFVARDIR}/web2c/luatex/pdfcsplain.log \
430         ${TEXMFVARDIR}/web2c/luatex/pdfcsplain.fmt \
431         ${TEXMFVARDIR}/web2c/luajittex/luajittex.log \
432         ${TEXMFVARDIR}/web2c/luajittex/luajittex.fmt
433 TEX_FORMAT_LUATEX_BIN= \
434         bin/dviluatex \
435         bin/dvilualatex \
436         bin/luajittex \
437         bin/lualatex \
438         bin/lualollipop \
439         bin/luatex \
440         bin/texlua \
441         bin/texluac \
442         bin/texluajit \
443         bin/texluajitc
444 TEX_FORMAT_LUATEX_DIRS= \
445         ${TEXMFVARDIR}/web2c/luatex \
446         ${TEXMFVARDIR}/web2c/luajittex
447 post-install-luatex:
448         ${LN} -sf luatex ${STAGEDIR}${PREFIX}/bin/dviluatex
449         ${LN} -sf luatex ${STAGEDIR}${PREFIX}/bin/dvilualatex
450         ${LN} -sf luatex ${STAGEDIR}${PREFIX}/bin/lualatex
451         ${LN} -sf luatex ${STAGEDIR}${PREFIX}/bin/lualollipop
452         ${LN} -sf luatex ${STAGEDIR}${PREFIX}/bin/texlua
453         ${LN} -sf luatex ${STAGEDIR}${PREFIX}/bin/texluac
454         ${LN} -sf luajittex ${STAGEDIR}${PREFIX}/bin/texluajit
455         ${LN} -sf luajittex ${STAGEDIR}${PREFIX}/bin/texluajitc
456
457 TEX_FORMAT_LOLLIPOP?= \
458         "lollipop pdftex - -translate-file=cp227.tcx *lollipop.ini"
459 TEX_FORMAT_LOLLIPOP_FILES= \
460         ${TEXMFVARDIR}/web2c/pdftex/lollipop.log \
461         ${TEXMFVARDIR}/web2c/pdftex/lollipop.fmt
462 TEX_FORMAT_LOLLIPOP_BIN= \
463         bin/lollipop
464 TEX_FORMAT_LOLLIPOP_DIRS= \
465         ${TEXMFVARDIR}/web2c/pdftex
466 post-install-lollipop-bin:
467         ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/lollipop
468
469 TEX_FORMAT_METAFONT?= \
470         "mf mf-nowin - -translate-file=cp227.tcx mf.ini"
471 TEX_FORMAT_METAFONT_FILES= \
472         ${TEXMFVARDIR}/web2c/metafont/mf.log \
473         ${TEXMFVARDIR}/web2c/metafont/mf.base
474 TEX_FORMAT_METAFONT_DIRS= \
475         ${TEXMFVARDIR}/web2c/metafont
476 post-install-metafont:
477         @${DO_NADA}
478
479 TEX_FORMAT_MEX?= \
480         "mex pdftex mexconf.tex -translate-file=cp227.tcx *mex.ini" \
481         "pdfmex pdftex mexconf.tex -translate-file=cp227.tcx *pdfmex.ini" \
482         "utf8mex pdftex mexconf.tex -enc *utf8mex.ini"
483 TEX_FORMAT_MEX_FILES= \
484         ${TEXMFVARDIR}/web2c/pdftex/mex.log \
485         ${TEXMFVARDIR}/web2c/pdftex/mex.fmt \
486         ${TEXMFVARDIR}/web2c/pdftex/pdfmex.log \
487         ${TEXMFVARDIR}/web2c/pdftex/pdfmex.fmt \
488         ${TEXMFVARDIR}/web2c/pdftex/utf8mex.log \
489         ${TEXMFVARDIR}/web2c/pdftex/utf8mex.fmt
490 TEX_FORMAT_MEX_BIN= \
491         bin/mex \
492         bin/pdfmex \
493         bin/utf8mex
494 TEX_FORMAT_MEX_DIRS= \
495         ${TEXMFVARDIR}/web2c/pdftex
496 post-install-mex:
497         ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/mex
498         ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/pdfmex
499         ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/utf8mex
500
501 TEX_FORMAT_MLTEX?= \
502         "mllatex pdftex language.dat -translate-file=cp227.tcx -mltex mllatex.ini" \
503         "mltex pdftex - -translate-file=cp227.tcx -mltex mltex.ini"
504 TEX_FORMAT_MLTEX_FILES= \
505         ${TEXMFVARDIR}/web2c/pdftex/mllatex.log \
506         ${TEXMFVARDIR}/web2c/pdftex/mllatex.fmt \
507         ${TEXMFVARDIR}/web2c/pdftex/mltex.log \
508         ${TEXMFVARDIR}/web2c/pdftex/mltex.fmt
509 TEX_FORMAT_MLTEX_BIN= \
510         bin/mltex \
511         bin/mllatex
512 TEX_FORMAT_MLTEX_DIRS= \
513         ${TEXMFVARDIR}/web2c/pdftex
514 post-install-mltex:
515         ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/mltex
516         ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/mllatex
517
518 TEX_FORMAT_MPTOPDF?= \
519         "mptopdf pdftex - -translate-file=cp227.tcx mptopdf.tex"
520 TEX_FORMAT_MPTOPDF_FILES= \
521         ${TEXMFVARDIR}/web2c/pdftex/mptopdf.log \
522         ${TEXMFVARDIR}/web2c/pdftex/mptopdf.fmt
523 TEX_FORMAT_MPTOPDF_DIRS= \
524         ${TEXMFVARDIR}/web2c/pdftex
525 post-install-mptopdf:
526         @${DO_NADA}
527
528 TEX_FORMAT_PDFTEX?= \
529         "pdftex pdftex language.def -translate-file=cp227.tcx *pdfetex.ini" \
530         "etex pdftex language.def -translate-file=cp227.tcx *etex.ini" \
531         "pdfetex pdftex language.def -translate-file=cp227.tcx *pdfetex.ini"
532 TEX_FORMAT_PDFTEX_FILES= \
533         ${TEXMFVARDIR}/web2c/pdftex/pdftex.log \
534         ${TEXMFVARDIR}/web2c/pdftex/pdftex.fmt \
535         ${TEXMFVARDIR}/web2c/pdftex/etex.log \
536         ${TEXMFVARDIR}/web2c/pdftex/etex.fmt \
537         ${TEXMFVARDIR}/web2c/pdftex/pdfetex.log \
538         ${TEXMFVARDIR}/web2c/pdftex/pdfetex.fmt
539 TEX_FORMAT_PDFTEX_BIN= \
540         bin/etex \
541         bin/pdfetex
542 TEX_FORMAT_PDFTEX_DIRS= \
543         ${TEXMFVARDIR}/web2c/pdftex
544 post-install-pdftex:
545         ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/pdfetex
546         ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/etex
547
548 TEX_FORMAT_PTEX?= \
549         "ptex ptex - ptex.ini" \
550         "ptex eptex language.def *eptex.ini" \
551         "platex eptex language.dat *platex.ini"
552 TEX_FORMAT_PTEX_FILES= \
553         ${TEXMFVARDIR}/web2c/ptex/ptex.log \
554         ${TEXMFVARDIR}/web2c/ptex/ptex.fmt \
555         ${TEXMFVARDIR}/web2c/eptex/ptex.log \
556         ${TEXMFVARDIR}/web2c/eptex/ptex.fmt \
557         ${TEXMFVARDIR}/web2c/eptex/platex.log \
558         ${TEXMFVARDIR}/web2c/eptex/platex.fmt
559 TEX_FORMAT_PTEX_BIN= \
560         bin/eptex \
561         bin/ptex \
562         bin/platex
563 TEX_FORMAT_PTEX_DIRS= \
564         ${TEXMFVARDIR}/web2c/ptex \
565         ${TEXMFVARDIR}/web2c/eptex
566 post-install-ptex:
567         ${LN} -sf eptex ${STAGEDIR}${PREFIX}/bin/platex
568
569 TEX_FORMAT_TEX?= \
570         "tex tex - tex.ini"
571 TEX_FORMAT_TEX_FILES= \
572         ${TEXMFVARDIR}/web2c/tex/tex.log \
573         ${TEXMFVARDIR}/web2c/tex/tex.fmt
574 TEX_FORMAT_TEX_DIRS= \
575         ${TEXMFVARDIR}/web2c/tex
576 post-install-tex:
577         @${DO_NADA}
578
579 TEX_FORMAT_TEXSIS?= \
580         "texsis pdftex - -translate-file=cp227.tcx texsis.ini"
581 TEX_FORMAT_TEXSIS_FILES= \
582         ${TEXMFVARDIR}/web2c/pdftex/texsis.log \
583         ${TEXMFVARDIR}/web2c/pdftex/texsis.fmt
584 TEX_FORMAT_TEXSIS_BIN= \
585         bin/texsis
586 TEX_FORMAT_TEXSIS_DIRS= \
587         ${TEXMFVARDIR}/web2c/pdftex
588 post-install-texsis:
589         ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/texsis
590
591 TEX_FORMAT_UPTEX?= \
592         "uptex uptex - uptex.ini" \
593         "euptex euptex language.def *euptex.ini" \
594         "uplatex euptex language.dat *uplatex.ini"
595 TEX_FORMAT_UPTEX_FILES= \
596         ${TEXMFVARDIR}/web2c/euptex/euptex.log \
597         ${TEXMFVARDIR}/web2c/euptex/euptex.fmt \
598         ${TEXMFVARDIR}/web2c/uptex/uptex.log \
599         ${TEXMFVARDIR}/web2c/uptex/uptex.fmt \
600         ${TEXMFVARDIR}/web2c/euptex/uplatex.log \
601         ${TEXMFVARDIR}/web2c/euptex/uplatex.fmt
602 TEX_FORMAT_UPTEX_BIN= \
603         bin/euptex \
604         bin/uptex \
605         bin/uplatex
606 TEX_FORMAT_UPTEX_DIRS=  \
607         ${TEXMFVARDIR}/web2c/euptex \
608         ${TEXMFVARDIR}/web2c/uptex
609 post-install-uptex:
610         ${LN} -sf euptex ${STAGEDIR}${PREFIX}/bin/uplatex
611
612 TEX_FORMAT_XETEX?= \
613         "xetex xetex language.def -etex xetex.ini" \
614         "xelatex xetex language.dat -etex xelatex.ini" \
615         "pdfcsplain xetex - -etex csplain.ini" \
616         "cont-en xetex cont-usr.tex -8bit *cont-en.mkii" \
617         "xelollipop xetex - -etex xelollipop.ini"
618 TEX_FORMAT_XETEX_FILES= \
619         ${TEXMFVARDIR}/web2c/xetex/cont-en.log \
620         ${TEXMFVARDIR}/web2c/xetex/cont-en.fmt \
621         ${TEXMFVARDIR}/web2c/xetex/pdfcsplain.log \
622         ${TEXMFVARDIR}/web2c/xetex/pdfcsplain.fmt \
623         ${TEXMFVARDIR}/web2c/xetex/xetex.log \
624         ${TEXMFVARDIR}/web2c/xetex/xetex.fmt \
625         ${TEXMFVARDIR}/web2c/xetex/xelatex.log \
626         ${TEXMFVARDIR}/web2c/xetex/xelatex.fmt \
627         ${TEXMFVARDIR}/web2c/xetex/xelollipop.log \
628         ${TEXMFVARDIR}/web2c/xetex/xelollipop.fmt
629 TEX_FORMAT_XETEX_BIN=   \
630         bin/xetex \
631         bin/xelatex \
632         bin/xelollipop
633 TEX_FORMAT_XETEX_DIRS=  \
634         ${TEXMFVARDIR}/web2c/xetex
635 post-install-xetex:
636         ${LN} -sf xetex ${STAGEDIR}${PREFIX}/bin/xelatex
637         ${LN} -sf xetex ${STAGEDIR}${PREFIX}/bin/xelollipop
638
639 TEX_FORMAT_XMLTEX?= \
640         "xmltex pdftex language.dat *xmltex.ini" \
641         "pdfxmltex pdftex language.dat *pdfxmltex.ini"
642 TEX_FORMAT_XMLTEX_FILES= \
643         ${TEXMFVARDIR}/web2c/pdftex/xmltex.log \
644         ${TEXMFVARDIR}/web2c/pdftex/xmltex.fmt \
645         ${TEXMFVARDIR}/web2c/pdftex/pdfxmltex.log \
646         ${TEXMFVARDIR}/web2c/pdftex/pdfxmltex.fmt
647 TEX_FORMAT_XMLTEX_BIN= \
648         bin/xmltex \
649         bin/pdfxmltex
650 TEX_FORMAT_XMLTEX_DIRS= \
651         ${TEXMFVARDIR}/web2c/pdftex
652 post-install-xmltex:
653         ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/xmltex
654         ${LN} -sf pdftex ${STAGEDIR}${PREFIX}/bin/pdfxmltex