SUMMARY="A comprehensive TeX system - texmf tree" DESCRIPTION="TeX Live is an easy way to get up and running with the TeX \ document production system. It provides a comprehensive TeX system. It \ includes all the major TeX-related programs, macro packages, and fonts that \ are free software, including support for many languages around the world." HOMEPAGE="http://tug.org/texlive/" COPYRIGHT="1996 by collaboration between the TeX user groups." LICENSE="GNU GPL v2" REVISION="1" fullVersion=20260301 SOURCE_URI="ftp://tug.org/historic/systems/texlive/$portVersion/install-tl-unx.tar.gz https://ftp.math.utah.edu/pub/tex/historic/systems/texlive/$portVersion/install-tl-unx.tar.gz ftp://ftp.math.utah.edu/pub/tex/historic/systems/texlive/$portVersion/install-tl-unx.tar.gz https://texlive.info/historic/systems/texlive/$portVersion/install-tl-unx.tar.gz https://ftp.tu-chemnitz.de/pub/tug/historic/systems/texlive/$portVersion/install-tl-unx.tar.gz ftp://ftp.tu-chemnitz.de/pub/tug/historic/systems/texlive/$portVersion/install-tl-unx.tar.gz https://pi.kwarc.info/historic/systems/texlive/$portVersion/install-tl-unx.tar.gz https://mirrors.tuna.tsinghua.edu.cn/tex-historic-archive/systems/texlive/$portVersion/install-tl-unx.tar.gz https://mirror.nju.edu.cn/tex-historic/systems/texlive/$portVersion/install-tl-unx.tar.gz" CHECKSUM_SHA256="5cc0703d6fe49f00a2932c4e3bcee37a11cc0a969ae9fcbf9cad6f0d984d6363" SOURCE_DIR="install-tl-$fullVersion" SOURCE_FILENAME="install-tl-unx-$portVersion.tar.gz" SOURCE_URI_2="ftp://tug.org/historic/systems/texlive/$portVersion/texlive-$fullVersion-texmf.tar.xz https://ftp.math.utah.edu/pub/tex/historic/systems/texlive/$portVersion/texlive-$fullVersion-texmf.tar.xz ftp://ftp.math.utah.edu/pub/tex/historic/systems/texlive/$portVersion/texlive-$fullVersion-texmf.tar.xz https://texlive.info/historic/systems/texlive/$portVersion/texlive-$fullVersion-texmf.tar.xz https://ftp.tu-chemnitz.de/pub/tug/historic/systems/texlive/$portVersion/texlive-$fullVersion-texmf.tar.xz ftp://ftp.tu-chemnitz.de/pub/tug/historic/systems/texlive/$portVersion/texlive-$fullVersion-texmf.tar.xz https://pi.kwarc.info/historic/systems/texlive/$portVersion/texlive-$fullVersion-texmf.tar.xz https://mirrors.tuna.tsinghua.edu.cn/tex-historic-archive/systems/texlive/$portVersion/texlive-$fullVersion-texmf.tar.xz https://mirror.nju.edu.cn/tex-historic/systems/texlive/$portVersion/texlive-$fullVersion-texmf.tar.xz" CHECKSUM_SHA256_2="349eb7c5c2c15333d77490a52934b053c6dcb88834f2224978f7a4edf67940e7" SOURCE_DIR_2="texlive-$fullVersion-texmf" PATCHES_2="texlive-$portVersion-source2.patchset" SOURCE_URI_3="ftp://tug.org/historic/systems/texlive/$portVersion/texlive-$fullVersion-extra.tar.xz https://ftp.math.utah.edu/pub/tex/historic/systems/texlive/$portVersion/texlive-$fullVersion-extra.tar.xz ftp://ftp.math.utah.edu/pub/tex/historic/systems/texlive/$portVersion/texlive-$fullVersion-extra.tar.xz https://texlive.info/historic/systems/texlive/$portVersion/texlive-$fullVersion-extra.tar.xz https://ftp.tu-chemnitz.de/pub/tug/historic/systems/texlive/$portVersion/texlive-$fullVersion-extra.tar.xz ftp://ftp.tu-chemnitz.de/pub/tug/historic/systems/texlive/$portVersion/texlive-$fullVersion-extra.tar.xz https://pi.kwarc.info/historic/systems/texlive/$portVersion/texlive-$fullVersion-extra.tar.xz https://mirrors.tuna.tsinghua.edu.cn/tex-historic-archive/systems/texlive/$portVersion/texlive-$fullVersion-extra.tar.xz https://mirror.nju.edu.cn/tex-historic/systems/texlive/$portVersion/texlive-$fullVersion-extra.tar.xz" CHECKSUM_SHA256_3="68d78428d012bce8c2ffaf7027c701a66c51039a16059d33f30980330033a5d0" SOURCE_DIR_3="texlive-$fullVersion-extra" ADDITIONAL_FILES=" createSubpackageInfos.pl getPackageEntries.pl subpackageInfos.sh texlive.profile texlive_postinstall.sh texlive_update.sh " ARCHITECTURES="any" DISABLE_SOURCE_PACKAGE="yes" libkpathseaVersion="6.4.2" # this is to make sure that the same version of texlive_core is used luametatexVersion="2.11.08" # TODO: do we need this? PROVIDES=" texlive = $portVersion cmd:texlive_update.sh " REQUIRES=" haiku # this is a placeholder for the main texlive_core package cmd:kpsewhich >= $libkpathseaVersion " SUMMARY_full="Metapackage for all TeXLive collections" PROVIDES_full=" texlive_full = $portVersion " SUMMARY_full_doc="Metapackage for all TeXLive collections (documentation)" PROVIDES_full_doc=" texlive_full_doc = $portVersion " SUMMARY_full_source="Metapackage for all TeXLive collections (source files)" PROVIDES_full_source=" texlive_full_source = $portVersion " declare -a subpackages # workaround for $portDir not being set correctly (or being empty) # $workDir is not set when parsing recipes or during the PATCH function (outside the chroot), so use $portBaseDir instead. # $portBaseDir can't be used when building the recipe because it points outside the chroot. # In this case the (empty) $portDir is okay though. if [ "${workDir-unset}" = unset -o "$recipeAction" = PATCH ]; then portDir=$portBaseDir fi # note: this doesn't work (would need extracted and prepared sources already, after the BUILD function) # $(perl -I $sourceDir/tlpkg $portDir/additional-files/createSubpackageInfos.pl $sourceDir) # source the pregenerated subpackage infos instead source $portDir/additional-files/subpackageInfos.sh PROVIDES_context+=" cmd:context.lua cmd:mtxrun.lua " REQUIRES_context+=" cmd:luametatex " BUILD_REQUIRES=" haiku_devel cmd:kpsewhich >= $libkpathseaVersion cmd:luametatex " BUILD_PREREQUIRES=" cmd:perl " GLOBAL_WRITABLE_FILES=" settings/texlive/ls-R auto-merge var/texlive/ls-R auto-merge var/texlive/tex/generic/config/language.dat auto-merge var/texlive/tex/generic/config/language.dat.lua auto-merge var/texlive/tex/generic/config/language.def auto-merge var/texlive/web2c/aleph/aleph.fmt var/texlive/web2c/aleph/aleph.log var/texlive/web2c/eptex/eptex.fmt var/texlive/web2c/eptex/eptex.log var/texlive/web2c/eptex/platex-dev.fmt var/texlive/web2c/eptex/platex-dev.log var/texlive/web2c/eptex/platex.fmt var/texlive/web2c/eptex/platex.log var/texlive/web2c/euptex/euptex.fmt var/texlive/web2c/euptex/euptex.log var/texlive/web2c/euptex/uplatex-dev.fmt var/texlive/web2c/euptex/uplatex-dev.log var/texlive/web2c/euptex/uplatex.fmt var/texlive/web2c/euptex/uplatex.log var/texlive/web2c/luahbtex/luahbtex.fmt var/texlive/web2c/luahbtex/luahbtex.log var/texlive/web2c/luahbtex/lualatex-dev.fmt var/texlive/web2c/luahbtex/lualatex-dev.log var/texlive/web2c/luahbtex/lualatex.fmt var/texlive/web2c/luahbtex/lualatex.log var/texlive/web2c/luajithbtex/luajithbtex.fmt var/texlive/web2c/luajithbtex/luajithbtex.log var/texlive/web2c/luajittex/luajittex.fmt var/texlive/web2c/luajittex/luajittex.log var/texlive/web2c/luatex/dvilualatex-dev.fmt var/texlive/web2c/luatex/dvilualatex-dev.log var/texlive/web2c/luatex/dvilualatex.fmt var/texlive/web2c/luatex/dvilualatex.log var/texlive/web2c/luatex/dviluatex.fmt var/texlive/web2c/luatex/dviluatex.log var/texlive/web2c/luatex/luacsplain.fmt var/texlive/web2c/luatex/luacsplain.log var/texlive/web2c/luatex/luatex.fmt var/texlive/web2c/luatex/luatex.log var/texlive/web2c/luatex/optex.fmt var/texlive/web2c/luatex/optex.log var/texlive/web2c/luatex/pdfcsplain.fmt var/texlive/web2c/luatex/pdfcsplain.log var/texlive/web2c/metafont/mf.base var/texlive/web2c/metafont/mf.log var/texlive/web2c/pdftex/amstex.fmt var/texlive/web2c/pdftex/amstex.log var/texlive/web2c/pdftex/cont-en.fmt var/texlive/web2c/pdftex/cont-en.log var/texlive/web2c/pdftex/cslatex.fmt var/texlive/web2c/pdftex/cslatex.log var/texlive/web2c/pdftex/csplain.fmt var/texlive/web2c/pdftex/csplain.log var/texlive/web2c/pdftex/eplain.fmt var/texlive/web2c/pdftex/eplain.log var/texlive/web2c/pdftex/etex.fmt var/texlive/web2c/pdftex/etex.log var/texlive/web2c/pdftex/jadetex.fmt var/texlive/web2c/pdftex/jadetex.log var/texlive/web2c/pdftex/latex-dev.fmt var/texlive/web2c/pdftex/latex-dev.log var/texlive/web2c/pdftex/latex.fmt var/texlive/web2c/pdftex/latex.log var/texlive/web2c/pdftex/mex.fmt var/texlive/web2c/pdftex/mex.log var/texlive/web2c/pdftex/mllatex.fmt var/texlive/web2c/pdftex/mllatex.log var/texlive/web2c/pdftex/mltex.fmt var/texlive/web2c/pdftex/mltex.log var/texlive/web2c/pdftex/mptopdf.fmt var/texlive/web2c/pdftex/mptopdf.log var/texlive/web2c/pdftex/pdfcslatex.fmt var/texlive/web2c/pdftex/pdfcslatex.log var/texlive/web2c/pdftex/pdfcsplain.fmt var/texlive/web2c/pdftex/pdfcsplain.log var/texlive/web2c/pdftex/pdfetex.fmt var/texlive/web2c/pdftex/pdfetex.log var/texlive/web2c/pdftex/pdfjadetex.fmt var/texlive/web2c/pdftex/pdfjadetex.log var/texlive/web2c/pdftex/pdflatex-dev.fmt var/texlive/web2c/pdftex/pdflatex-dev.log var/texlive/web2c/pdftex/pdflatex.fmt var/texlive/web2c/pdftex/pdflatex.log var/texlive/web2c/pdftex/pdfmex.fmt var/texlive/web2c/pdftex/pdfmex.log var/texlive/web2c/pdftex/pdftex.fmt var/texlive/web2c/pdftex/pdftex.log var/texlive/web2c/pdftex/pdfxmltex.fmt var/texlive/web2c/pdftex/pdfxmltex.log var/texlive/web2c/pdftex/texsis.fmt var/texlive/web2c/pdftex/texsis.log var/texlive/web2c/pdftex/utf8mex.fmt var/texlive/web2c/pdftex/utf8mex.log var/texlive/web2c/pdftex/xmltex.fmt var/texlive/web2c/pdftex/xmltex.log var/texlive/web2c/ptex/ptex.fmt var/texlive/web2c/ptex/ptex.log var/texlive/web2c/tex/lollipop.fmt var/texlive/web2c/tex/lollipop.log var/texlive/web2c/tex/tex.fmt var/texlive/web2c/tex/tex.log var/texlive/web2c/uptex/uptex.fmt var/texlive/web2c/uptex/uptex.log var/texlive/web2c/xetex/cont-en.fmt var/texlive/web2c/xetex/cont-en.log var/texlive/web2c/xetex/pdfcsplain.fmt var/texlive/web2c/xetex/pdfcsplain.log var/texlive/web2c/xetex/xelatex-dev.fmt var/texlive/web2c/xetex/xelatex-dev.log var/texlive/web2c/xetex/xelatex.fmt var/texlive/web2c/xetex/xelatex.log var/texlive/web2c/xetex/xetex.fmt var/texlive/web2c/xetex/xetex.log " PATCH() { sed -i "s|\`kpsewhich -var-value=TEXMFROOT\`|\"$dataDir/texlive\"|" $sourceDir/tlpkg/TeXLive/TLUtils.pm # update texmfcnf.lua for ConTeXt: TEXMFCNF=$sourceDir2/texmf-dist/web2c/texmfcnf.lua sed -i -e "s@TEXMFLOCAL\s*=.*@TEXMFLOCAL = /boot/system/non-packaged/data/texmf-dist@" $TEXMFCNF sed -i -e "s@TEXMFSYSVAR\s*=.*@TEXMFSYSVAR = $sharedStateDir/texlive@" $TEXMFCNF sed -i -e "s@TEXMFSYSCONFIG\s*=.*@TEXMFSYSCONFIG = $sysconfDir/texlive@" $TEXMFCNF sed -i -e "s@TEXMFHOME\s*=.*@TEXMFHOME = /boot/home/config/settings/texmf-dist@" $TEXMFCNF sed -i -e "s@TEXMFVAR\s*=.*@TEXMFVAR = /boot/home/config/var/texmf@" $TEXMFCNF sed -i -e "s@TEXMFCONFIG\s*=.*@TEXMFCONFIG = /boot/home/config/settings/texmf/config@" $TEXMFCNF } BUILD() { # Put the texmf-dist into the correct location rm -rv texmf-dist || true ln -sv $sourceDir2/texmf-dist/ texmf-dist # Link our binaries to bin/{i386,x86_64}-haiku if [ $targetArchitecture = x86_gcc2 ] || [ $targetArchitecture = x86 ]; then if [ ! -e bin/i386-haiku ] ; then mkdir -pv bin ln -sv /boot/system/bin bin/i386-haiku fi else if [ ! -e bin/${targetArchitecture}-haiku ] ; then mkdir -pv bin ln -sv /boot/system/bin bin/${targetArchitecture}-haiku fi fi # link or copy the needed files from the "extra" sources rm -v tlpkg/{texlive.tlpdb,tlpostcode} readme-{html,txt}.dir README{,.usergroups} {index,doc}.html || true ln -sv $sourceDir3/tlpkg/{texlive.tlpdb,tlpostcode} tlpkg ln -sv $sourceDir3/readme-{html,txt}.dir . cp -v $sourceDir3/{README{,.usergroups},{index,doc}.html} . } INSTALL() { export TEXLIVE_INSTALL_PREFIX=$dataDir/texlive export TEXLIVE_INSTALL_TEXMFSYSVAR=$sharedStateDir/texlive export TEXLIVE_INSTALL_TEXMFSYSCONFIG=$sysconfDir/texlive export TEXLIVE_INSTALL_TEXMFLOCAL=/boot/system/non-packaged/data/texmf-dist export TEXLIVE_INSTALL_TEXMFVAR=/boot/home/config/var/texmf export TEXLIVE_INSTALL_TEXMFCONFIG=/boot/home/config/settings/texmf/config export TEXLIVE_INSTALL_TEXMFHOME=/boot/home/config/settings # disable the disk space check, it returns 0 free space export TEXLIVE_INSTALL_NO_DISKCHECK=1 # hmm, need to work-around /boot/system/non-packaged not existing.... # the texmf local tree should probably be done with a post-install script, perhaps sed -i -e 's/make_local_skeleton \".*//' install-tl # run the TeX Live installer, and specify all our paths, once more, to be sure... ;-) export PATH=bin/i386-haiku:bin/${targetArchitecture}-haiku:$binDir:$PATH if [ $targetArchitecture = x86_gcc2 ] || [ $targetArchitecture = x86 ]; then customBinDir=bin/i386-haiku/ else customBinDir=bin/${targetArchitecture}-haiku/ fi sed -e "s@dataDir@$dataDir@g" \ -e "s@sharedStateDir@$sharedStateDir@g" \ -e "s@sysconfDir@$sysconfDir@g" \ $portDir/additional-files/texlive.profile > texlive.profile install-tl --custom-bin=$customBinDir --profile=texlive.profile # somewhere along the way, a texmf.cnf gets created with ALL the wrong paths... # replace it with the known working version from the main texlive_core package, # but replace package links with our own ones sed -e "s@/packages/texlive_core.*/\.self@$prefix@g" \ -e "s@/packages/texlive_core.*/\.settings@$sysconfDir@g" \ /boot/system/data/texmf-dist/web2c/texmf.cnf > $dataDir/texlive/texmf-dist/web2c/texmf.cnf rm -rf $dataDir/texlive/bin mkdir -p $binDir install -t $binDir -m 755 $portDir/additional-files/texlive_update.sh for subpackage in ${subpackages[@]}; do packageEntries $subpackage \ $(perl -I $sourceDir/tlpkg $portDir/additional-files/getPackageEntries.pl $dataDir/texlive/ $subpackage) if [[ $subpackage != *_* ]]; then # ignore subpackages with a suffix (doc or source) mkdir -p $(getPackagePrefix $subpackage)/$relativePostInstallDir install -t $(getPackagePrefix $subpackage)/$relativePostInstallDir \ -m 755 $portDir/additional-files/texlive_postinstall.sh fi done mkdir -p $(getPackagePrefix context)/$relativeBinDir ln -s ../data/texlive/texmf-dist/scripts/context/lua/context.lua \ $(getPackagePrefix context)/$relativeBinDir/context.lua ln -s ../data/texlive/texmf-dist/scripts/context/lua/mtxrun.lua \ $(getPackagePrefix context)/$relativeBinDir/mtxrun.lua }