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