Merge pull request #8271 from naveen521kk/texlive

Add TexLive
This commit is contained in:
Naveen M K
2021-04-26 22:32:29 +05:30
committed by GitHub
parent 296a36d1ee
commit f613dedfed
17 changed files with 2314 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
From 0edd2c6c69da4d825b4e8f833f020796aba960d2 Mon Sep 17 00:00:00 2001
From: Naveen M K <naveen@syrusdark.website>
Date: Sat, 3 Apr 2021 17:46:48 +0530
Subject: [PATCH] Remove -DLUASOCKET_INET_PTON from Makefile Also, remove
definition of LUASOCKET_INET_PTON it's already defined in ws2tcpip.h so don't
redeclare it causes problems while compiling see
https://github.com/diegonehab/luasocket/pull/300
Signed-off-by: Naveen M K <naveen@syrusdark.website>
---
texk/web2c/luatexdir/luasocket/src/inet.h | 3 ---
texk/web2c/luatexdir/luasocket/src/makefile | 2 +-
2 files changed, 1 insertion(+), 4 deletions(-)
diff --git a/texk/web2c/luatexdir/luasocket/src/inet.h b/texk/web2c/luatexdir/luasocket/src/inet.h
index 928c7eb4..b286e6ec 100644
--- a/texk/web2c/luatexdir/luasocket/src/inet.h
+++ b/texk/web2c/luatexdir/luasocket/src/inet.h
@@ -22,9 +22,6 @@
#define LUASOCKET_INET_ATON
#endif
-#if defined( __MINGW32__ ) || defined( __MINGW64__ )
-#define LUASOCKET_INET_PTON
-#endif
int inet_open(lua_State *L);
diff --git a/texk/web2c/luatexdir/luasocket/src/makefile b/texk/web2c/luatexdir/luasocket/src/makefile
index 494baab0..19008c04 100644
--- a/texk/web2c/luatexdir/luasocket/src/makefile
+++ b/texk/web2c/luatexdir/luasocket/src/makefile
@@ -213,7 +213,7 @@ SOCKET_solaris=usocket.o
SO_mingw=dll
O_mingw=o
CC_mingw=gcc
-DEF_mingw= -DLUASOCKET_INET_PTON -DLUASOCKET_$(DEBUG) \
+DEF_mingw= -DLUASOCKET_$(DEBUG) \
-DWINVER=0x0501 -DLUASOCKET_API='__declspec(dllexport)' \
-DMIME_API='__declspec(dllexport)'
CFLAGS_mingw= -I$(LUAINC) $(DEF) -Wall -O2 -fno-common \
--
2.31.1.windows.1

View File

@@ -0,0 +1,20 @@
--- runscript_dll.c.old 2021-04-24 16:51:41.647049300 +0530
+++ runscript_dll.c 2021-04-24 16:51:41.571045000 +0530
@@ -17,7 +17,7 @@
char module_name[] = "runscript.dll";
char script_name[] = "runscript.tlu";
-char texlua_name[] = "texlua"; // just a bare name, luatex strips the rest anyway
+char texlua_name[] = "texluajit"; // just a bare name, luatex strips the rest anyway
char subsys_mode[] = "CUI_MODE\n";
char err_env_var[] = "RUNSCRIPT_ERROR_MESSAGE";
char msg_buf[MAX_MSG];
@@ -78,7 +78,7 @@
// call texlua interpreter
// for(int j=0; j<lua_argc; j++){printf("lua_argv[%d]=%s\n",j,lua_argv[j]);}
- k = _spawnvp(_P_WAIT, "texlua", (const char * const *)lua_argv);
+ k = _spawnvp(_P_WAIT, "texluajit", (const char * const *)lua_argv);
if (lua_argv) free(lua_argv);
return k;

View File

@@ -0,0 +1,495 @@
# Maintainer: @naveen521kk on Github, Naveen M K <naveen@syrusdark.website>
pkgname=("${MINGW_PACKAGE_PREFIX}-texlive-bin" "${MINGW_PACKAGE_PREFIX}-libsynctex")
pkgver=2021.20210424
pkgdesc="TeX Live binaries (mingw-w64)"
pkgrel=1
license=('GPL')
arch=('any')
url='https://tug.org/texlive/'
makedepends=(
"${MINGW_PACKAGE_PREFIX}-perl"
"${MINGW_PACKAGE_PREFIX}-cairo"
"${MINGW_PACKAGE_PREFIX}-pixman"
"${MINGW_PACKAGE_PREFIX}-graphite2"
"${MINGW_PACKAGE_PREFIX}-libsigsegv"
"${MINGW_PACKAGE_PREFIX}-zziplib"
"${MINGW_PACKAGE_PREFIX}-libpng"
"${MINGW_PACKAGE_PREFIX}-libjpeg-turbo"
"${MINGW_PACKAGE_PREFIX}-freetype"
"${MINGW_PACKAGE_PREFIX}-icu"
"${MINGW_PACKAGE_PREFIX}-harfbuzz"
"${MINGW_PACKAGE_PREFIX}-gmp"
"${MINGW_PACKAGE_PREFIX}-mpfr"
"${MINGW_PACKAGE_PREFIX}-potrace"
"${MINGW_PACKAGE_PREFIX}-libpaper"
"${MINGW_PACKAGE_PREFIX}-ffcall"
"${MINGW_PACKAGE_PREFIX}-libgd"
"${MINGW_PACKAGE_PREFIX}-lua"
"${MINGW_PACKAGE_PREFIX}-luajit"
"${MINGW_PACKAGE_PREFIX}-ghostscript"
# perl dependencies
"${MINGW_PACKAGE_PREFIX}-perl-win32-api"
"${MINGW_PACKAGE_PREFIX}-perl-win32-console"
"${MINGW_PACKAGE_PREFIX}-perl-win32-shortcut"
"${MINGW_PACKAGE_PREFIX}-perl-win32-tieregistry"
"${MINGW_PACKAGE_PREFIX}-perl-win32-winerror"
"${MINGW_PACKAGE_PREFIX}-perl-win32api-registry"
"${MINGW_PACKAGE_PREFIX}-perl-file-which"
"${MINGW_PACKAGE_PREFIX}-perl-io-string"
)
_commit=ccb6338507149edf2772bfccb9933b72761f4cc4 # svn://tug.org/texlive/trunk/Build/source@58686
source=(
"texlive-source-${_commit}.tar.gz::https://github.com/Tex-Live/texlive-source/archive/${_commit}.tar.gz"
"0001-Remove-DLUASOCKET_INET_PTON-from-Makefile.patch"
"0002-fix-lauchers-mingw32.patch")
sha256sums=('f17bdf0fba64790151b39bcb1d6d4f0ee97da6bcf15b4c9282ff9056bb8da5ee'
'e4b8238de5906b16cc8aeae6512fae4975d85c0c636225ab2031961bb77c32ac'
'decff8db61302c2a1760cfd4b42aaf0e25fcb7d2b9621cea3ec3f4c2557976a1')
apply_patch_with_msg() {
for _patch in "$@"
do
msg2 "Applying ${_patch}"
patch -Nbp1 -i "${srcdir}/${_patch}"
done
}
prepare() {
mv -f "$srcdir/texlive-source-${_commit}" "$srcdir/texlive-source"
cd "$srcdir/texlive-source"
apply_patch_with_msg 0001-Remove-DLUASOCKET_INET_PTON-from-Makefile.patch
# t4ht expects to be un /usr/share/texmf/bin/t4ht (FS#27251)
sed -i s/SELFAUTOPARENT/TEXMFROOT/ texk/tex4htk/t4ht.c
}
build() {
cd "$srcdir/texlive-source"
#############################################################
### configure
mkdir -p Work
cd Work
echo "--> Initial configuration..."
# we use temporary prefix to avoid messing the existing
# $pkgdir/usr/share/texmf tree
../configure --prefix="${MINGW_PREFIX}" -C \
--build=${MINGW_CHOST} \
--host=${MINGW_CHOST} \
--target=${MINGW_CHOST} \
--disable-static \
--enable-shared \
--disable-missing \
--disable-native-texlive-build \
--with-banner-add="/Built by MSYS2 project" \
--disable-multiplatform \
--disable-t1utils \
--disable-bibtexu \
--with-system-zlib \
--with-system-zziplib \
--with-system-libpng \
--with-system-ncurses \
--with-system-gd \
--with-system-freetype2 \
--with-system-pixman \
--with-system-cairo \
--with-system-harfbuzz \
--with-system-graphite2 \
--with-system-icu \
--with-system-gmp \
--with-system-mpfr \
--with-system-potrace \
--with-system-libpaper \
--with-xdvi-x-toolkit=xaw \
--disable-dump-share \
--disable-aleph \
--disable-xpdfopen
#############################################################
### make
echo "-------------------------------------------------------"
echo "--> Building the whole beast ..."
echo "-------------------------------------------------------"
make
msg "Building Lauchers"
# let's build lauchers first
# it is present in texk/texlive/w32_wrapper/ (for mingw32)
# and ../texk/texlive/w64_mingw_wrapper (for mingw64) wrapper
# first delete *.exe and *.dll from the locations
rm ../texk/texlive/w64_mingw_wrapper/*.exe ../texk/texlive/w64_mingw_wrapper/*.dll \
../texk/texlive/w64_mingw_wrapper/context/*.exe ../texk/texlive/w64_mingw_wrapper/context/*.dll
case $MINGW_CHOST in
i686-w64-mingw32)
rm -rf ../texk/texlive/w32_wrapper
cp -r ../texk/texlive/w64_mingw_wrapper ../texk/texlive/w32_wrapper
cp "libs/lua53/.libs/texlua.dll" ../texk/texlive/w32_wrapper
cd ../texk/texlive/w32_wrapper
patch -i "${srcdir}/0002-fix-lauchers-mingw32.patch"
;;
*)
cp "libs/lua53/.libs/texlua.dll" ../texk/texlive/w64_mingw_wrapper
cd ../texk/texlive/w64_mingw_wrapper
;;
esac
echo '1 ICON "tlmgr.ico"'>texlive.rc
windres texlive.rc texlive.o
gcc -Os -s -shared -o runscript.dll runscript_dll.c -L./ -ltexlua
gcc -Os -s -o runscript.exe runscript_exe.c texlive.o -L./ -lrunscript
gcc -mwindows -Os -s -o wrunscript.exe wrunscript_exe.c texlive.o -L./ -lrunscript
cd context
gcc -Os -s -shared -o mtxrun.dll mtxrun_dll.c
gcc -Os -s -o mtxrun.exe mtxrun_exe.c -L./ -lmtxrun
cd ..
#cleanup
rm texlive.rc texlive.o texlua.dll
}
package_libsynctex() {
pkgdesc='Library for synchronization between TeX files and resulting file (mingw-w64)'
depends=("${MINGW_PACKAGE_PREFIX}-zlib")
cd "${srcdir}/texlive-source/Work"
make -C texk/web2c DESTDIR="${pkgdir}" \
install-data-am install-libLTLIBRARIES
}
package_texlive-bin() {
pkgdesc="TeX Live binaries"
depends=(
"${MINGW_PACKAGE_PREFIX}-cairo"
"${MINGW_PACKAGE_PREFIX}-pixman"
"${MINGW_PACKAGE_PREFIX}-graphite2"
"${MINGW_PACKAGE_PREFIX}-libsigsegv"
"${MINGW_PACKAGE_PREFIX}-zziplib"
"${MINGW_PACKAGE_PREFIX}-libpng"
"${MINGW_PACKAGE_PREFIX}-libjpeg-turbo"
"${MINGW_PACKAGE_PREFIX}-freetype"
"${MINGW_PACKAGE_PREFIX}-icu"
"${MINGW_PACKAGE_PREFIX}-harfbuzz"
"${MINGW_PACKAGE_PREFIX}-gmp"
"${MINGW_PACKAGE_PREFIX}-mpfr"
"${MINGW_PACKAGE_PREFIX}-potrace"
"${MINGW_PACKAGE_PREFIX}-libpaper"
"${MINGW_PACKAGE_PREFIX}-libgd"
"${MINGW_PACKAGE_PREFIX}-libsynctex"
"${MINGW_PACKAGE_PREFIX}-lua"
"${MINGW_PACKAGE_PREFIX}-luajit"
"${MINGW_PACKAGE_PREFIX}-ghostscript"
# perl dependencies
"${MINGW_PACKAGE_PREFIX}-perl-win32-api"
"${MINGW_PACKAGE_PREFIX}-perl-win32-console"
"${MINGW_PACKAGE_PREFIX}-perl-win32-shortcut"
"${MINGW_PACKAGE_PREFIX}-perl-win32-tieregistry"
"${MINGW_PACKAGE_PREFIX}-perl-win32-winerror"
"${MINGW_PACKAGE_PREFIX}-perl-win32api-registry"
"${MINGW_PACKAGE_PREFIX}-perl-file-which"
"${MINGW_PACKAGE_PREFIX}-perl-io-string")
provides=(
"${MINGW_PACKAGE_PREFIX}-lcdf-typetools"
"${MINGW_PACKAGE_PREFIX}-kpathsea"
#"${MINGW_PACKAGE_PREFIX}-xindy" #once clisp is build this needs to be enabled
)
#optdepends=('ed: for texconfig'
# 'biber: for bibliography processing')
options=('!strip')
cd "$srcdir/texlive-source"
#############################################################
### install
echo "-------------------------------------------------------"
echo "--> Proceeding with make install ..."
echo "-------------------------------------------------------"
cd Work
make DESTDIR="${pkgdir}" texmf="${pkgdir}${MINGW_PREFIX}"/share/texmf install
rm -rf "${pkgdir}${MINGW_PREFIX}"/{texmf,share/texmf-dist}
# should be updated with what arch does.
## symlink engines by hand. texlinks has moved to texlive-core...
cd "${pkgdir}${MINGW_PREFIX}"/bin
mkdir -p "${pkgdir}${MINGW_PREFIX}"/bin
install -D -m755 eptex.exe ${pkgdir}${MINGW_PREFIX}/bin/platex.exe
install -D -m755 euptex.exe ${pkgdir}${MINGW_PREFIX}/bin/uplatex.exe
install -D -m755 luatex.exe ${pkgdir}${MINGW_PREFIX}/bin/dvilualatex.exe
install -D -m755 luatex.exe ${pkgdir}${MINGW_PREFIX}/bin/dviluatex.exe
install -D -m755 luahbtex.exe ${pkgdir}${MINGW_PREFIX}/bin/lualatex.exe
install -D -m755 pdftex.exe ${pkgdir}${MINGW_PREFIX}/bin/amstex.exe
install -D -m755 pdftex.exe ${pkgdir}${MINGW_PREFIX}/bin/cslatex.exe
install -D -m755 pdftex.exe ${pkgdir}${MINGW_PREFIX}/bin/csplain.exe
install -D -m755 pdftex.exe ${pkgdir}${MINGW_PREFIX}/bin/eplain.exe
install -D -m755 pdftex.exe ${pkgdir}${MINGW_PREFIX}/bin/etex.exe
install -D -m755 pdftex.exe ${pkgdir}${MINGW_PREFIX}/bin/jadetex.exe
install -D -m755 pdftex.exe ${pkgdir}${MINGW_PREFIX}/bin/latex.exe
install -D -m755 tex.exe ${pkgdir}${MINGW_PREFIX}/bin/lollipop.exe
install -D -m755 pdftex.exe ${pkgdir}${MINGW_PREFIX}/bin/mex.exe
install -D -m755 pdftex.exe ${pkgdir}${MINGW_PREFIX}/bin/mllatex.exe
install -D -m755 pdftex.exe ${pkgdir}${MINGW_PREFIX}/bin/mltex.exe
install -D -m755 pdftex.exe ${pkgdir}${MINGW_PREFIX}/bin/pdfetex.exe
install -D -m755 pdftex.exe ${pkgdir}${MINGW_PREFIX}/bin/pdfcslatex.exe
install -D -m755 pdftex.exe ${pkgdir}${MINGW_PREFIX}/bin/pdfcsplain.exe
install -D -m755 pdftex.exe ${pkgdir}${MINGW_PREFIX}/bin/pdfjadetex.exe
install -D -m755 pdftex.exe ${pkgdir}${MINGW_PREFIX}/bin/pdflatex.exe
install -D -m755 pdftex.exe ${pkgdir}${MINGW_PREFIX}/bin/pdfmex.exe
install -D -m755 pdftex.exe ${pkgdir}${MINGW_PREFIX}/bin/pdfxmltex.exe
install -D -m755 pdftex.exe ${pkgdir}${MINGW_PREFIX}/bin/texsis.exe
install -D -m755 pdftex.exe ${pkgdir}${MINGW_PREFIX}/bin/utf8mex.exe
install -D -m755 pdftex.exe ${pkgdir}${MINGW_PREFIX}/bin/xmltex.exe
install -D -m755 xetex.exe ${pkgdir}${MINGW_PREFIX}/bin/xelatex.exe
# remove dangling executables, they are available in seperate pacakges
_bibtexextra_scripts="
bbl2bib
bib2gls
bibdoiadd
bibexport
bibmradd
biburl2doi
bibzbladd
convertgls2bib
listbib
ltx2crossrefxml
multibibliography
urlbst
"
_core_scripts="
a2ping
a5toa4
adhocfilelist
afm2afm
albatross
allcm
allec
allneeded
arara
arlatex
autoinst
bundledoc
checkcites
checklistings
chklref
chkweb
cjk-gs-integrate
cluttex
cllualatex
clxelatex
context
contextjit
ctanbib
ctanify
ctanupload
ctan-o-mat
de-macro
depythontex
deweb
dosepsbin
dtxgen
dvi2fax
dviasm
dviinfox
dvired
e2pall
epstopdf
findhyph
fmtutil
fmtutil-sys
fmtutil-user
fontinst
fragmaster
git-latexdiff
ht
htcontext
htlatex
htmex
httex
httexi
htxelatex
htxetex
installfont-tl
jfmutil
ketcindy
kpsepath
kpsetool
kpsewhere
kpsexpand
latex-git-log
latex-papersize
latex2man
latex2nemeth
latexdef
latexdiff
latexdiff-vc
latexfileversion
latexindent
latexmk
latexpand
latexrevise
listings-ext.sh
llmk
ltxfileinfo
ltximg
luaotfload-tool
luatools
lwarpmk
make4ht
match_parens
mf2pt1
mk4ht
mkjobtexmf
mkt1font
mktexfmt
mktexlsr
mktexmf
mktexpk
mktextfm
mptopdf
mtxrun
mtxrunjit
ot2kpx
pamphletangler
pdfatfi
pdfbook2
pdfcrop
pdfjam
pdflatexpicscale
pdftex-quiet
pdfxup
pfarrei
pkfix
pkfix-helper
ps2eps
ps2frag
pslatex
purifyeps
pythontex
repstopdf
rpdfcrop
rungs
simpdftex
spix
srcredact
sty2dtx
tex4ebook
texconfig
texconfig-dialog
texconfig-sys
texcount
texdef
texdiff
texdirflatten
texdoc
texdoctk
texexec
texfot
texhash
texindy
texlinks
texliveonfly
texloganalyser
texmfstart
texosquery
texosquery-jre5
texosquery-jre8
texplate
thumbpdf
tlcockpit
tlshell
typeoutfileinfo
updmap
updmap-sys
updmap-user
vpl2ovp
vpl2vpl
xhlatex
xindex
xindy
"
_games_scripts="rubikrotation"
_humanities_scripts="diadia"
_langcyrillic_scripts="rubibtex rumakeindex"
_langextra_scripts="ebong"
_langgreek_scripts="mkgrkindex"
_langjapanese_scripts="convbkmk ptex2pdf
kanji-fontmap-creator
kanji-config-updmap
kanji-config-updmap-sys
kanji-config-updmap-user
"
_langkorean_scripts="jamo-normalize komkindex ttf2kotexfont"
_latexextra_scripts="
authorindex
exceltex
hyperxmp-add-bytecount
l3build
makedtx
makeglossaries
makeglossaries-lite
pdfannotextractor
perltex
ps4pdf
splitindex
svn-multi
vpe
webquiz
wordcount
yplan"
_music_scripts="lily-glyph-commands lily-image-commands lily-rebuild-pdfs
m-tx
musixtex
musixflx
pmxchords"
_pictures_scripts="
cachepic
epspdf
epspdftk
fig4latex
getmapdl
mathspic
mkpic
pn2pdf
tikztosvg"
_pstricks_scripts="pedigree pst2pdf"
_science_scripts="pygmentex ulqda"
for s in \
${_bibtexextra_scripts} \
${_core_scripts} \
${_games_scripts} \
${_htmlxml_scripts} \
${_humanities_scripts} \
${_langcyrillic_scripts} \
${_langextra_scripts} \
${_langgreek_scripts} \
${_langjapanese_scripts} \
${_langkorean_scripts} \
${_latexextra_scripts} \
${_music_scripts} \
${_pictures_scripts} \
${_pstricks_scripts} \
${_science_scripts} \
tlmgr; do
rm -f "${pkgdir}${MINGW_PREFIX}"/bin/$s.exe
done
###################################################################
# remove libsynctex
rm -f "${pkgdir}${MINGW_PREFIX}"/include/synctex/*
rm -f "${pkgdir}${MINGW_PREFIX}"/lib/libsynctex.*
rm -f "${pkgdir}${MINGW_PREFIX}"/lib/pkgconfig/synctex.pc
rm -f "${pkgdir}${MINGW_PREFIX}"/share/man/man*/synctex.*
rm -f "${pkgdir}${MINGW_PREFIX}"/bin/libsynctex-2.dll
}
# template start; name=mingw-w64-splitpkg-wrappers; version=1.0;
# vim: set ft=bash :
# generate wrappers
for _name in "${pkgname[@]}"; do
_short="package_${_name#${MINGW_PACKAGE_PREFIX}-}"
_func="$(declare -f "${_short}")"
eval "${_func/#${_short}/package_${_name}}"
done
# template end;

8
mingw-w64-texlive-core/.gitignore vendored Normal file
View File

@@ -0,0 +1,8 @@
*.fmts
*.maps
src/
pkg/
*.tar.*
*.def
*.dat
*.dat.lua

View File

@@ -0,0 +1,8 @@
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<dir>@MINGW_PREFIX@/share/texmf-dist/fonts/opentype</dir>
<dir>@MINGW_PREFIX@/share/texmf-dist/fonts/truetype</dir>
<dir>@MINGW_PREFIX@/etc/texmf/fonts/opentype</dir>
<dir>@MINGW_PREFIX@/etc/texmf/fonts/truetype</dir>
</fontconfig>

View File

@@ -0,0 +1,423 @@
# Maintainer: @naveen521kk on Github, Naveen M K <naveen@syrusdark.website>
_realname=texlive-core
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=2021.20210424
_revnr=${pkgver#2021.}
pkgrel=1
pkgdesc="TeX Live core distribution (mingw-w64)"
license=('GPL')
arch=('any')
depends=(
"${MINGW_PACKAGE_PREFIX}-texlive-bin"
"${MINGW_PACKAGE_PREFIX}-perl"
)
optdepends=(
#'dialog: for texconfig'
"${MINGW_PACKAGE_PREFIX}-ghostscript: for epstopdf, epspdf and other ConTeXt tools"
#'java-runtime: for utilities like arara, texplate'
#'perl-tk: for texdoctk'
#'psutils: to manipulate the output of dvips'
"${MINGW_PACKAGE_PREFIX}-python: for de-macro, dviasm, pythontex"
"${MINGW_PACKAGE_PREFIX}-ruby: for old ConTeXT MkII and epspdf"
#"t1utils: can be useful when installing Type1 fonts"
)
groups=('texlive-most')
conflicts=(
"${MINGW_PACKAGE_PREFIX}-tetex"
"${MINGW_PACKAGE_PREFIX}-texlive-latex3"
"${MINGW_PACKAGE_PREFIX}-pdfjam"
"${MINGW_PACKAGE_PREFIX}-texlive-genericextra"
"${MINGW_PACKAGE_PREFIX}-texlive-plainextra"
)
provides=(
"${MINGW_PACKAGE_PREFIX}-tetex"
"${MINGW_PACKAGE_PREFIX}-texlive-latex3"
"${MINGW_PACKAGE_PREFIX}-pdfjam"
"${MINGW_PACKAGE_PREFIX}-texlive-genericextra"
"${MINGW_PACKAGE_PREFIX}-texlive-plainextra"
)
replaces=(
"${MINGW_PACKAGE_PREFIX}-tetex"
"${MINGW_PACKAGE_PREFIX}-texlive-latex3"
"${MINGW_PACKAGE_PREFIX}-pdfjam"
"${MINGW_PACKAGE_PREFIX}-texlive-genericextra"
"${MINGW_PACKAGE_PREFIX}-texlive-plainextra"
)
url='http://tug.org/texlive/'
source=("https://github.com/msys2/msys2-texlive/releases/download/${_revnr}/texlive-core-${_revnr}.tar.xz"
"$_realname.maps::https://github.com/msys2/msys2-texlive/releases/download/${_revnr}/${_realname}.maps"
"$_realname.fmts::https://github.com/msys2/msys2-texlive/releases/download/${_revnr}/${_realname}.fmts"
"$_realname.dat::https://github.com/msys2/msys2-texlive/releases/download/${_revnr}/${_realname}.dat"
"$_realname.dat.lua::https://github.com/msys2/msys2-texlive/releases/download/${_revnr}/${_realname}.dat.lua"
"$_realname.def::https://github.com/msys2/msys2-texlive/releases/download/${_revnr}/${_realname}.def"
"mktexlsr.hook.in"
"mktexlsr.script.in"
"texlive-updmap.hook.in"
"texlive-updmap.script.in"
"texlive-fmtutil.hook.in"
"texlive-fmtutil.script.in"
"texmf.cnf.in"
"texmfcnf.lua.in"
"09-texlive-fonts.conf.in")
install=${_realname}-${MSYSTEM}.install
backup=("${MINGW_PREFIX:1}/etc/texmf/web2c/texmf.cnf"
"${MINGW_PREFIX:1}/etc/texmf/chktex/chktexrc"
"${MINGW_PREFIX:1}/etc/texmf/dvipdfmx/dvipdfmx.cfg"
"${MINGW_PREFIX:1}/etc/texmf/dvips/config/config.ps"
"${MINGW_PREFIX:1}/etc/texmf/tex/generic/config/language.dat"
"${MINGW_PREFIX:1}/etc/texmf/tex/generic/config/language.def"
"${MINGW_PREFIX:1}/etc/texmf/tex/generic/tex-ini-files/pdftexconfig.tex"
"${MINGW_PREFIX:1}/etc/texmf/ttf2pk/ttf2pk.cfg"
"${MINGW_PREFIX:1}/etc/texmf/web2c/fmtutil.cnf"
"${MINGW_PREFIX:1}/etc/texmf/web2c/mktex.cnf"
"${MINGW_PREFIX:1}/etc/texmf/xdvi/XDvi")
sha256sums=('b51d381e3eafc3ab228fa6334873c103890774ed1696b0372243d72b87a4f057'
'92cde6a5f11c4d1709d61a278d3f7e315654b62d8cf41dffc4157fd264d0094d'
'ac365205a0d57fac5ee1d898e8aa22957f937865b7a11bff0c01231927e840ec'
'c1b678210bd2ce220d0866b0b0b2a59d11616ffe356e8cb74525bc2fb8c40d9f'
'a0e9859ccbfc51b21660af389557a4343ce61cb77e6161f1b00d80277da87724'
'849f0f5388b9bc4e4982b1c95a26924a14e1c3d942af125df0d7b7de53cd50ff'
'542f68cd8e1a00f1598db8532e70e1bb77adc0516daee84e5aa92707f58fdf04'
'e928c013251f578f6a6cf88feef11027516c715313ef0a93e4ce246ed3cf2ee3'
'bffaa8a7f5d78aed138a760dfa1073ad7c419a61a9739cafbc28dce330aae911'
'db908b689902148236db85c5756e33026f5a8baa413d762d036a7389cb1b9ced'
'd615d040d1943bcdf7b1c7a649644a7bd47703317b79963062a058e1300602f3'
'eea03a5acda0f31093f3bf709676d471e518de95c0d95b1e7d09eae65422ffdd'
'3bc32f119b672015d75d136a3a506efefac6f7b8e01a9a6c95c10c4336931b26'
'8ededf35132ffbe26434c0c778b3d4a159ce428452abe6ebc8d94161f02bd7e9'
'87eddde958848d041ded1625e14009e89b3bd5953e7ae39b6aac2f65d3856485')
build() {
cd "$srcdir"
echo -n " --> extracting all packages... "
for p in *.tar.xz; do
bsdtar -xf $p
done
echo "done"
rm -rf source doc
}
copy_file_message() {
local from="$1"
local to="$2"
msg2 "Copying $from to $to"
cp $from $to
}
package() {
cd "$srcdir"
msg "Installing Pacman hooks"
# First lets sed all files for prefix changes.
for hook in 'mktexlsr' 'texlive-fmtutil' 'texlive-updmap'; do
local hook_path="${srcdir}/${MINGW_PACKAGE_PREFIX}-${hook}.hook"
cp "${srcdir}/${hook}.hook.in" "${hook_path}"
sed -s "s|@MINGW_HOOK_TARGET_PREFIX@|${MINGW_PREFIX:1}|g" -i "${hook_path}"
sed -s "s|@MINGW_PREFIX@|${MINGW_PREFIX}|g" -i "${hook_path}"
sed -s "s|@MINGW_PACKAGE_PREFIX@|${MINGW_PACKAGE_PREFIX}|g" -i "${hook_path}"
sed -s "s|@TEMP@|$(cygpath -w $TMP)|g" -i "${hook_path}"
install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 "${hook_path}"
done
for script in 'mktexlsr' 'texlive-fmtutil' 'texlive-updmap'; do
local script_path="${srcdir}/${MINGW_PACKAGE_PREFIX}-${script}.script"
cp "${srcdir}/${script}.script.in" "${script_path}"
sed -s "s|@MINGW_PREFIX@|${MINGW_PREFIX}|g" -i "${script_path}"
sed -s "s|@MINGW_HOOK_TARGET_PREFIX@|${MINGW_PREFIX:1}|g" -i "${script_path}"
install -Dt "$pkgdir/usr/share/libalpm/scripts" -m644 "${script_path}"
done
for file_conf in '09-texlive-fonts.conf' 'texmfcnf.lua' 'texmf.cnf'; do
local conf_path="${srcdir}/${file_conf}"
cp "${srcdir}/${file_conf}.in" "${conf_path}"
sed -s "s|@MINGW_HOOK_TARGET_PREFIX@|${MINGW_PREFIX:1}|g" -i "${conf_path}"
sed -s "s|@MINGW_PREFIX@|${MINGW_PREFIX}|g" -i "${conf_path}"
sed -s "s|@MINGW_PACKAGE_PREFIX@|${MINGW_PACKAGE_PREFIX}|g" -i "${conf_path}"
sed -s "s|@TEMP@|$(cygpath -u $TMP)|g" -i "${conf_path}"
done
msg "Installing Package"
# Install packages.
install -m755 -d "${pkgdir}${MINGW_PREFIX}/var/lib/texmf/msys2/installedpkgs"
sed -i '/^#/d' CONTENTS
install -m644 CONTENTS "${pkgdir}${MINGW_PREFIX}/var/lib/texmf/msys2/installedpkgs/${pkgname}_${_revnr}.pkgs"
install -m644 $_realname.maps "${pkgdir}${MINGW_PREFIX}/var/lib/texmf/msys2/installedpkgs/"
install -m644 $_realname.fmts "${pkgdir}${MINGW_PREFIX}/var/lib/texmf/msys2/installedpkgs/"
# language files for hooks
sed -i 's/\% test//' $_realname.dat
install -m644 $_realname.dat "${pkgdir}${MINGW_PREFIX}/var/lib/texmf/msys2/installedpkgs/"
sed -i 's/-- test//' $_realname.dat.lua
install -m644 $_realname.dat.lua "${pkgdir}${MINGW_PREFIX}/var/lib/texmf/msys2/installedpkgs/"
sed -i 's/\% test//' $_realname.def
install -m644 $_realname.def "${pkgdir}${MINGW_PREFIX}/var/lib/texmf/msys2/installedpkgs/"
install -m755 -d "${pkgdir}${MINGW_PREFIX}/share"
wanteddirs=$(for d in *; do test -d $d && [[ $d != texmf* ]] && echo $d; done) || true
for dir in $wanteddirs; do
find $dir -type d -exec install -d -m755 "${pkgdir}${MINGW_PREFIX}"/share/texmf-dist/'{}' \;
find $dir -type f -exec install -m644 '{}' "${pkgdir}${MINGW_PREFIX}"/share/texmf-dist/'{}' \;
done
find texmf-dist -type d -exec install -d -m755 "${pkgdir}${MINGW_PREFIX}"/share/'{}' \;
find texmf-dist -type f -exec install -m644 '{}' "${pkgdir}${MINGW_PREFIX}"/share/'{}' \;
find texmf-dist -type f -executable -exec chmod 755 "${pkgdir}${MINGW_PREFIX}"/share/'{}' \;
#############################################################
### install texmf tree
msg "Installing the /etc/texmf tree"
install -d -m755 "${pkgdir}${MINGW_PREFIX}/etc/texmf/web2c/"
install -d -m755 "${pkgdir}${MINGW_PREFIX}/etc/texmf/chktex/"
install -d -m755 "${pkgdir}${MINGW_PREFIX}/etc/texmf/dvips/config/"
install -d -m755 "${pkgdir}${MINGW_PREFIX}/etc/texmf/dvipdfmx/"
install -d -m755 "${pkgdir}${MINGW_PREFIX}/etc/texmf/tex/generic/config/"
install -d -m755 "${pkgdir}${MINGW_PREFIX}/etc/texmf/tex/generic/tex-ini-files/"
install -d -m755 "${pkgdir}${MINGW_PREFIX}/etc/texmf/ttf2pk/"
install -d -m755 "${pkgdir}${MINGW_PREFIX}/etc/texmf/xdvi/"
install -d -m755 "${pkgdir}${MINGW_PREFIX}/share/fontconfig/conf.avail"
install -m644 "$srcdir"/09-texlive-fonts.conf \
"${pkgdir}${MINGW_PREFIX}/share/fontconfig/conf.avail/"
# Remove manpages (already in texlive-bin).
rm -rf "${pkgdir}${MINGW_PREFIX}/share/texmf-dist/doc/man"
msg "Copying config files to TEXMFCONFIG tree"
# copy config files to $TEXMFCONFIG tree
copy_file_message "${pkgdir}${MINGW_PREFIX}/share/texmf-dist/chktex/chktexrc" \
"${pkgdir}${MINGW_PREFIX}/etc/texmf/chktex/"
copy_file_message "${pkgdir}${MINGW_PREFIX}/share/texmf-dist/web2c/mktex.cnf" \
"${pkgdir}${MINGW_PREFIX}/etc/texmf/web2c/"
copy_file_message "${pkgdir}${MINGW_PREFIX}/share/texmf-dist/web2c/updmap-hdr.cfg" \
"${pkgdir}${MINGW_PREFIX}/etc/texmf/web2c/"
copy_file_message "${pkgdir}${MINGW_PREFIX}/share/texmf-dist/web2c/fmtutil-hdr.cnf" \
"${pkgdir}${MINGW_PREFIX}/etc/texmf/web2c/fmtutil.cnf"
copy_file_message "${pkgdir}${MINGW_PREFIX}/share/texmf-dist/dvips/config/config.ps" \
"${pkgdir}${MINGW_PREFIX}/etc/texmf/dvips/config/"
copy_file_message "${pkgdir}${MINGW_PREFIX}/share/texmf-dist/dvipdfmx/dvipdfmx.cfg" \
"${pkgdir}${MINGW_PREFIX}/etc/texmf/dvipdfmx/"
copy_file_message "${pkgdir}${MINGW_PREFIX}/share/texmf-dist/tex/generic/tex-ini-files/pdftexconfig.tex" \
"${pkgdir}${MINGW_PREFIX}/etc/texmf/tex/generic/tex-ini-files/"
copy_file_message "${pkgdir}${MINGW_PREFIX}/share/texmf-dist/tex/generic/config/language.us" \
"${pkgdir}${MINGW_PREFIX}/etc/texmf/tex/generic/config/"
copy_file_message "${pkgdir}${MINGW_PREFIX}/share/texmf-dist/tex/generic/config/language.us.def" \
"${pkgdir}${MINGW_PREFIX}/etc/texmf/tex/generic/config/"
copy_file_message "${pkgdir}${MINGW_PREFIX}/share/texmf-dist/tex/generic/config/language.us.lua" \
"${pkgdir}${MINGW_PREFIX}/etc/texmf/tex/generic/config/"
copy_file_message "${pkgdir}${MINGW_PREFIX}/share/texmf-dist/ttf2pk/ttf2pk.cfg" \
"${pkgdir}${MINGW_PREFIX}/etc/texmf/ttf2pk/"
copy_file_message "${pkgdir}${MINGW_PREFIX}/share/texmf-dist/xdvi/XDvi" \
"${pkgdir}${MINGW_PREFIX}/etc/texmf/xdvi/"
msg 'remove TL specific warnings in the language.{dat,def} files'
# remove TL specific warnings in the language.{dat,def} files:
sed -i -e '/DO NOT EDIT/,+3 d' "${pkgdir}${MINGW_PREFIX}"/etc/texmf/tex/generic/config/language.*
msg "Replace upstream texmf.cnf with ours"
# replace upstream texmf.cnf with ours
rm -f "${pkgdir}${MINGW_PREFIX}"/share/texmf-dist/web2c/texmf.cnf
install -m644 "$srcdir"/texmf.cnf "${pkgdir}${MINGW_PREFIX}"/etc/texmf/web2c/texmf.cnf
install -m644 "${pkgdir}${MINGW_PREFIX}"/etc/texmf/web2c/texmf.cnf "${pkgdir}${MINGW_PREFIX}"/share/texmf-dist/web2c/texmf.cnf
# replace upstream texmfcnf.lua with ours
install -m644 "$srcdir"/texmfcnf.lua "${pkgdir}${MINGW_PREFIX}"/share/texmf-dist/web2c/texmfcnf.lua
msg "Configure Languages Hypens"
# remove upstream's language.*
rm -f "${pkgdir}${MINGW_PREFIX}"/share/texmf-dist/tex/generic/config/language.dat
rm -f "${pkgdir}${MINGW_PREFIX}"/share/texmf-dist/tex/generic/config/language.def
rm -f "${pkgdir}${MINGW_PREFIX}"/share/texmf-dist/tex/generic/config/language.dat.lua
msg "Install Perl libraries"
# install Perl libraries
mv "${pkgdir}${MINGW_PREFIX}"/share/texmf-dist/tlpkg "${pkgdir}${MINGW_PREFIX}"/share
rm -rf "${pkgdir}${MINGW_PREFIX}"/share/tlpkg/tlpobj
msg "remove Upstream updmap.cfg and fmtutil.cnf"
# remove upstream updmap.cfg: it contains too many maps.
rm "${pkgdir}${MINGW_PREFIX}/share/texmf-dist/web2c/updmap.cfg"
# remove upstream fmtutil.cnf: it will be autogenerated
rm "${pkgdir}${MINGW_PREFIX}/share/texmf-dist/web2c/fmtutil.cnf"
# Create lauchers for all these Scripts.
# There is a `runscript.exe` which can be copied
# with these script names and things should work
# automatically. It is from texlive-bin
msg "Creating Launchers."
# get the list from
# https://github.com/TeX-Live/texlive-source/blob/<commit>/texk/texlive/linked_scripts/scripts.lst
_linked_scripts="
a2ping/a2ping.pl
accfonts/mkt1font
accfonts/vpl2ovp
accfonts/vpl2vpl
adhocfilelist/adhocfilelist.sh
albatross/albatross.sh
arara/arara.sh
attachfile2/pdfatfi.pl
bundledoc/arlatex
bundledoc/bundledoc
checkcites/checkcites.lua
checklistings/checklistings.sh
chklref/chklref.pl
chktex/chkweb.sh
chktex/deweb.pl
cjk-gs-integrate/cjk-gs-integrate.pl
clojure-pamphlet/pamphletangler
cluttex/cluttex.lua
context/perl/mptopdf.pl
context/stubs/unix/context
context/stubs/unix/contextjit
context/stubs/unix/luatools
context/stubs/unix/mtxrun
context/stubs/unix/mtxrunjit
context/stubs/unix/texexec
context/stubs/unix/texmfstart
ctan-o-mat/ctan-o-mat.pl
ctanbib/ctanbib
ctanify/ctanify
ctanupload/ctanupload.pl
de-macro/de-macro
dosepsbin/dosepsbin.pl
dtxgen/dtxgen
dviasm/dviasm.py
dviinfox/dviinfox.pl
epstopdf/epstopdf.pl
findhyph/findhyph
fontools/afm2afm
fontools/autoinst
fontools/ot2kpx
fragmaster/fragmaster.pl
git-latexdiff/git-latexdiff
installfont/installfont-tl
jfmutil/jfmutil.pl
ketcindy/ketcindy.sh
latex-git-log/latex-git-log
latex-papersize/latex-papersize.py
latex2man/latex2man
latex2nemeth/latex2nemeth
latexdiff/latexdiff-vc.pl
latexdiff/latexdiff.pl
latexdiff/latexrevise.pl
latexfileversion/latexfileversion
latexindent/latexindent.pl
latexmk/latexmk.pl
latexpand/latexpand
light-latex-make/llmk.lua
ltxfileinfo/ltxfileinfo
ltximg/ltximg.pl
luaotfload/luaotfload-tool.lua
lwarp/lwarpmk.lua
make4ht/make4ht
match_parens/match_parens
mf2pt1/mf2pt1.pl
mkjobtexmf/mkjobtexmf.pl
pdfbook2/pdfbook2
pdfcrop/pdfcrop.pl
pdfjam/pdfjam
pdflatexpicscale/pdflatexpicscale.pl
pdftex-quiet/pdftex-quiet
pdfxup/pdfxup
pfarrei/a5toa4.tlu
pfarrei/pfarrei.tlu
pkfix-helper/pkfix-helper
pkfix/pkfix.pl
ps2eps/ps2eps.pl
purifyeps/purifyeps
pythontex/depythontex.py
pythontex/pythontex.py
simpdftex/simpdftex
spix/spix.py
srcredact/srcredact.pl
sty2dtx/sty2dtx.pl
tex4ebook/tex4ebook
tex4ht/ht.sh
tex4ht/htcontext.sh
tex4ht/htlatex.sh
tex4ht/htmex.sh
tex4ht/httex.sh
tex4ht/httexi.sh
tex4ht/htxelatex.sh
tex4ht/htxetex.sh
tex4ht/mk4ht.pl
tex4ht/xhlatex.sh
texcount/texcount.pl
texdef/texdef.pl
texdiff/texdiff
texdirflatten/texdirflatten
texdoc/texdoc.tlu
texdoctk/texdoctk.pl
texfot/texfot.pl
texlive-extra/allcm.sh
texlive-extra/allneeded.sh
texlive-extra/dvi2fax.sh
texlive-extra/dvired.sh
texlive-extra/e2pall.pl
texlive-extra/fontinst.sh
texlive-extra/kpsetool.sh
texlive-extra/kpsewhere.sh
texlive-extra/ps2frag.sh
texlive-extra/pslatex.sh
texlive-extra/texconfig-dialog.sh
texlive-extra/texconfig-sys.sh
texlive-extra/texconfig.sh
texlive-extra/texlinks.sh
texlive/fmtutil-sys.sh
texlive/fmtutil-user.sh
texlive/fmtutil.pl
texlive/mktexmf
texlive/mktexpk
texlive/mktextfm
texlive/rungs.tlu
texlive/updmap-sys.sh
texlive/updmap-user.sh
texlive/updmap.pl
texliveonfly/texliveonfly.py
texloganalyser/texloganalyser
texplate/texplate.sh
thumbpdf/thumbpdf.pl
typeoutfileinfo/typeoutfileinfo.sh
xindex/xindex.lua
xindy/texindy.pl
xindy/xindy.pl
listings-ext/listings-ext.sh
"
install -m755 -d "${pkgdir}${MINGW_PREFIX}"/bin
for _script in ${_linked_scripts}; do
_scriptbase=$(basename $_script)
_scriptbase=${_scriptbase%.*}
install -D -m755 ${MINGW_PREFIX}/bin/runscript.exe "${pkgdir}${MINGW_PREFIX}/bin/${_scriptbase}.exe"
done
# now copy mktexlsr
install -D -m755 "${pkgdir}${MINGW_PREFIX}/share/texmf-dist/scripts/texlive/mktexlsr.pl" \
"${pkgdir}${MINGW_PREFIX}/bin/mktexlsr"
msg "Creating additional symlinks."
# additional installs links
install -D -m755 ${MINGW_PREFIX}/bin/runscript.exe "${pkgdir}${MINGW_PREFIX}/bin/allec.exe"
install -D -m755 ${MINGW_PREFIX}/bin/runscript.exe "${pkgdir}${MINGW_PREFIX}/bin/cllualatex.exe"
install -D -m755 ${MINGW_PREFIX}/bin/runscript.exe "${pkgdir}${MINGW_PREFIX}/bin/clxelatex.exe"
install -D -m755 ${MINGW_PREFIX}/bin/runscript.exe "${pkgdir}${MINGW_PREFIX}/bin/repstopdf.exe"
install -D -m755 ${MINGW_PREFIX}/bin/runscript.exe "${pkgdir}${MINGW_PREFIX}/bin/mktexfmt.exe"
install -D -m755 ${MINGW_PREFIX}/bin/runscript.exe "${pkgdir}${MINGW_PREFIX}/bin/kpsepath.exe"
install -D -m755 ${MINGW_PREFIX}/bin/runscript.exe "${pkgdir}${MINGW_PREFIX}/bin/kpsexpand.exe"
install -D -m755 ${MINGW_PREFIX}/bin/runscript.exe "${pkgdir}${MINGW_PREFIX}/bin/mkluatexfontdb.exe"
install -D -m755 ${MINGW_PREFIX}/bin/runscript.exe "${pkgdir}${MINGW_PREFIX}/bin/texhash.exe"
install -D -m755 ${MINGW_PREFIX}/bin/runscript.exe "${pkgdir}${MINGW_PREFIX}/bin/rpdfcrop.exe"
install -D -m755 ${MINGW_PREFIX}/bin/runscript.exe "${pkgdir}${MINGW_PREFIX}/bin/latexdef.exe"
}

View File

@@ -0,0 +1,16 @@
[Trigger]
Type = Path
Operation = Install
Operation = Upgrade
Operation = Remove
Target = @MINGW_HOOK_TARGET_PREFIX@/bin/mktexlsr
Target = @MINGW_HOOK_TARGET_PREFIX@/etc/texmf/*
Target = @MINGW_HOOK_TARGET_PREFIX@/share/texmf/*
Target = @MINGW_HOOK_TARGET_PREFIX@/share/texmf-dist/*
Target = @MINGW_HOOK_TARGET_PREFIX@/var/lib/texmf/*
[Action]
Description = Updating TeXLive filename database...
When = PostTransaction
Depends = @MINGW_PACKAGE_PREFIX@-texlive-bin
Exec = /usr/share/libalpm/scripts/@MINGW_PACKAGE_PREFIX@-mktexlsr.script

View File

@@ -0,0 +1,16 @@
#!/usr/bin/bash
export PATH=@MINGW_PREFIX@/bin:$PATH
echo ">>> Running mktexlsr"
@MINGW_PREFIX@/bin/mktexlsr
echo ">>> Running mtxrun"
cd @MINGW_PREFIX@/etc/texmf
@MINGW_PREFIX@/bin/mtxrun --generate >/dev/null
cd -
# We need to remove directory "." from luatex cache to avoid absurd
# behaviour.
for item in @MINGW_PREFIX@/var/lib/texmf/luatex-cache/context/*/trees/*.lua; do
if grep -F '["root"]="."' "$item" >/dev/null; then
rm -f "$item" "${item%.lua}.luc"
fi
done

View File

@@ -0,0 +1,29 @@
MINGW_INSTALL=mingw32
post_install() {
cd ${MINGW_INSTALL}
local _prefix=$(cygpath -m "$(pwd)")
cd -
#fix 'texmf.cnf'
sed -e "s|/${MINGW_INSTALL}|${_prefix}|g" \
-i ${_prefix}/etc/texmf/web2c/texmf.cnf
sed -e "s|/${MINGW_INSTALL}|${_prefix}|g" \
-i ${_prefix}/share/texmf-dist/web2c/texmf.cnf
# fix'texmfcnf.lua'
sed -e "s|/${MINGW_INSTALL}|${_prefix}|g" \
-i ${_prefix}/share/texmf-dist/web2c/texmfcnf.lua
# fix 09-texlive-fonts.conf
sed -e "s|/${MINGW_INSTALL}|${_prefix}|g" \
-i ${_prefix}/share/fontconfig/conf.avail/09-texlive-fonts.conf
echo ">>> updmap custom entries should go into /$_prefix/etc/texmf/web2c/updmap-local.cfg"
echo ">>> fmtutil custom entries should go into /$_prefix/etc/texmf/web2c/fmtutil-local.cnf"
#echo "NB: To setup ConTeXt and the lua(la)tex font db,"
#echo " see http://wiki.archlinux.org/index.php/TeX_Live"
}
post_upgrade() {
post_install
}

View File

@@ -0,0 +1,29 @@
MINGW_INSTALL=mingw64
post_install() {
cd ${MINGW_INSTALL}
local _prefix=$(cygpath -m "$(pwd)")
cd -
#fix 'texmf.cnf'
sed -e "s|/${MINGW_INSTALL}|${_prefix}|g" \
-i ${_prefix}/etc/texmf/web2c/texmf.cnf
sed -e "s|/${MINGW_INSTALL}|${_prefix}|g" \
-i ${_prefix}/share/texmf-dist/web2c/texmf.cnf
# fix'texmfcnf.lua'
sed -e "s|/${MINGW_INSTALL}|${_prefix}|g" \
-i ${_prefix}/share/texmf-dist/web2c/texmfcnf.lua
# fix 09-texlive-fonts.conf
sed -e "s|/${MINGW_INSTALL}|${_prefix}|g" \
-i ${_prefix}/share/fontconfig/conf.avail/09-texlive-fonts.conf
echo ">>> updmap custom entries should go into /$_prefix/etc/texmf/web2c/updmap-local.cfg"
echo ">>> fmtutil custom entries should go into /$_prefix/etc/texmf/web2c/fmtutil-local.cnf"
#echo "NB: To setup ConTeXt and the lua(la)tex font db,"
#echo " see http://wiki.archlinux.org/index.php/TeX_Live"
}
post_upgrade() {
post_install
}

View File

@@ -0,0 +1,29 @@
MINGW_INSTALL=ucrt64
post_install() {
cd ${MINGW_INSTALL}
local _prefix=$(cygpath -m "$(pwd)")
cd -
#fix 'texmf.cnf'
sed -e "s|/${MINGW_INSTALL}|${_prefix}|g" \
-i ${_prefix}/etc/texmf/web2c/texmf.cnf
sed -e "s|/${MINGW_INSTALL}|${_prefix}|g" \
-i ${_prefix}/share/texmf-dist/web2c/texmf.cnf
# fix'texmfcnf.lua'
sed -e "s|/${MINGW_INSTALL}|${_prefix}|g" \
-i ${_prefix}/share/texmf-dist/web2c/texmfcnf.lua
# fix 09-texlive-fonts.conf
sed -e "s|/${MINGW_INSTALL}|${_prefix}|g" \
-i ${_prefix}/share/fontconfig/conf.avail/09-texlive-fonts.conf
echo ">>> updmap custom entries should go into /$_prefix/etc/texmf/web2c/updmap-local.cfg"
echo ">>> fmtutil custom entries should go into /$_prefix/etc/texmf/web2c/fmtutil-local.cnf"
#echo "NB: To setup ConTeXt and the lua(la)tex font db,"
#echo " see http://wiki.archlinux.org/index.php/TeX_Live"
}
post_upgrade() {
post_install
}

View File

@@ -0,0 +1,18 @@
[Trigger]
Type = Package
Operation = Install
Operation = Upgrade
Target = texlive-bin
[Trigger]
Type = File
Operation = Install
Operation = Upgrade
Operation = Remove
Target = @MINGW_HOOK_TARGET_PREFIX@/var/lib/texmf/msys2/installedpkgs/*.fmts
[Action]
Description = Updating TeXLive format files...
When = PostTransaction
Depends = @MINGW_PACKAGE_PREFIX@-texlive-bin
Exec = /usr/share/libalpm/scripts/@MINGW_PACKAGE_PREFIX@-texlive-fmtutil.script

View File

@@ -0,0 +1,54 @@
#!/usr/bin/bash
export PATH=@MINGW_PREFIX@/bin:$PATH
FMTUTIL="@MINGW_HOOK_TARGET_PREFIX@/etc/texmf/web2c/fmtutil.cnf"
FMTUTILLOCAL="@MINGW_HOOK_TARGET_PREFIX@/etc/texmf/web2c/fmtutil-local.cnf"
LANGUAGE_DEF="@MINGW_HOOK_TARGET_PREFIX@/etc/texmf/tex/generic/config/language.def"
LANGUAGE_DAT="@MINGW_HOOK_TARGET_PREFIX@/etc/texmf/tex/generic/config/language.dat"
LANGUAGE_DAT_LUA="@MINGW_HOOK_TARGET_PREFIX@/etc/texmf/tex/generic/config/language.dat.lua"
cp @MINGW_HOOK_TARGET_PREFIX@/share/texmf-dist/web2c/fmtutil-hdr.cnf $FMTUTIL
for file in @MINGW_HOOK_TARGET_PREFIX@/var/lib/texmf/msys2/installedpkgs/*.fmts; do
echo >> $FMTUTIL
echo "# $file" >> $FMTUTIL
cat $file >> $FMTUTIL
done
if [[ -f "$FMTUTILLOCAL" ]]; then
echo >> $FMTUTIL
echo "# $FMTUTILLOCAL" >> $FMTUTIL
cat "$FMTUTILLOCAL" >> $FMTUTIL
fi
cp @MINGW_HOOK_TARGET_PREFIX@/etc/texmf/tex/generic/config/language.us.def $LANGUAGE_DEF
for file in @MINGW_HOOK_TARGET_PREFIX@/var/lib/texmf/msys2/installedpkgs/*.def; do
echo >> $LANGUAGE_DEF
echo "% $file" >> $LANGUAGE_DEF
cat $file >> $LANGUAGE_DEF
done
echo -e "%%% No changes may be made beyond this point.\n" >> $LANGUAGE_DEF
echo "\uselanguage {USenglish} %%% This MUST be the last line of the file." >> $LANGUAGE_DEF
echo >> $LANGUAGE_DEF # new line
cp @MINGW_HOOK_TARGET_PREFIX@/etc/texmf/tex/generic/config/language.us $LANGUAGE_DAT
for file in @MINGW_HOOK_TARGET_PREFIX@/var/lib/texmf/msys2/installedpkgs/*.dat; do
echo >> $LANGUAGE_DAT
echo "% $file" >> $LANGUAGE_DAT
cat $file >> $LANGUAGE_DAT
done
echo >> $LANGUAGE_DAT # new line
cp @MINGW_HOOK_TARGET_PREFIX@/etc/texmf/tex/generic/config/language.us.lua $LANGUAGE_DAT_LUA
for file in @MINGW_HOOK_TARGET_PREFIX@/var/lib/texmf/msys2/installedpkgs/*.dat.lua; do
echo >> $LANGUAGE_DAT_LUA
echo "-- $file" >> $LANGUAGE_DAT_LUA
cat $file >> $LANGUAGE_DAT_LUA
done
echo '}' >> $LANGUAGE_DAT_LUA
echo >> $LANGUAGE_DAT_LUA # new line
# remove mflua-nowin it fails
sed -i 's/mflua mflua-nowin - mf.ini//' $FMTUTIL
# Run mktexlsr since /etc/texmf/tex/generic/config/language.* can be a new files
@MINGW_PREFIX@/bin/mktexlsr
@MINGW_PREFIX@/bin/fmtutil-sys --all --cnffile $FMTUTIL > /dev/null

View File

@@ -0,0 +1,13 @@
[Trigger]
Type = Path
Operation = Install
Operation = Upgrade
Operation = Remove
Target = @MINGW_HOOK_TARGET_PREFIX@/bin/tex
Target = @MINGW_HOOK_TARGET_PREFIX@/var/lib/texmf/msys2/installedpkgs/*.maps
[Action]
Description = Updating TeXLive font maps...
When = PostTransaction
Depends = @MINGW_PACKAGE_PREFIX@-texlive-bin
Exec = /usr/share/libalpm/scripts/@MINGW_PACKAGE_PREFIX@-texlive-updmap.script

View File

@@ -0,0 +1,14 @@
#!/usr/bin/bash
export PATH=@MINGW_PREFIX@/bin:$PATH
UPDMAP="@MINGW_HOOK_TARGET_PREFIX@/etc/texmf/web2c/updmap.cfg"
UPDMAPLOCAL="@MINGW_HOOK_TARGET_PREFIX@/etc/texmf/web2c/updmap-local.cfg"
cp @MINGW_HOOK_TARGET_PREFIX@/share/texmf-dist/web2c/updmap-hdr.cfg $UPDMAP
cat @MINGW_HOOK_TARGET_PREFIX@/var/lib/texmf/msys2/installedpkgs/*.maps >> $UPDMAP
if [[ -f "$UPDMAPLOCAL" ]]; then
cat "$UPDMAPLOCAL" >> $UPDMAP
fi
# Run mktexlsr since /etc/texmf/web2c/updmap.cfg can be a new file
@MINGW_PREFIX@/bin/mktexlsr
@MINGW_PREFIX@/bin/updmap-sys --quiet --nohash

View File

@@ -0,0 +1,908 @@
% texmf.cnf for TeXLive/MSYS2 MINGW -- runtime path configuration file for kpathsea.
% Public domain.
%
% If you modify this original file, YOUR CHANGES WILL BE LOST when it is
% updated. Instead, put your changes -- and only your changes, not an
% entire copy! -- in ../../texmf.cnf. That is, if this file is
% installed in /some/path/to/texlive/2021/texmf-dist/web2c/texmf.cnf,
% put your custom settings in /some/path/to/texlive/2021/texmf.cnf.
% (Below, we use YYYY in place of the specific year.)
%
% What follows is a super-summary of what this .cnf file can
% contain. Please read the Kpathsea manual for more information.
%
% Each statement in this file boils down to:
% <variable>[.<program>] [=] <value>
%
% Neither the <variable> nor the <value> may be empty.
% Any identifier (sticking to A-Za-z_ for names is safest) can be assigned.
% The `=' (and surrounding spaces) is optional.
% $foo (or ${foo}) in a value expands to the envvar or cnf value of foo.
% Lines can be continued with a \; no whitespace removal is done.
%
% Earlier entries (in the same or another file) override later ones, and
% an environment variable foo overrides any texmf.cnf definition of foo.
%
% All definitions are read before anything is expanded, so you can use
% variables before they are defined.
%
% If a variable assignment is qualified with `.PROGRAM', it is ignored
% unless the current executable (last filename component of argv[0]) is
% named PROGRAM. This foo.PROGRAM construct is not recognized on the
% right-hand side. For environment variables, use FOO_PROGRAM.
%
% Which file formats use which paths for searches is described in the
% various programs' and the Kpathsea documentation (http://tug.org/kpathsea).
%
% // means to search subdirectories (recursively).
% A leading !! means to look only in the ls-R db, never on the disk.
% In this file, either ; or : can be used to separate path components.
% A leading/trailing/doubled path separator in the paths will be
% expanded into the compile-time default. Probably not what you want.
%
% Brace notation is supported, for example: /usr/local/{mytex,othertex}
% expands to /usr/local/mytex:/usr/local/othertex.
% Part 1: Search paths and directories.
% This is the parent directory of our several trees, i.e.,
% /usr/local/texlive/YYYY in the original TeX Live distribution.
%
% The path definitions here assume the directories are organized
% according to the TeX Directory Structure (http://tug.org/tds).
%
% Redistributors will probably want $SELFAUTODIR/share, i.e., /usr/share.
% Kpathsea sets (in kpathsea/progname.c):
% SELFAUTOLOC (directory of the binary=/usr/local/texlive/YYYY/bin/i386-linux),
% SELFAUTODIR (its parent = /usr/local/texlive/YYYY/bin),
% SELFAUTOPARENT (its grandparent = /usr/local/texlive/YYYY), and
% SELFAUTOGRANDPARENT (its great-grandparent = /usr/local/texlive).
% Sorry for the off-by-one-generation names.
TEXMFROOT = @MINGW_PREFIX@/share
% The main tree of distributed packages and programs:
TEXMFDIST = $TEXMFROOT/texmf-dist
% We used to have a separate /texmf tree with some core programs and files.
% Keep the variable name.
TEXMFMAIN = $TEXMFDIST
% Local additions to the distribution trees.
TEXMFLOCAL = @MINGW_PREFIX@/local/share/texmf;@MINGW_PREFIX@/share/texmf
% TEXMFSYSVAR, where *-sys store cached runtime data.
TEXMFSYSVAR = @MINGW_PREFIX@/var/lib/texmf
% TEXMFSYSCONFIG, where *-sys store configuration data.
TEXMFSYSCONFIG = @MINGW_PREFIX@/etc/texmf
% Per-user texmf tree(s) -- organized per the TDS, as usual. To define
% more than one per-user tree, set this to a list of directories in
% braces, as described above. (This used to be HOMETEXMF.) ~ expands
% to %USERPROFILE% on Windows, $HOME otherwise.
TEXMFHOME = ~/texmf
% TEXMFVAR, where texconfig/updmap/fmtutil store cached runtime data.
TEXMFVAR = ~/.texlive/texmf-var
% TEXMFCONFIG, where texconfig/updmap/fmtutil store configuration data.
TEXMFCONFIG = ~/.texlive/texmf-config
% This is the value manipulated by tlmgr's auxtrees subcommand in the
% root texmf.cnf. Kpathsea warns about a literally empty string for a
% value, hence the empty braces.
TEXMFAUXTREES = {}
% List all the texmf trees. For an explanation of what they are, see the
% TeX Live manual.
%
% For texconfig to work properly, TEXMFCONFIG and TEXMFVAR should be named
% explicitly and before other trees.
%
% TEXMFLOCAL precedes TEXMFDIST because locally-installed versions
% should take precedence over distribution files -- although it is
% generally a source of confusion to have different versions of a
% package installed, whatever the trees, so try to avoid it.
%
% The odd-looking $TEXMFAUXTREES$TEXMF... construct is so that if no auxtree is
% ever defined (the 99% common case), no extra elements will be added to
% the search paths. tlmgr takes care to end any value with a trailing comma.
TEXMF = {$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFLOCAL,!!$TEXMFDIST}
% Where to look for, and where mktexlsr creates, ls-R files. By default,
% this is all and only the !! elements of TEXMF, so that mktexlsr does not
% create ls-R files in the non-!! elements -- because if an ls-R is
% present, it will be used, and the disk will not (usually) be searched,
% regardless of !!. Although in principle a directory listed here need
% not contain an ls-R file, in practice they all should.
TEXMFDBS = {!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST}
% The system trees. These are the trees that are shared by all users.
% If a tree appears in this list, the mktex* scripts will use
% VARTEXFONTS for generated files, if the original tree isn't writable;
% otherwise the current working directory is used.
SYSTEXMF = $TEXMFSYSVAR;$TEXMFLOCAL;$TEXMFDIST
% First writable tree here is used by Lua(La)TeX for the font cache.
% LuaLaTeX uses the value here, while ConTeXt uses the same variable but
% from texmfcnf.lua; therefore the two values should be kept in sync.
% (As should everything else in texmf.cnf <-> texmfcnf.lua.)
TEXMFCACHE = $TEXMFSYSVAR;$TEXMFVAR
% Where generated fonts may be written. This tree is used when the sources
% were found in a system tree and either that tree wasn't writable, or the
% varfonts feature was enabled in MT_FEATURES in mktex.cnf.
VARTEXFONTS = $TEXMFVAR/fonts
% On some systems, there will be a system tree which contains all the font
% files that may be created as well as the formats. For example
% TEXMFVAR = /var/lib/texmf
% is used in many distros. In this case, set VARTEXFONTS like this
%VARTEXFONTS = $TEXMFVAR/fonts
% and do not mention it in TEXMFDBS (but _do_ mention TEXMFVAR).
%
% Remove $VARTEXFONTS from TEXMFDBS if the VARTEXFONTS directory is below
% one of the TEXMF directories (avoids overlapping ls-R files).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Usually you will not need to edit any of the following variables.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% WEB2C is for Web2C specific files. The current directory may not be
% a good place to look for them.
WEB2C = $TEXMF/web2c
% This variable exists only to be redefined; it is used in nearly all
% search paths. If a document has source files not only in the current
% directory but also in subdirectories, it is convenient to set
% TEXMFDOTDIR=.// so that everything will be searched automatically.
% On the other hand, if you never want the current directory to be
% searched at all, setting TEXMFDOTDIR=/nonesuch should come close.
%
TEXMFDOTDIR = .
% TEXINPUTS is for TeX input files -- i.e., anything to be found by \input
% or \openin, including .sty, .eps, etc. We specify paths for all known
% formats, past or present. Not all of them are built these days.
% Plain TeX. Have the command tex check all directories as a last
% resort, we may have plain-compatible stuff anywhere. Prefer
% latex/ to latex-dev/, implying that we have to add a latex, element to
% every TEXINPUTS tree that recursively searches $TEXMF/tex//, which is
% all of them except ConTeXt.
TEXINPUTS.tex = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,latex,}//
% Fontinst needs to read afm files.
TEXINPUTS.fontinst = $TEXMFDOTDIR;$TEXMF/{tex,fonts/afm}//
% Other plain-based formats.
TEXINPUTS.amstex = $TEXMFDOTDIR;$TEXMF/tex/{amstex,plain,generic,latex,}//
TEXINPUTS.csplain = $TEXMFDOTDIR;$TEXMF/tex/{csplain,plain,generic,latex,}//
TEXINPUTS.eplain = $TEXMFDOTDIR;$TEXMF/tex/{eplain,plain,generic,latex,}//
TEXINPUTS.ftex = $TEXMFDOTDIR;$TEXMF/tex/{formate,plain,generic,latex,}//
TEXINPUTS.mex = $TEXMFDOTDIR;$TEXMF/tex/{mex,plain,generic,latex,}//
TEXINPUTS.texinfo = $TEXMFDOTDIR;$TEXMF/tex/{texinfo,plain,generic,latex,}//
% LaTeX2e specific macros are stored in latex/, macros that can only be
% used with 2.09 in latex209/. In addition, we look in the directory
% latex209, useful for macros that were written for 2.09 and do not
% mention 2e at all, but can be used with 2e. The latex-dev/ subtree
% may contain release candidates for testing.
TEXINPUTS.cslatex = $TEXMFDOTDIR;$TEXMF/tex/{cslatex,csplain,latex,generic,}//
TEXINPUTS.latex = $TEXMFDOTDIR;$TEXMF/tex/{latex,generic,}//
TEXINPUTS.latex-dev = $TEXMFDOTDIR;$TEXMF/tex/{latex-dev,latex,generic,}//
TEXINPUTS.latex209 = $TEXMFDOTDIR;$TEXMF/tex/{latex209,generic,latex,}//
TEXINPUTS.olatex = $TEXMFDOTDIR;$TEXMF/tex/{latex,generic,}//
% MLTeX.
TEXINPUTS.frlatex = $TEXMFDOTDIR;$TEXMF/tex/{french,latex,generic,}//
TEXINPUTS.frtex = $TEXMFDOTDIR;$TEXMF/tex/{french,plain,generic,latex,}//
TEXINPUTS.mllatex = $TEXMFDOTDIR;$TEXMF/tex/{latex,generic,}//
TEXINPUTS.mltex = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,latex,}//
% e-TeX.
TEXINPUTS.elatex = $TEXMFDOTDIR;$TEXMF/tex/{latex,generic,}//
TEXINPUTS.etex = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,latex,}//
% pdfTeX.
TEXINPUTS.pdfcslatex = $TEXMFDOTDIR;$TEXMF/tex/{cslatex,csplain,latex,generic,}//
TEXINPUTS.pdfcsplain = $TEXMFDOTDIR;$TEXMF/tex/{csplain,plain,generic,latex,}//
TEXINPUTS.pdflatex = $TEXMFDOTDIR;$TEXMF/tex/{latex,generic,}//
TEXINPUTS.pdflatex-dev = $TEXMFDOTDIR;$TEXMF/tex/{latex-dev,latex,generic,}//
TEXINPUTS.pdfmex = $TEXMFDOTDIR;$TEXMF/tex/{mex,plain,generic,latex,}//
TEXINPUTS.utf8mex = $TEXMFDOTDIR;$TEXMF/tex/{mex,plain,generic,latex,}//
TEXINPUTS.pdftex = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,latex,}//
TEXINPUTS.pdftexinfo = $TEXMFDOTDIR;$TEXMF/tex/{texinfo,plain,generic,latex,}//
TEXINPUTS.pdfamstex = $TEXMFDOTDIR;$TEXMF/tex/{amstex,plain,generic,latex,}//
% pdfeTeX.
TEXINPUTS.pdfelatex = $TEXMFDOTDIR;$TEXMF/tex/{latex,generic,}//
TEXINPUTS.pdfetex = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,latex,}//
% LuaTeX.
TEXINPUTS.luatex = $TEXMFDOTDIR;$TEXMF/tex/{luatex,plain,generic,latex,}//
TEXINPUTS.luajittex = $TEXMFDOTDIR;$TEXMF/tex/{luatex,plain,generic,latex,}//
TEXINPUTS.luahbtex = $TEXMFDOTDIR;$TEXMF/tex/{luatex,plain,generic,latex,}//
TEXINPUTS.luajithbtex = $TEXMFDOTDIR;$TEXMF/tex/{luatex,plain,generic,latex,}//
TEXINPUTS.dviluatex = $TEXMFDOTDIR;$TEXMF/tex/{luatex,plain,generic,latex,}//
TEXINPUTS.lualatex = $TEXMFDOTDIR;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
TEXINPUTS.lualatex-dev = $TEXMFDOTDIR;$TEXMF/tex/{latex-dev,lualatex,latex,luatex,generic,}//
TEXINPUTS.luajitlatex = $TEXMFDOTDIR;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
TEXINPUTS.luahblatex = $TEXMFDOTDIR;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
TEXINPUTS.luahblatex-dev = $TEXMFDOTDIR;$TEXMF/tex/{latex-dev,lualatex,latex,luatex,generic,}//
TEXINPUTS.luajithblatex = $TEXMFDOTDIR;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
TEXINPUTS.dvilualatex = $TEXMFDOTDIR;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
TEXINPUTS.dvilualatex-dev = $TEXMFDOTDIR;$TEXMF/tex/{latex-dev,lualatex,latex,luatex,generic,}//
% HarfTeX.
TEXINPUTS.harftex = $TEXMFDOTDIR;$TEXMF/tex/{harftex,luatex,plain,generic,latex,}//
TEXINPUTS.harflatex = $TEXMFDOTDIR;$TEXMF/tex/{harflatex,harftex,lualatex,latex,luatex,generic,}//
TEXINPUTS.harflatex-dev = $TEXMFDOTDIR;$TEXMF/tex/{latex-dev,harflatex,harftex,lualatex,latex,luatex,generic,}//
% XeTeX.
TEXINPUTS.xelatex = $TEXMFDOTDIR;$TEXMF/tex/{xelatex,latex,xetex,generic,}//
TEXINPUTS.xelatex-dev = $TEXMFDOTDIR;$TEXMF/tex/{latex-dev,xelatex,latex,xetex,generic,}//
TEXINPUTS.xeplain = $TEXMFDOTDIR;$TEXMF/tex/{xeplain,eplain,plain,xetex,generic,latex,}//
TEXINPUTS.xetex = $TEXMFDOTDIR;$TEXMF/tex/{xetex,plain,generic,latex,}//
% Omega / Aleph.
TEXINPUTS.aleph = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,latex,}//
TEXINPUTS.elambda = $TEXMFDOTDIR;$TEXMF/tex/{lambda,latex,generic,}//
TEXINPUTS.eomega = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,latex,}//
TEXINPUTS.lambda = $TEXMFDOTDIR;$TEXMF/tex/{lambda,latex,generic,}//
TEXINPUTS.lamed = $TEXMFDOTDIR;$TEXMF/tex/{lambda,latex,generic,}//
TEXINPUTS.omega = $TEXMFDOTDIR;$TEXMF/tex/{plain,generic,latex,}//
% p(La)TeX.
TEXINPUTS.ptex = $TEXMFDOTDIR;$TEXMF/tex/{ptex,plain,generic,latex,}//
TEXINPUTS.platex = $TEXMFDOTDIR;$TEXMF/tex/{platex,latex,generic,}//
TEXINPUTS.platex-dev = $TEXMFDOTDIR;$TEXMF/tex/{latex-dev,platex,latex,generic,}//
% epTeX, and use that engine for pmpost.
TEXINPUTS.eptex = $TEXMFDOTDIR;$TEXMF/tex/{ptex,plain,generic,latex,}//
TEX.pmpost = eptex
% p(La)TeX-ng
TEXINPUTS.ptex-ng = $TEXMFDOTDIR;$TEXMF/tex/{uptex,ptex,plain,generic,latex,}//
TEXINPUTS.platex-ng = $TEXMFDOTDIR;$TEXMF/tex/{uplatex,platex,latex,generic,}//
% (e)up(La)TeX, and for upmpost
TEXINPUTS.uplatex = $TEXMFDOTDIR;$TEXMF/tex/{uplatex,platex,latex,generic,}//
TEXINPUTS.uplatex-dev = $TEXMFDOTDIR;$TEXMF/tex/{latex-dev,uplatex,platex,latex,generic,}//
TEXINPUTS.uptex = $TEXMFDOTDIR;$TEXMF/tex/{uptex,ptex,plain,generic,latex,}//
TEXINPUTS.euptex = $TEXMFDOTDIR;$TEXMF/tex/{uptex,ptex,plain,generic,latex,}//
TEX.upmpost = euptex
% pBibTeX bibliographies and style files.
BIBINPUTS.pbibtex = $TEXMFDOTDIR;$TEXMF/{pbibtex,bibtex}/bib//
BSTINPUTS.pbibtex = $TEXMFDOTDIR;$TEXMF/{pbibtex,bibtex}/bst//
% upBibTeX bibliographies and style files.
BIBINPUTS.upbibtex = $TEXMFDOTDIR;$TEXMF/{upbibtex,pbibtex,bibtex}/bib//
BSTINPUTS.upbibtex = $TEXMFDOTDIR;$TEXMF/{upbibtex,pbibtex,bibtex}/bst//
% ConTeXt.
TEXINPUTS.context = $TEXMFDOTDIR;$TEXMF/tex/{context,plain,generic,}//
% jadetex.
TEXINPUTS.jadetex = $TEXMFDOTDIR;$TEXMF/tex/{jadetex,latex,generic,latex,}//
TEXINPUTS.pdfjadetex = $TEXMFDOTDIR;$TEXMF/tex/{jadetex,latex,generic,latex,}//
% XMLTeX.
TEXINPUTS.xmltex = $TEXMFDOTDIR;$TEXMF/tex/{xmltex,latex,generic,}//
TEXINPUTS.pdfxmltex = $TEXMFDOTDIR;$TEXMF/tex/{xmltex,latex,generic,}//
% Miscellany, no longer built.
TEXINPUTS.lamstex = $TEXMFDOTDIR;$TEXMF/tex/{lamstex,plain,generic,latex,}//
TEXINPUTS.lollipop = $TEXMFDOTDIR;$TEXMF/tex/{lollipop,plain,generic,latex,}//
TEXINPUTS.frpdflatex = $TEXMFDOTDIR;$TEXMF/tex/{french,latex,generic,}//
TEXINPUTS.frpdftex = $TEXMFDOTDIR;$TEXMF/tex/{french,plain,generic,latex,}//
% Earlier entries override later ones, so put this generic one last.
TEXINPUTS = $TEXMFDOTDIR;$TEXMF/tex/{$progname,generic,latex,}//
% ttf2tfm.
TTF2TFMINPUTS = $TEXMFDOTDIR;$TEXMF/ttf2pk//
% Metafont, MetaPost inputs.
MFINPUTS = $TEXMFDOTDIR;$TEXMF/metafont//;{$TEXMF/fonts,$VARTEXFONTS}/source//
MPINPUTS = $TEXMFDOTDIR;$TEXMF/metapost//
% Dump files (fmt/base/mem) for vir{tex,mf,mp} to read.
% We want to find the engine-specific file, e.g., cont-en.fmt can
% exist under both pdftex/ and xetex/. But just in case some formats
% end up without an engine directory, look directly in web2c/ too.
% We repeat the same definition three times because of the way fmtutil
% is implemented; if we use ${TEXFORMATS}, the mpost/mf/etc. formats
% will not be found.
TEXFORMATS = $TEXMFDOTDIR;$TEXMF/web2c{/$engine,}
MFBASES = $TEXMFDOTDIR;$TEXMF/web2c{/$engine,}
MPMEMS = $TEXMFDOTDIR;$TEXMF/web2c{/$engine,}
%
% As of 2008, pool files don't exist any more (the strings are compiled
% into the binaries), but just in case something expects to find these:
TEXPOOL = $TEXMFDOTDIR;$TEXMF/web2c
MFPOOL = ${TEXPOOL}
MPPOOL = ${TEXPOOL}
% support the original xdvi. Must come before the generic settings.
PKFONTS.XDvi = $TEXMFDOTDIR;$TEXMF/%s;$VARTEXFONTS/pk/{%m,modeless}//
VFFONTS.XDvi = $TEXMFDOTDIR;$TEXMF/%s
PSHEADERS.XDvi = $TEXMFDOTDIR;$TEXMF/%q{dvips,fonts/type1}//
TEXPICTS.XDvi = $TEXMFDOTDIR;$TEXMF/%q{dvips,tex}//
% Device-independent font metric files.
VFFONTS = $TEXMFDOTDIR;$TEXMF/fonts/vf//
TFMFONTS = $TEXMFDOTDIR;{$TEXMF/fonts,$VARTEXFONTS}/tfm//
% The $MAKETEX_MODE below means the drivers will not use a cx font when
% the mode is ricoh. If no mode is explicitly specified, kpse_prog_init
% sets MAKETEX_MODE to /, so all subdirectories are searched. See the manual.
% The modeless part guarantees that bitmaps for PostScript fonts are found.
FONTS = $TEXMFDOTDIR;{$TEXMF/fonts,$VARTEXFONTS}/pk/{$MAKETEX_MODE,modeless}//
% Similarly for the GF format, which only remains in existence because
% Metafont outputs it (and MF isn't going to change).
GFFONTS = $TEXMFDOTDIR;$TEXMF/fonts/gf/$MAKETEX_MODE//
% A backup for PKFONTS and GFFONTS. Not used for anything.
GLYPHFONTS = $TEXMFDOTDIR;$TEXMF/fonts
% A place to puth everything that doesn't fit the other font categories.
MISCFONTS = $TEXMFDOTDIR;$TEXMF/fonts/misc//
% font name map files. This isn't just fonts/map// because ConTeXt
% wants support for having files with the same name in the different
% subdirs. Maybe if the programs ever get unified to accepting the same
% map file syntax the definition can be simplified again.
TEXFONTMAPS = $TEXMFDOTDIR;$TEXMF/fonts/map/{$progname,pdftex,dvips,}//
% BibTeX bibliographies and style files. bibtex8 also uses these.
BIBINPUTS = $TEXMFDOTDIR;$TEXMF/bibtex/bib//
BSTINPUTS = $TEXMFDOTDIR;$TEXMF/bibtex/{bst,csf}//
% MlBibTeX.
MLBIBINPUTS = $TEXMFDOTDIR;$TEXMF/bibtex/bib/{mlbib,}//
MLBSTINPUTS = $TEXMFDOTDIR;$TEXMF/bibtex/{mlbst,bst}//
% .ris and .bltxml bibliography formats.
RISINPUTS = $TEXMFDOTDIR;$TEXMF/biber/ris//
BLTXMLINPUTS = $TEXMFDOTDIR;$TEXMF/biber/bltxml//
% MFT style files.
MFTINPUTS = $TEXMFDOTDIR;$TEXMF/mft//
% PostScript headers and prologues (.pro); unfortunately, some programs
% also use this for acessing font files (enc, type1, truetype)
TEXPSHEADERS = $TEXMFDOTDIR;$TEXMF/{dvips,fonts/{enc,type1,type42,type3}}//
TEXPSHEADERS.gsftopk = $TEXMFDOTDIR;$TEXMF/{dvips,fonts/{enc,type1,type42,type3,truetype}}//
% OSFONTDIR is to provide a convenient hook for allowing TeX to find
% fonts installed on the system (outside of TeX). An empty default
% value would add "//" to the search paths, so we give it a dummy value.
% OSFONTDIR = /usr/share/fonts
OSFONTDIR = @MINGW_PREFIX@/share/fonts
% PostScript Type 1 outline fonts.
T1FONTS = $TEXMFDOTDIR;$TEXMF/fonts/type1//;$OSFONTDIR//
% PostScript AFM metric files.
AFMFONTS = $TEXMFDOTDIR;$TEXMF/fonts/afm//;$OSFONTDIR//
% TrueType outline fonts.
TTFONTS = $TEXMFDOTDIR;$TEXMF/fonts/{truetype,opentype}//;$OSFONTDIR//
% OpenType outline fonts.
OPENTYPEFONTS = $TEXMFDOTDIR;$TEXMF/fonts/{opentype,truetype}//;$OSFONTDIR//
% Type 42 outline fonts.
T42FONTS = $TEXMFDOTDIR;$TEXMF/fonts/type42//
% Ligature definition files.
LIGFONTS = $TEXMFDOTDIR;$TEXMF/fonts/lig//
% Dvips' config.* files (this name should not start with `TEX'!).
TEXCONFIG = $TEXMF/dvips//
% Makeindex style (.ist) files.
INDEXSTYLE = $TEXMFDOTDIR;$TEXMF/makeindex//
% mendex dictionary files. Used internally by mendex and upmendex.
% It is not necessary to introduce a new format in Kpathsea.
INDEXDICTIONARY = $TEXMFDOTDIR;$TEXMF/makeindex//
% Font encoding files (.enc).
ENCFONTS = $TEXMFDOTDIR;$TEXMF/fonts/enc//
% CMap files.
CMAPFONTS = $TEXMFDOTDIR;$TEXMF/fonts/cmap//
% Subfont definition files.
SFDFONTS = $TEXMFDOTDIR;$TEXMF/fonts/sfd//
% OpenType feature files (.fea).
FONTFEATURES=$TEXMFDOTDIR;$TEXMF/fonts/fea//
% .cid and .cidmap
FONTCIDMAPS=$TEXMFDOTDIR;$TEXMF/fonts/cid//
% pdftex config files:
PDFTEXCONFIG = $TEXMFDOTDIR;$TEXMF/pdftex/{$progname,}//
% Used by DMP (ditroff-to-mpx), called by makempx -troff.
TRFONTS = @MINGW_PREFIX@/share/groff/{current/font,site-font}/devps
MPSUPPORT = $TEXMFDOTDIR;$TEXMF/metapost/support
% For xdvi to find mime.types and .mailcap, if they do not exist in
% ~. These are single directories, not paths.
% (But the default mime.types, at least, may well suffice.)
MIMELIBDIR = @MINGW_PREFIX@/etc
MAILCAPLIBDIR = @MINGW_PREFIX@/etc
% Default settings for the fontconfig library as used by the Windows
% versions of xetex/xdvipdfmx. Not used by xetex on Unixish systems.
% ConTeXT MkIV (all platforms) also use these values.
%
FONTCONFIG_FILE = fonts.conf
FONTCONFIG_PATH = $TEXMFSYSVAR/fonts/conf
FC_CACHEDIR = $TEXMFSYSVAR/fonts/cache
% TeX documentation and source files, for use with texdoc and kpsewhich.
TEXDOCS = $TEXMF/doc//
TEXSOURCES = $TEXMFDOTDIR;$TEXMF/source//
% Top-level directory for any string translations for the binaries, in
% the same structure as the usual system locale/ directories. This is a
% single directory, not a path.
TEXMFLOCALEDIR = $TEXMFMAIN/locale
% Web and CWeb input paths.
WEBINPUTS = $TEXMFDOTDIR;$TEXMF/web//
CWEBINPUTS = $TEXMFDOTDIR;$TEXMF/cweb//
% Omega-related fonts and other files.
OFMFONTS = $TEXMFDOTDIR;{$TEXMF/fonts,$VARTEXFONTS}/{ofm,tfm}//
OPLFONTS = $TEXMFDOTDIR;{$TEXMF/fonts,$VARTEXFONTS}/opl//
OVFFONTS = $TEXMFDOTDIR;{$TEXMF/fonts,$VARTEXFONTS}/{ovf,vf}//
OVPFONTS = $TEXMFDOTDIR;{$TEXMF/fonts,$VARTEXFONTS}/ovp//
OTPINPUTS = $TEXMFDOTDIR;$TEXMF/omega/otp//
OCPINPUTS = $TEXMFDOTDIR;$TEXMF/omega/ocp//
% Some additional input variables for several programs. If you add
% a program that uses the `other text files' or `other binary files'
% search formats, you'll want to add their variables here as well.
T4HTINPUTS = $TEXMFDOTDIR;$TEXMF/tex4ht//
%% t4ht utility, sharing files with TeX4ht
TEX4HTFONTSET=alias,iso8859,unicode
TEX4HTINPUTS = $TEXMFDOTDIR;$TEXMF/tex4ht/base//;$TEXMF/tex4ht/ht-fonts/{$TEX4HTFONTSET}//
% TeXworks editor configuration and settings
TW_LIBPATH = $TEXMFCONFIG/texworks
TW_INIPATH = $TW_LIBPATH
% For security, do not look in . for dvipdfmx.cfg, since the D option
% would allow command execution.
DVIPDFMXINPUTS = $TEXMF/dvipdfmx
% Lua needs to look in TEXINPUTS for lua scripts distributed with packages.
%
% But we can't simply use $TEXINPUTS, since then if TEXINPUTS is set in
% the environment with a colon, say, TEXINPUTS=/some/dir:, the intended
% default expansion of TEXINPUTS will not happen and .lua files under
% the /tex/ tree will not be found.
%
% So, duplicate the TEXINPUTS.*lualatex values as LUAINPUTS.*lualatex.
% The default LUAINPUTS suffices for luatex and dviluatex.
%
LUAINPUTS.lualatex = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
LUAINPUTS.lualatex-dev = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{latex-dev,lualatex,latex,luatex,generic,}//
%
LUAINPUTS.luahblatex = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{luahblatex,luahbtex,lualatex,latex,luatex,generic,}//
LUAINPUTS.luahblatex-dev = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{latex-dev,luahblatex,luahbtex,lualatex,latex,luatex,generic,}//
%
LUAINPUTS.dvilualatex = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
LUAINPUTS.dvilualatex-dev = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{latex-dev,lualatex,latex,luatex,generic,}//
%
LUAINPUTS.harflatex = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{harflatex,harftex,lualatex,latex,luatex,generic,}//
LUAINPUTS.harflatex-dev = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{latex-dev,harflatex,harftex,lualatex,latex,luatex,generic,}//
%
LUAINPUTS = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{luatex,plain,generic,latex,}//
% Lua needs to look for binary lua libraries distributed with packages.
CLUAINPUTS = $TEXMFDOTDIR;@MINGW_PREFIX@/lib/{$progname,$engine,}/lua//
% Architecture independent executables.
TEXMFSCRIPTS = $TEXMF/scripts/{$progname,$engine,}//
% Other languages.
JAVAINPUTS = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/java//
PERLINPUTS = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/perl//
PYTHONINPUTS = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/python//
RUBYINPUTS = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/ruby//
%% The mktex* scripts rely on KPSE_DOT. Do not set it in the environment.
% KPSE_DOT = .
% This definition isn't used from this .cnf file itself (that would be
% paradoxical), but the compile-time default in paths.h is built from it.
% The SELFAUTO* variables are set automatically from the location of
% argv[0], in kpse_set_program_name.
%
% This main texmf.cnf file is installed, for a release YYYY, in a
% directory such as /usr/local/texlive/YYYY/texmf-dist/web2c/texmf.cnf.
% Since this file is subject to future updates, the TeX Live installer
% or human administrator may also create a file
% /usr/local/texlive/YYYY/texmf.cnf; any settings in this latter file
% will take precedence over the distributed one.
%
% For security reasons, it is best not to include . in this path.
%
% The idea behind this lengthy definition: for each of
% SELFAUTO{LOC,DIR,PARENT}, look in the directory,
% then the subdirectories share/texmf-local, share/texmf-dist, share/texmf,
% then the subdirectories ./texmf-local, texmf-dist, ./texmf.
% At any given installation, most of these directories will not exist,
% but they all turn out to be useful somewhere.
%
% Special addition -- we want to include one more directory: the
% great-grandparent's texmf-local, because that is how TL is installed
% by default. That is, given a binary
% /usr/local/texlive/YYYY/bin/PLATFORM/kpsewhich, it should find
% /usr/local/texlive/texmf-local/web2c/texmf.cnf. I.e., not under YYYY.
%
% As a result, we cannot use actual brace expansion in the definition,
% since we don't want to scatter ../'s throughout the value. Hence we
% explicitly list every directory. Arguably more understandable anyway.
%
TEXMFCNF = {\
$SELFAUTOLOC,\
$SELFAUTOLOC/share/texmf-local/web2c,\
$SELFAUTOLOC/share/texmf-dist/web2c,\
$SELFAUTOLOC/share/texmf/web2c,\
$SELFAUTOLOC/texmf-local/web2c,\
$SELFAUTOLOC/texmf-dist/web2c,\
$SELFAUTOLOC/texmf/web2c,\
\
$SELFAUTODIR,\
$SELFAUTODIR/share/texmf-local/web2c,\
$SELFAUTODIR/share/texmf-dist/web2c,\
$SELFAUTODIR/share/texmf/web2c,\
$SELFAUTODIR/texmf-local/web2c,\
$SELFAUTODIR/texmf-dist/web2c,\
$SELFAUTODIR/texmf/web2c,\
\
$SELFAUTOPARENT/../texmf-local/web2c,\
$SELFAUTOPARENT,\
\
$SELFAUTOPARENT/share/texmf-local/web2c,\
$SELFAUTOPARENT/share/texmf-dist/web2c,\
$SELFAUTOPARENT/share/texmf/web2c,\
$SELFAUTOPARENT/texmf-local/web2c,\
$SELFAUTOPARENT/texmf-dist/web2c,\
$SELFAUTOPARENT/texmf/web2c\
}
%
% For reference, here is the old brace-using definition:
%TEXMFCNF = {$SELFAUTOLOC,$SELFAUTODIR,$SELFAUTOPARENT}{,{/share,}/texmf{-local,}/web2c}
% kpathsea 3.5.3 and later sets these at runtime. To avoid empty
% expansions from binaries linked against an earlier version of the
% library, we set $progname and $engine to something non-empty:
progname = unsetprogname
engine = unsetengine
% Part 2: Options.
% If this option is set to true, `tex a.b' will look first for a.b.tex
% (within each path element), and then for a.b, i.e., we try standard
% extensions first. If this is false, we first look for a.b and then
% a.b.tex, i.e., we try the name as-is first.
%
% Both names are always tried; the difference is the order in which they
% are tried. The setting applies to all searches, not just .tex.
%
% This setting only affects names being looked up which *already* have
% an extension. A name without an extension (e.g., `tex story') will
% always have an extension added first.
%
% The default is true, because we already avoid adding the standard
% extension(s) in the usual cases. E.g., babel.sty will only look for
% babel.sty, not babel.sty.tex, regardless of this setting.
try_std_extension_first = t
% Enable system commands via \write18{...}. When enabled fully (set to
% t), obviously insecure. When enabled partially (set to p), only the
% commands listed in shell_escape_commands are allowed. Although this
% is not fully secure either, it is much better, and so useful that we
% enable it for everything but bare tex.
shell_escape = p
% No spaces in this command list.
%
% The programs listed here are as safe as any we know: they either do
% not write any output files, respect openout_any, or have hard-coded
% restrictions similar to or higher than openout_any=p. They also have
% no features to invoke arbitrary other programs, and no known
% exploitable bugs. All to the best of our knowledge. They also have
% practical use for being called from TeX.
%
shell_escape_commands = \
bibtex,bibtex8,\
extractbb,\
gregorio,\
kpsewhich,\
makeindex,\
repstopdf,\
r-mpost,\
texosquery-jre8,\
% we'd like to allow:
% dvips - but external commands can be executed, need at least -R1.
% epspdf, ps2pdf, pstopdf - need to respect openout_any,
% and gs -dSAFER must be used and check for shell injection with filenames.
% pygmentize - but is the filter feature insecure?
% ps4pdf - but it calls an unrestricted latex.
% rpdfcrop - maybe ok, but let's get experience with repstopdf first.
% texindy,xindy - but is the module feature insecure?
% ulqda - but requires optional SHA1.pm, so why bother.
% tex, latex, etc. - need to forbid --shell-escape, and inherit openout_any.
% plain "tex" should remain unenhanced.
shell_escape.tex = f
shell_escape.initex = f
% This is used by the Windows script wrapper for restricting searching
% for the purportedly safe shell_escape_commands above to system
% directories.
TEXMF_RESTRICTED_SCRIPTS = \
{!!$TEXMFLOCAL,!!$TEXMFDIST}/scripts/{$progname,$engine,}//
% Do we allow TeX \input or \openin (openin_any), or \openout
% (openout_any) on filenames starting with `.' (e.g., .rhosts) or
% outside the current tree (e.g., /etc/passwd)?
% a (any) : any file can be opened.
% r (restricted) : disallow opening dot files
% p (paranoid) : as `r' and disallow going to parent directories, and
% restrict absolute paths to be under $TEXMFOUTPUT.
openin_any = a
openout_any = p
% Write .log/.dvi/.aux/etc. files here, if the current directory is unwritable.
%TEXMFOUTPUT = @TEMP@
% If a dynamic file creation fails, log the command to this file, in
% either the current directory or TEXMFOUTPUT. Set to the
% empty string or 0 to avoid logging.
MISSFONT_LOG = missfont.log
% Set to a colon-separated list of words specifying warnings to suppress.
% To suppress everything, use TEX_HUSH = all; this is currently equivalent to
% TEX_HUSH = checksum:lostchar:readable:special
% To suppress nothing, use TEX_HUSH = none or do not set the variable at all.
TEX_HUSH = none
% Allow TeX and MF to parse the first line of an input file for
% the %&format construct.
parse_first_line = t
% But don't parse the first line if invoked as "tex", since we want that
% to remain Knuth-compatible. The src_specials and
% file_line_error_style settings, as well as the options -enctex,
% -mltex, -8bit, etc., also affect this, but they are all off by default.
parse_first_line.tex = f
parse_first_line.initex = f
% Normally we mention files created by \openout in the log file,
% but again, trip-compatibility forbids this for (ini)tex.
log_openout = t
log_openout.tex = f
log_openout.initex = f
% Control file:line:error style messages.
file_line_error_style = f
% Enable the mktex... scripts by default? These must be set to 0 or 1.
% Particular programs can and do override these settings, for example
% dvips's -M option. Your first chance to specify whether the scripts
% are invoked by default is at configure time.
%
% These values are ignored if the script names are changed; e.g., if you
% set DVIPSMAKEPK to `foo', what counts is the value of the environment
% variable/config value `FOO', not the `MKTEXPK' value.
%
%MKTEXTEX = 0
%MKTEXPK = 0
%MKTEXMF = 0
%MKTEXTFM = 0
%MKTEXFMT = 0
%MKOCP = 0
%MKOFM = 0
% Used by makempx to run TeX. We use "etex" because MetaPost is
% expecting DVI, and not "tex" because we want first line parsing.
TEX = etex
% Use Japanese eptex for Japanese pmpost.
TEX.pmpost = eptex
% These variables specify the external program called for the
% interactive `e' option. %d is replaced by the line number and %s by
% the current filename. The default is specified at compile-time, and
% we let that stay in place since different platforms like different values.
%TEXEDIT = vi +%d '%s' % default for Unix
%TEXEDIT = texworks --position=+%d "%s" % default for Windows
%MFEDIT = ${TEXEDIT}
%MPEDIT = ${TEXEDIT}
% The default `codepage and sort order' file for BibTeX8, when none is
% given as command line option or environment variable.
BIBTEX_CSFILE = 88591lat.csf
% This variable is specific to Unix, to fall back to case-insensitive
% search in non-system directories if there is no exact match. It is
% enabled by default in texmf.cnf, but not enabled by default at
% compile-time.
%
texmf_casefold_search = 1
% This variable is specific to Windows. It must be set to 0 or 1. The
% default is 0. Setting it to 1 tells the Windows script wrappers to
% use an already installed Perl interpreter if one is found on the
% search path, in preference to the Perl shipped with TeX Live. Thus,
% it may be useful if you both (a) installed a full Perl distribution
% for general use, and (b) need to run Perl programs from TL that use
% additional modules we don't provide. The TL Perl does provide all the
% standard Perl modules.
%
TEXLIVE_WINDOWS_TRY_EXTERNAL_PERL = 1
% Part 3: Array and other sizes for TeX, Metafont, etc.
%
% If you want to change some of these sizes only for a certain TeX
% variant, the usual dot notation works, as shown below for ConTeXt.
% If a change here appears to be ignored, try redumping the format file.
% Memory. Must be less than 8,000,000 total.
%
% main_memory is relevant only to initex, extra_mem_* only to non-ini.
% Thus, have to redump the .fmt file after changing main_memory; to add
% to existing fmt files, increase extra_mem_*. (To get an idea of how
% much, try \tracingstats=2 in your TeX source file;
% web2c/tests/memtest.tex might also be interesting.)
%
% To increase space for boxes (as might be needed by, e.g., PiCTeX),
% increase extra_mem_bot.
%
% For some xy-pic samples, you may need as much as 700000 words of memory.
% For the vast majority of documents, 60000 or less will do.
%
main_memory = 5000000 % words of inimemory available; also applies to inimf&mp
extra_mem_top = 0 % extra high memory for chars, tokens, etc.
extra_mem_bot = 0 % extra low memory for boxes, glue, breakpoints, etc.
% ConTeXt needs lots of memory.
extra_mem_top.context = 2000000
extra_mem_bot.context = 4000000
% Words of font info for TeX (total size of all TFM files, approximately).
% Must be >= 20000 and <= 147483647 (without tex.ch changes).
font_mem_size = 8000000
% Total number of fonts. Must be >= 50 and <= 9000 (without tex.ch changes).
font_max = 9000
% Extra space for the hash table of control sequences.
hash_extra = 600000
% Max number of characters in all strings, including all error messages,
% help texts, font names, control sequences. These values apply to TeX.
pool_size = 6250000
% Minimum pool space after TeX's own strings; must be at least
% 25000 less than pool_size, but doesn't need to be nearly that large.
string_vacancies = 90000
% Maximum number of strings.
max_strings = 500000
% Min pool space left after loading .fmt.
pool_free = 47500
% Ensure at least this many strings are free after loading .fmt.
strings_free = 100
% Buffer size. TeX uses the buffer to contain input lines, but macro
% expansion works by writing material into the buffer and reparsing the
% line. As a consequence, certain constructs require the buffer to be
% very large, even though most documents can be handled with a small value.
buf_size = 200000
% Hyphenation trie. The maximum possible is 4194303 (ssup_trie_size in
% the sources), but we don't need that much. The value here suffices
% for all known free hyphenation patterns to be loaded simultaneously
% (as TeX Live does).
%
trie_size = 1100000
hyph_size = 8191 % prime number of hyphenation exceptions, >610, <65535
% http://primes.utm.edu/curios/page.php/8191.html
% dynamically increased as necessary, so not important.
nest_size = 500 % simultaneous semantic levels (e.g., groups)
max_in_open = 15 % simultaneous input files and error insertions,
% also applies to MetaPost
param_size = 10000 % simultaneous macro parameters, also applies to MP
save_size = 80000 % for saving values outside current group
stack_size = 5000 % simultaneous input sources
% Limit on recursive expansion calls so TeX has a chance to quit nicely
% before stack space runs out. The default is 10000. Normally there is no
% reason to change it. The web2c manual has a bit more about this.
%expand_depth = 10000
% These are Omega-specific.
ocp_buf_size = 500000 % character buffers for ocp filters.
ocp_stack_size = 10000 % stacks for ocp computations.
ocp_list_size = 1000 % control for multiple ocps.
% For pdftex and luatex: default resolution for bitmaps;
% commonly set via \pdfpkresolution when needed to be changed.
%pk_dpi = 72
% These work best if they are the same as the I/O buffer size, but it
% doesn't matter much. Must be a multiple of 8.
dvi_buf_size = 16384 % TeX
gf_buf_size = 16384 % MF
% It's probably inadvisable to change these. At any rate, we must have:
% 45 < error_line < 255;
% 30 < half_error_line < error_line - 15;
% 60 <= max_print_line;
% These apply to TeX, Metafont, and MetaPost.
error_line = 79
half_error_line = 50
max_print_line = 79
% Metafont only.
screen_width.mf = 1664
screen_depth.mf = 1200
% BibTeX only (max_strings also determines hash_size and hash_prime).
ent_str_size = 500
glob_str_size = 200000
max_strings.bibtex = 200000
max_strings.bibtex8 = 200000
max_strings.bibtexu = 200000
max_strings.pbibtex = 200000
max_strings.upbibtex= 200000
% GFtype only.
line_length.gftype = 500
max_rows.gftype = 8191
max_cols.gftype = 8191
% Guess input encoding (SJIS vs. Unicode, etc.) in pTeX and friends?
% Default is 1, to guess. Used on Windows only.
guess_input_kanji_encoding = 1
% command_line_encoding
%
% This variable is used on Windows only, and affects 4 TeX engines:
% uptex, euptex, pdftex, xetex, and 2 drivers: dvips, [x]dvipdfmx.
% Several applications also are affected by the variable:
% dvi2tty.exe, disdvi.exe, dvibook.exe, dviconcat.exe, dviselect.exe,
% dvitodvi.exe, and dvidvi.exe.
% Only values utf8 or utf-8 are meaningful. Other values are simply
% ignored. If file names in sources and DVI or XDV files are ASCII
% only, the value of command_line_encoding is irrelevant.
% If command_line_encoding = utf8 or command_line_encoding = utf-8,
% file names in sources and DVI or XDV files are assumed to be UTF-8.
% Default is utf-8, from 2019-07-24, to assume UTF-8 file names.
% In order to switch off the function, define an environment variable:
% set command_line_encoding=none
% or write a line:
% command_line_encoding = none
% in a texmf.cnf prefered, for example $TEXMFLOCAL/web2c/texmf.cnf.
command_line_encoding = utf-8

View File

@@ -0,0 +1,190 @@
-- public domain
-- ConTeXt needs a properly expanded TEXMFLOCAL, so here is a
-- bit of lua code to make that happen
local texmflocal = resolvers.prefixes.selfautoparent();
texmflocal = string.gsub(texmflocal, "20%d%d$", "texmf-local");
return {
type = "configuration",
version = "1.1.0",
date = "2012-05-24",
time = "12:12:12",
comment = "ConTeXt MkIV configuration file",
author = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
content = {
-- Originally there was support for engines and progname but I don't expect
-- other engines to use this file, so first engines were removed. After that
-- if made sense also to get rid of progname. At some point specific formats
-- will be supported but then as a subtable with fallbacks, which sounds more
-- natural. Also, at some point the paths will become tables. For the moment
-- I don't care too much about it as extending is easy.
variables = {
-- The following variable is predefined (but can be overloaded) and in
-- most cases you can leve this one untouched. The built-in definition
-- permits relocation of the tree.
--
-- TEXMFCNF = "{selfautodir:,selfautoparent:}{,{/share,}/texmf{-local,}/web2c}"
--
-- more readable than "selfautoparent:{/texmf{-local,}{,/web2c},}}" is:
--
-- TEXMFCNF = {
-- "selfautoparent:/texmf-local",
-- "selfautoparent:/texmf-local/web2c",
-- "selfautoparent:/texmf-dist",
-- "selfautoparent:/texmf/web2c",
-- "selfautoparent:",
-- }
-- only used for FONTCONFIG_PATH & TEXMFCACHE in TeX Live
TEXMFSYSVAR = "@MINGW_PREFIX@/var/lib/texmf",
TEXMFVAR = "home:.texlive/texmf-var",
-- We have only one cache path but there can be more. The first writable one
-- will be chosen but there can be more readable paths.
TEXMFCACHE = "$TEXMFSYSVAR;$TEXMFVAR",
TEXMFCONFIG = "home:.texlive/texmf-config",
-- I don't like this texmf under home and texmf-home would make more
-- sense. One never knows what installers put under texmf anywhere and
-- sorting out problems will be a pain. But on the other hand ... home
-- mess is normally under the users own responsibility.
--
-- By using prefixes we don't get expanded paths in the cache __path__
-- entry. This makes the tex root relocatable.
TEXMFOS = "selfautodir:share",
TEXMFDIST = "selfautodir:share/texmf-dist",
TEXMFLOCAL = texmflocal,
TEXMFSYSCONFIG = "@MINGW_PREFIX@/etc/texmf",
TEXMFFONTS = "selfautoparent:texmf-fonts",
TEXMFPROJECT = "selfautoparent:texmf-project",
TEXMFHOME = "home:texmf",
-- TEXMFHOME = os.name == "macosx" and "home:Library/texmf" or "home:texmf",
-- We need texmfos for a few rare files but as I have a few more bin trees
-- a hack is needed. Maybe other users also have texmf-platform-new trees.
TEXMF = "{$TEXMFCONFIG,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFPROJECT,!!$TEXMFFONTS,!!$TEXMFLOCAL,!!$TEXMFDIST}",
TEXFONTMAPS = ".;$TEXMF/fonts/data//;$TEXMF/fonts/map/{pdftex,dvips}//",
ENCFONTS = ".;$TEXMF/fonts/data//;$TEXMF/fonts/enc/{dvips,pdftex}//",
VFFONTS = ".;$TEXMF/fonts/{data,vf}//",
TFMFONTS = ".;$TEXMF/fonts/{data,tfm}//",
T1FONTS = ".;$TEXMF/fonts/{data,type1}//;$OSFONTDIR",
AFMFONTS = ".;$TEXMF/fonts/{data,afm}//;$OSFONTDIR",
TTFONTS = ".;$TEXMF/fonts/{data,truetype}//;$OSFONTDIR",
OPENTYPEFONTS = ".;$TEXMF/fonts/{data,opentype}//;$OSFONTDIR",
CMAPFONTS = ".;$TEXMF/fonts/cmap//",
FONTFEATURES = ".;$TEXMF/fonts/{data,fea}//;$OPENTYPEFONTS;$TTFONTS;$T1FONTS;$AFMFONTS",
FONTCIDMAPS = ".;$TEXMF/fonts/{data,cid}//",
OFMFONTS = ".;$TEXMF/fonts/{data,ofm,tfm}//",
OVFFONTS = ".;$TEXMF/fonts/{data,ovf,vf}//",
TEXINPUTS = ".;$TEXMF/tex/{context,plain/base,generic}//",
MPINPUTS = ".;$TEXMF/metapost/{context,base,}//",
-- In the next variable the inputs path will go away.
TEXMFSCRIPTS = ".;$TEXMF/scripts/context/{lua,ruby,python,perl}//;$TEXINPUTS",
PERLINPUTS = ".;$TEXMF/scripts/context/perl",
PYTHONINPUTS = ".;$TEXMF/scripts/context/python",
RUBYINPUTS = ".;$TEXMF/scripts/context/ruby",
LUAINPUTS = ".;$TEXINPUTS;$TEXMF/scripts/context/lua//",
CLUAINPUTS = ".;$SELFAUTOLOC/lib/{context,luatex,}/lua//",
-- Not really used by MkIV so they might go away.
BIBINPUTS = ".;$TEXMF/bibtex/bib//",
BSTINPUTS = ".;$TEXMF/bibtex/bst//",
-- Experimental
ICCPROFILES = ".;$TEXMF/tex/context/colors/{icc,profiles}//;$OSCOLORDIR",
-- A few special ones that will change some day.
FONTCONFIG_FILE = "fonts.conf",
FONTCONFIG_PATH = "$TEXMFSYSVAR/fonts/conf",
},
-- We have a few reserved subtables. These control runtime behaviour. The
-- keys have names like 'foo.bar' which means that you have to use keys
-- like ['foo.bar'] so for convenience we also support 'foo_bar'.
directives = {
-- There are a few variables that determine the engines
-- limits. Most will fade away when we close in on version 1.
["luatex.expanddepth"] = "10000", -- 10000
["luatex.hashextra"] = "100000", -- 0
["luatex.nestsize"] = "1000", -- 50
["luatex.maxinopen"] = "500", -- 15
["luatex.maxprintline"] = " 10000", -- 79
["luatex.maxstrings"] = "500000", -- 15000 -- obsolete
["luatex.paramsize"] = "25000", -- 60
["luatex.savesize"] = "50000", -- 4000
["luatex.stacksize"] = "10000", -- 300
-- A few process related variables come next.
-- ["system.checkglobals"] = "10",
-- ["system.nostatistics"] = "yes",
["system.errorcontext"] = "10",
["system.compile.cleanup"] = "no", -- remove tma files
["system.compile.strip"] = "yes", -- strip tmc files
-- The io modes are similar to the traditional ones. Possible values
-- are all, paranoid and restricted.
["system.outputmode"] = "restricted",
["system.inputmode"] = "any",
-- The following variable is under consideration. We do have protection
-- mechanims but it's not enabled by default.
["system.commandmode"] = "any", -- any none list
["system.commandlist"] = "mtxrun, convert, inkscape, gs, imagemagick, curl, bibtex, pstoedit",
-- The mplib library support mechanisms have their own
-- configuration. Normally these variables can be left as
-- they are.
["mplib.texerrors"] = "yes",
-- Normally you can leave the font related directives untouched
-- as they only make sense when testing.
-- ["fonts.autoreload"] = "no",
-- ["fonts.otf.loader.method"] = "table", -- table mixed sparse
-- ["fonts.otf.loader.cleanup"] = "0", -- 0 1 2 3
-- In an edit cycle it can be handy to launch an editor. The
-- preferred one can be set here.
-- ["pdfview.method"] = "okular", -- default (often acrobat) xpdf okular
},
experiments = {
["fonts.autorscale"] = "yes",
},
trackers = {
},
},
}