diff --git a/app-text/texlive/additional-files/createSubpackageInfos.pl b/app-text/texlive/additional-files/createSubpackageInfos.pl new file mode 100644 index 000000000..cab8aae95 --- /dev/null +++ b/app-text/texlive/additional-files/createSubpackageInfos.pl @@ -0,0 +1,100 @@ +#!/bin/perl +# Copyright 2021, Joachim Mairböck +# Distributed under the terms of the MIT license. + +# Helper script to generate the package metadata definitions for the texlive subpackages +# usage: +# perl -I $sourceDir/tlpkg createSubpackageInfos.pl > subpackageInfos.recipe +# +# is the root of the TeXLive package database, containing tlpkg/texlive.tlpdb. +# It also needs the texmf-dist directory to work. +# After these have been symlinked to $sourceDir (by the BUILD function in the recipe), +# $sourceDir can be used inside the haikuporter chroot. +# Alternatively, after the installation of the texlive package, +# /boot/system/data/texlive can be used. +# +# This script uses the TeXLive perl modules, therefore it needs $sourceDir/tlpkg in @INC. + +use strict; +use warnings; + +use TeXLive::TLPDB; + +print "# This file has been generated by createSubpackageInfos.pl\n\n"; + +my $tlpdb = TeXLive::TLPDB->new(root => $ARGV[0]); +my @collections = $tlpdb->collections(); + +for my $collectionPkgName (@collections) { + my $collection = substr $collectionPkgName, 11; + my $collectionPkg = $tlpdb->get_package($collectionPkgName); + my $shortdesc = $collectionPkg->shortdesc(); + my $longdesc = $collectionPkg->longdesc(); + if (length $shortdesc >= 48) { # SUMMARY must not exceed 80 characters in total + $shortdesc = substr($shortdesc, 0, 46) . "…"; + } + if ($shortdesc =~ /\.$/) { # SUMMARY must not end in a '.' + $shortdesc = substr($shortdesc, 0, -1); + } + $shortdesc =~ s'`'\`'g; # escape '`' characters + $longdesc =~ s'`'\`'g if $longdesc; + my @depends = $collectionPkg->depends(); + my @runfiles; + my @docfiles; + my @srcfiles; + for my $depName (@depends) { + my $depPkg = $tlpdb->get_package($depName); + push @runfiles, $depPkg->runfiles(); + push @docfiles, $depPkg->docfiles(); + push @srcfiles, $depPkg->srcfiles(); + } + if (@runfiles) { + print "SUMMARY_$collection=\"TeX Collection: $shortdesc\"\n"; + print "DESCRIPTION_$collection=\"$longdesc\"\n" if $longdesc; + print "PROVIDES_$collection=\"\n"; + print "\ttexlive_$collection = \$portVersion\n"; + print "\t\"\n"; + print "REQUIRES_$collection=\"\n"; + print "\thaiku\n"; + print "\ttexlive == \$portVersion base\n"; + for my $dep (@depends) { + print "\ttexlive_", substr($dep, 11), "\n" if $dep =~ /^collection-/; + } + print "\t\"\n"; + print "REQUIRES_full+=\"\n"; + print "\ttexlive_$collection\n"; + print "\t\"\n"; + print "POST_INSTALL_SCRIPTS_$collection=\"\$relativePostInstallDir/texlive_postinstall.sh\"\n"; + print "subpackages+=($collection)\n"; + } + if (@docfiles) { + print "SUMMARY_${collection}_doc=\"TeX Collection: $shortdesc (documentation)\"\n"; + print "DESCRIPTION_${collection}_doc=\"$longdesc\"\n" if $longdesc; + print "PROVIDES_${collection}_doc=\"\n"; + print "\ttexlive_${collection}_doc = \$portVersion\n"; + print "\t\"\n"; + print "REQUIRES_${collection}_doc=\"\n"; + print "\thaiku\n"; + print "\ttexlive == \$portVersion base\n"; + print "\t\"\n"; + print "REQUIRES_full_doc+=\"\n"; + print "\ttexlive_${collection}_doc\n"; + print "\t\"\n"; + print "subpackages+=(${collection}_doc)\n"; + } + if (@srcfiles) { + print "SUMMARY_${collection}_source=\"TeX Collection: $shortdesc (source files)\"\n"; + print "DESCRIPTION_${collection}_source=\"$longdesc\"\n" if $longdesc; + print "PROVIDES_${collection}_source=\"\n"; + print "\ttexlive_${collection}_source = \$portVersion\n"; + print "\t\"\n"; + print "REQUIRES_${collection}_source=\"\n"; + print "\thaiku\n"; + print "\ttexlive == \$portVersion base\n"; + print "\t\"\n"; + print "REQUIRES_full_source+=\"\n"; + print "\ttexlive_${collection}_source\n"; + print "\t\"\n"; + print "subpackages+=(${collection}_source)\n"; + } +} diff --git a/app-text/texlive/additional-files/getPackageEntries.pl b/app-text/texlive/additional-files/getPackageEntries.pl new file mode 100644 index 000000000..3d42d7c2f --- /dev/null +++ b/app-text/texlive/additional-files/getPackageEntries.pl @@ -0,0 +1,36 @@ +#!/bin/perl +# Copyright 2021, Joachim Mairböck +# Distributed under the terms of the MIT license. + +# Helper script to get the packageEntries for texlive subpackages +# usage: +# perl -I $sourceDir/tlpkg getPackageEntries.pl +# +# is the root of the installation, containing tlpkg/texlive.tlpdb, i.e. $dataDir/texlive/ +# is the base name of the subpackage without prefix +# +# This script uses the TeXLive perl modules, therefore it needs $sourceDir/tlpkg in @INC. + +use strict; +use warnings; + +use TeXLive::TLPDB; + +my $tlpdb = TeXLive::TLPDB->new(root => $ARGV[0]); +my ($collection, $suffix) = split "_", $ARGV[1]; +my $tlpkg = $tlpdb->get_package("collection-$collection"); +my @depnames = $tlpkg->depends(); + +foreach my $depname (@depnames) { + my $deppkg = $tlpdb->get_package($depname); + my $filesfield = do { + unless (defined $suffix) { "runfiles" } + elsif ($suffix eq "doc") { "docfiles" } + elsif ($suffix eq "source") { "srcfiles" } + }; + my @files = @{$deppkg->{$filesfield}}; + foreach my $filename (@files) { + my $path = $ARGV[0] . $filename; + print $path, "\n" if -e $path; # ignore missing files + } +} diff --git a/app-text/texlive/additional-files/subpackageInfos.recipe b/app-text/texlive/additional-files/subpackageInfos.recipe new file mode 100644 index 000000000..7a4200239 --- /dev/null +++ b/app-text/texlive/additional-files/subpackageInfos.recipe @@ -0,0 +1,1595 @@ +# This file has been generated by createSubpackageInfos.pl + +SUMMARY_basic="TeX Collection: Essential programs and files" +DESCRIPTION_basic="These files are regarded as basic for any TeX system, covering plain TeX macros, Computer Modern fonts, and configuration for common drivers; no LaTeX." +PROVIDES_basic=" + texlive_basic = $portVersion + " +REQUIRES_basic=" + haiku + texlive == $portVersion base + " +REQUIRES_full+=" + texlive_basic + " +POST_INSTALL_SCRIPTS_basic="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(basic) +SUMMARY_basic_doc="TeX Collection: Essential programs and files (documentation)" +DESCRIPTION_basic_doc="These files are regarded as basic for any TeX system, covering plain TeX macros, Computer Modern fonts, and configuration for common drivers; no LaTeX." +PROVIDES_basic_doc=" + texlive_basic_doc = $portVersion + " +REQUIRES_basic_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_basic_doc + " +subpackages+=(basic_doc) +SUMMARY_basic_source="TeX Collection: Essential programs and files (source files)" +DESCRIPTION_basic_source="These files are regarded as basic for any TeX system, covering plain TeX macros, Computer Modern fonts, and configuration for common drivers; no LaTeX." +PROVIDES_basic_source=" + texlive_basic_source = $portVersion + " +REQUIRES_basic_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_basic_source + " +subpackages+=(basic_source) +SUMMARY_bibtexextra="TeX Collection: BibTeX additional styles" +DESCRIPTION_bibtexextra="Additional BibTeX styles and bibliography data(bases), notably including BibLaTeX." +PROVIDES_bibtexextra=" + texlive_bibtexextra = $portVersion + " +REQUIRES_bibtexextra=" + haiku + texlive == $portVersion base + texlive_latex + " +REQUIRES_full+=" + texlive_bibtexextra + " +POST_INSTALL_SCRIPTS_bibtexextra="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(bibtexextra) +SUMMARY_bibtexextra_doc="TeX Collection: BibTeX additional styles (documentation)" +DESCRIPTION_bibtexextra_doc="Additional BibTeX styles and bibliography data(bases), notably including BibLaTeX." +PROVIDES_bibtexextra_doc=" + texlive_bibtexextra_doc = $portVersion + " +REQUIRES_bibtexextra_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_bibtexextra_doc + " +subpackages+=(bibtexextra_doc) +SUMMARY_bibtexextra_source="TeX Collection: BibTeX additional styles (source files)" +DESCRIPTION_bibtexextra_source="Additional BibTeX styles and bibliography data(bases), notably including BibLaTeX." +PROVIDES_bibtexextra_source=" + texlive_bibtexextra_source = $portVersion + " +REQUIRES_bibtexextra_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_bibtexextra_source + " +subpackages+=(bibtexextra_source) +SUMMARY_binextra="TeX Collection: TeX auxiliary programs" +DESCRIPTION_binextra="Myriad additional TeX-related support programs. Includes programs and macros for DVI file manipulation, literate programming, patgen, and plenty more." +PROVIDES_binextra=" + texlive_binextra = $portVersion + " +REQUIRES_binextra=" + haiku + texlive == $portVersion base + texlive_basic + " +REQUIRES_full+=" + texlive_binextra + " +POST_INSTALL_SCRIPTS_binextra="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(binextra) +SUMMARY_binextra_doc="TeX Collection: TeX auxiliary programs (documentation)" +DESCRIPTION_binextra_doc="Myriad additional TeX-related support programs. Includes programs and macros for DVI file manipulation, literate programming, patgen, and plenty more." +PROVIDES_binextra_doc=" + texlive_binextra_doc = $portVersion + " +REQUIRES_binextra_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_binextra_doc + " +subpackages+=(binextra_doc) +SUMMARY_binextra_source="TeX Collection: TeX auxiliary programs (source files)" +DESCRIPTION_binextra_source="Myriad additional TeX-related support programs. Includes programs and macros for DVI file manipulation, literate programming, patgen, and plenty more." +PROVIDES_binextra_source=" + texlive_binextra_source = $portVersion + " +REQUIRES_binextra_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_binextra_source + " +subpackages+=(binextra_source) +SUMMARY_context="TeX Collection: ConTeXt and packages" +DESCRIPTION_context="Hans Hagen's powerful ConTeXt system, http://pragma-ade.com. Also includes third-party ConTeXt packages." +PROVIDES_context=" + texlive_context = $portVersion + " +REQUIRES_context=" + haiku + texlive == $portVersion base + texlive_basic + " +REQUIRES_full+=" + texlive_context + " +POST_INSTALL_SCRIPTS_context="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(context) +SUMMARY_context_doc="TeX Collection: ConTeXt and packages (documentation)" +DESCRIPTION_context_doc="Hans Hagen's powerful ConTeXt system, http://pragma-ade.com. Also includes third-party ConTeXt packages." +PROVIDES_context_doc=" + texlive_context_doc = $portVersion + " +REQUIRES_context_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_context_doc + " +subpackages+=(context_doc) +SUMMARY_context_source="TeX Collection: ConTeXt and packages (source files)" +DESCRIPTION_context_source="Hans Hagen's powerful ConTeXt system, http://pragma-ade.com. Also includes third-party ConTeXt packages." +PROVIDES_context_source=" + texlive_context_source = $portVersion + " +REQUIRES_context_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_context_source + " +subpackages+=(context_source) +SUMMARY_fontsextra="TeX Collection: Additional fonts" +PROVIDES_fontsextra=" + texlive_fontsextra = $portVersion + " +REQUIRES_fontsextra=" + haiku + texlive == $portVersion base + texlive_basic + " +REQUIRES_full+=" + texlive_fontsextra + " +POST_INSTALL_SCRIPTS_fontsextra="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(fontsextra) +SUMMARY_fontsextra_doc="TeX Collection: Additional fonts (documentation)" +PROVIDES_fontsextra_doc=" + texlive_fontsextra_doc = $portVersion + " +REQUIRES_fontsextra_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_fontsextra_doc + " +subpackages+=(fontsextra_doc) +SUMMARY_fontsextra_source="TeX Collection: Additional fonts (source files)" +PROVIDES_fontsextra_source=" + texlive_fontsextra_source = $portVersion + " +REQUIRES_fontsextra_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_fontsextra_source + " +subpackages+=(fontsextra_source) +SUMMARY_fontsrecommended="TeX Collection: Recommended fonts" +DESCRIPTION_fontsrecommended="Recommended fonts, including the base 35 PostScript fonts, Latin Modern, TeX Gyre, and T1 and other encoding support for Computer Modern, in outline form." +PROVIDES_fontsrecommended=" + texlive_fontsrecommended = $portVersion + " +REQUIRES_fontsrecommended=" + haiku + texlive == $portVersion base + texlive_basic + " +REQUIRES_full+=" + texlive_fontsrecommended + " +POST_INSTALL_SCRIPTS_fontsrecommended="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(fontsrecommended) +SUMMARY_fontsrecommended_doc="TeX Collection: Recommended fonts (documentation)" +DESCRIPTION_fontsrecommended_doc="Recommended fonts, including the base 35 PostScript fonts, Latin Modern, TeX Gyre, and T1 and other encoding support for Computer Modern, in outline form." +PROVIDES_fontsrecommended_doc=" + texlive_fontsrecommended_doc = $portVersion + " +REQUIRES_fontsrecommended_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_fontsrecommended_doc + " +subpackages+=(fontsrecommended_doc) +SUMMARY_fontsrecommended_source="TeX Collection: Recommended fonts (source files)" +DESCRIPTION_fontsrecommended_source="Recommended fonts, including the base 35 PostScript fonts, Latin Modern, TeX Gyre, and T1 and other encoding support for Computer Modern, in outline form." +PROVIDES_fontsrecommended_source=" + texlive_fontsrecommended_source = $portVersion + " +REQUIRES_fontsrecommended_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_fontsrecommended_source + " +subpackages+=(fontsrecommended_source) +SUMMARY_fontutils="TeX Collection: Graphics and font utilities" +DESCRIPTION_fontutils="Programs for conversion between font formats, testing fonts, virtual fonts, .gf and .pk manipulation, mft, fontinst, etc. Manipulating OpenType, TrueType, Type 1,and for manipulation of PostScript and other image formats." +PROVIDES_fontutils=" + texlive_fontutils = $portVersion + " +REQUIRES_fontutils=" + haiku + texlive == $portVersion base + texlive_basic + " +REQUIRES_full+=" + texlive_fontutils + " +POST_INSTALL_SCRIPTS_fontutils="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(fontutils) +SUMMARY_fontutils_doc="TeX Collection: Graphics and font utilities (documentation)" +DESCRIPTION_fontutils_doc="Programs for conversion between font formats, testing fonts, virtual fonts, .gf and .pk manipulation, mft, fontinst, etc. Manipulating OpenType, TrueType, Type 1,and for manipulation of PostScript and other image formats." +PROVIDES_fontutils_doc=" + texlive_fontutils_doc = $portVersion + " +REQUIRES_fontutils_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_fontutils_doc + " +subpackages+=(fontutils_doc) +SUMMARY_fontutils_source="TeX Collection: Graphics and font utilities (source files)" +DESCRIPTION_fontutils_source="Programs for conversion between font formats, testing fonts, virtual fonts, .gf and .pk manipulation, mft, fontinst, etc. Manipulating OpenType, TrueType, Type 1,and for manipulation of PostScript and other image formats." +PROVIDES_fontutils_source=" + texlive_fontutils_source = $portVersion + " +REQUIRES_fontutils_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_fontutils_source + " +subpackages+=(fontutils_source) +SUMMARY_formatsextra="TeX Collection: Additional formats" +DESCRIPTION_formatsextra="Collected TeX \`formats', i.e., large-scale macro packages designed to be dumped into .fmt files -- excluding the most common ones, such as latex and context, which have their own package(s). It also includes the Aleph engine and related Omega formats and packages." +PROVIDES_formatsextra=" + texlive_formatsextra = $portVersion + " +REQUIRES_formatsextra=" + haiku + texlive == $portVersion base + texlive_basic + texlive_latex + " +REQUIRES_full+=" + texlive_formatsextra + " +POST_INSTALL_SCRIPTS_formatsextra="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(formatsextra) +SUMMARY_formatsextra_doc="TeX Collection: Additional formats (documentation)" +DESCRIPTION_formatsextra_doc="Collected TeX \`formats', i.e., large-scale macro packages designed to be dumped into .fmt files -- excluding the most common ones, such as latex and context, which have their own package(s). It also includes the Aleph engine and related Omega formats and packages." +PROVIDES_formatsextra_doc=" + texlive_formatsextra_doc = $portVersion + " +REQUIRES_formatsextra_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_formatsextra_doc + " +subpackages+=(formatsextra_doc) +SUMMARY_formatsextra_source="TeX Collection: Additional formats (source files)" +DESCRIPTION_formatsextra_source="Collected TeX \`formats', i.e., large-scale macro packages designed to be dumped into .fmt files -- excluding the most common ones, such as latex and context, which have their own package(s). It also includes the Aleph engine and related Omega formats and packages." +PROVIDES_formatsextra_source=" + texlive_formatsextra_source = $portVersion + " +REQUIRES_formatsextra_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_formatsextra_source + " +subpackages+=(formatsextra_source) +SUMMARY_games="TeX Collection: Games typesetting" +DESCRIPTION_games="Setups for typesetting various games, including chess." +PROVIDES_games=" + texlive_games = $portVersion + " +REQUIRES_games=" + haiku + texlive == $portVersion base + texlive_latex + " +REQUIRES_full+=" + texlive_games + " +POST_INSTALL_SCRIPTS_games="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(games) +SUMMARY_games_doc="TeX Collection: Games typesetting (documentation)" +DESCRIPTION_games_doc="Setups for typesetting various games, including chess." +PROVIDES_games_doc=" + texlive_games_doc = $portVersion + " +REQUIRES_games_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_games_doc + " +subpackages+=(games_doc) +SUMMARY_games_source="TeX Collection: Games typesetting (source files)" +DESCRIPTION_games_source="Setups for typesetting various games, including chess." +PROVIDES_games_source=" + texlive_games_source = $portVersion + " +REQUIRES_games_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_games_source + " +subpackages+=(games_source) +SUMMARY_humanities="TeX Collection: Humanities packages" +DESCRIPTION_humanities="Packages for law, linguistics, social sciences, humanities, etc." +PROVIDES_humanities=" + texlive_humanities = $portVersion + " +REQUIRES_humanities=" + haiku + texlive == $portVersion base + texlive_latex + " +REQUIRES_full+=" + texlive_humanities + " +POST_INSTALL_SCRIPTS_humanities="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(humanities) +SUMMARY_humanities_doc="TeX Collection: Humanities packages (documentation)" +DESCRIPTION_humanities_doc="Packages for law, linguistics, social sciences, humanities, etc." +PROVIDES_humanities_doc=" + texlive_humanities_doc = $portVersion + " +REQUIRES_humanities_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_humanities_doc + " +subpackages+=(humanities_doc) +SUMMARY_humanities_source="TeX Collection: Humanities packages (source files)" +DESCRIPTION_humanities_source="Packages for law, linguistics, social sciences, humanities, etc." +PROVIDES_humanities_source=" + texlive_humanities_source = $portVersion + " +REQUIRES_humanities_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_humanities_source + " +subpackages+=(humanities_source) +SUMMARY_langarabic="TeX Collection: Arabic" +DESCRIPTION_langarabic="Support for Arabic and Persian." +PROVIDES_langarabic=" + texlive_langarabic = $portVersion + " +REQUIRES_langarabic=" + haiku + texlive == $portVersion base + texlive_basic + " +REQUIRES_full+=" + texlive_langarabic + " +POST_INSTALL_SCRIPTS_langarabic="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(langarabic) +SUMMARY_langarabic_doc="TeX Collection: Arabic (documentation)" +DESCRIPTION_langarabic_doc="Support for Arabic and Persian." +PROVIDES_langarabic_doc=" + texlive_langarabic_doc = $portVersion + " +REQUIRES_langarabic_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_langarabic_doc + " +subpackages+=(langarabic_doc) +SUMMARY_langarabic_source="TeX Collection: Arabic (source files)" +DESCRIPTION_langarabic_source="Support for Arabic and Persian." +PROVIDES_langarabic_source=" + texlive_langarabic_source = $portVersion + " +REQUIRES_langarabic_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_langarabic_source + " +subpackages+=(langarabic_source) +SUMMARY_langchinese="TeX Collection: Chinese" +DESCRIPTION_langchinese="Support for Chinese; additional packages in collection-langcjk." +PROVIDES_langchinese=" + texlive_langchinese = $portVersion + " +REQUIRES_langchinese=" + haiku + texlive == $portVersion base + texlive_langcjk + " +REQUIRES_full+=" + texlive_langchinese + " +POST_INSTALL_SCRIPTS_langchinese="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(langchinese) +SUMMARY_langchinese_doc="TeX Collection: Chinese (documentation)" +DESCRIPTION_langchinese_doc="Support for Chinese; additional packages in collection-langcjk." +PROVIDES_langchinese_doc=" + texlive_langchinese_doc = $portVersion + " +REQUIRES_langchinese_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_langchinese_doc + " +subpackages+=(langchinese_doc) +SUMMARY_langchinese_source="TeX Collection: Chinese (source files)" +DESCRIPTION_langchinese_source="Support for Chinese; additional packages in collection-langcjk." +PROVIDES_langchinese_source=" + texlive_langchinese_source = $portVersion + " +REQUIRES_langchinese_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_langchinese_source + " +subpackages+=(langchinese_source) +SUMMARY_langcjk="TeX Collection: Chinese/Japanese/Korean (base)" +DESCRIPTION_langcjk="Packages supporting a combination of Chinese, Japanese, Korean, including macros, fonts, documentation. Also Thai in the c90 encoding, since there is some overlap in those fonts; standard Thai support is in collection-langother. Additional packages for CJK are in their individual language collections." +PROVIDES_langcjk=" + texlive_langcjk = $portVersion + " +REQUIRES_langcjk=" + haiku + texlive == $portVersion base + texlive_basic + " +REQUIRES_full+=" + texlive_langcjk + " +POST_INSTALL_SCRIPTS_langcjk="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(langcjk) +SUMMARY_langcjk_doc="TeX Collection: Chinese/Japanese/Korean (base) (documentation)" +DESCRIPTION_langcjk_doc="Packages supporting a combination of Chinese, Japanese, Korean, including macros, fonts, documentation. Also Thai in the c90 encoding, since there is some overlap in those fonts; standard Thai support is in collection-langother. Additional packages for CJK are in their individual language collections." +PROVIDES_langcjk_doc=" + texlive_langcjk_doc = $portVersion + " +REQUIRES_langcjk_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_langcjk_doc + " +subpackages+=(langcjk_doc) +SUMMARY_langcjk_source="TeX Collection: Chinese/Japanese/Korean (base) (source files)" +DESCRIPTION_langcjk_source="Packages supporting a combination of Chinese, Japanese, Korean, including macros, fonts, documentation. Also Thai in the c90 encoding, since there is some overlap in those fonts; standard Thai support is in collection-langother. Additional packages for CJK are in their individual language collections." +PROVIDES_langcjk_source=" + texlive_langcjk_source = $portVersion + " +REQUIRES_langcjk_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_langcjk_source + " +subpackages+=(langcjk_source) +SUMMARY_langcyrillic="TeX Collection: Cyrillic" +DESCRIPTION_langcyrillic="Support for Cyrillic scripts (Bulgarian, Russian, Serbian, Ukrainian), even if Latin alphabets may also be used." +PROVIDES_langcyrillic=" + texlive_langcyrillic = $portVersion + " +REQUIRES_langcyrillic=" + haiku + texlive == $portVersion base + texlive_basic + texlive_latex + " +REQUIRES_full+=" + texlive_langcyrillic + " +POST_INSTALL_SCRIPTS_langcyrillic="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(langcyrillic) +SUMMARY_langcyrillic_doc="TeX Collection: Cyrillic (documentation)" +DESCRIPTION_langcyrillic_doc="Support for Cyrillic scripts (Bulgarian, Russian, Serbian, Ukrainian), even if Latin alphabets may also be used." +PROVIDES_langcyrillic_doc=" + texlive_langcyrillic_doc = $portVersion + " +REQUIRES_langcyrillic_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_langcyrillic_doc + " +subpackages+=(langcyrillic_doc) +SUMMARY_langcyrillic_source="TeX Collection: Cyrillic (source files)" +DESCRIPTION_langcyrillic_source="Support for Cyrillic scripts (Bulgarian, Russian, Serbian, Ukrainian), even if Latin alphabets may also be used." +PROVIDES_langcyrillic_source=" + texlive_langcyrillic_source = $portVersion + " +REQUIRES_langcyrillic_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_langcyrillic_source + " +subpackages+=(langcyrillic_source) +SUMMARY_langczechslovak="TeX Collection: Czech/Slovak" +DESCRIPTION_langczechslovak="Support for Czech/Slovak." +PROVIDES_langczechslovak=" + texlive_langczechslovak = $portVersion + " +REQUIRES_langczechslovak=" + haiku + texlive == $portVersion base + texlive_basic + texlive_latex + " +REQUIRES_full+=" + texlive_langczechslovak + " +POST_INSTALL_SCRIPTS_langczechslovak="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(langczechslovak) +SUMMARY_langczechslovak_doc="TeX Collection: Czech/Slovak (documentation)" +DESCRIPTION_langczechslovak_doc="Support for Czech/Slovak." +PROVIDES_langczechslovak_doc=" + texlive_langczechslovak_doc = $portVersion + " +REQUIRES_langczechslovak_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_langczechslovak_doc + " +subpackages+=(langczechslovak_doc) +SUMMARY_langczechslovak_source="TeX Collection: Czech/Slovak (source files)" +DESCRIPTION_langczechslovak_source="Support for Czech/Slovak." +PROVIDES_langczechslovak_source=" + texlive_langczechslovak_source = $portVersion + " +REQUIRES_langczechslovak_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_langczechslovak_source + " +subpackages+=(langczechslovak_source) +SUMMARY_langenglish="TeX Collection: US and UK English" +DESCRIPTION_langenglish="Support for, and documentation in, English." +PROVIDES_langenglish=" + texlive_langenglish = $portVersion + " +REQUIRES_langenglish=" + haiku + texlive == $portVersion base + texlive_basic + " +REQUIRES_full+=" + texlive_langenglish + " +POST_INSTALL_SCRIPTS_langenglish="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(langenglish) +SUMMARY_langenglish_doc="TeX Collection: US and UK English (documentation)" +DESCRIPTION_langenglish_doc="Support for, and documentation in, English." +PROVIDES_langenglish_doc=" + texlive_langenglish_doc = $portVersion + " +REQUIRES_langenglish_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_langenglish_doc + " +subpackages+=(langenglish_doc) +SUMMARY_langenglish_source="TeX Collection: US and UK English (source files)" +DESCRIPTION_langenglish_source="Support for, and documentation in, English." +PROVIDES_langenglish_source=" + texlive_langenglish_source = $portVersion + " +REQUIRES_langenglish_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_langenglish_source + " +subpackages+=(langenglish_source) +SUMMARY_langeuropean="TeX Collection: Other European languages" +DESCRIPTION_langeuropean="Support for a number of European languages; others (Greek, German, French, ...) have their own collections, depending simply on the size of the support." +PROVIDES_langeuropean=" + texlive_langeuropean = $portVersion + " +REQUIRES_langeuropean=" + haiku + texlive == $portVersion base + texlive_basic + " +REQUIRES_full+=" + texlive_langeuropean + " +POST_INSTALL_SCRIPTS_langeuropean="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(langeuropean) +SUMMARY_langeuropean_doc="TeX Collection: Other European languages (documentation)" +DESCRIPTION_langeuropean_doc="Support for a number of European languages; others (Greek, German, French, ...) have their own collections, depending simply on the size of the support." +PROVIDES_langeuropean_doc=" + texlive_langeuropean_doc = $portVersion + " +REQUIRES_langeuropean_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_langeuropean_doc + " +subpackages+=(langeuropean_doc) +SUMMARY_langeuropean_source="TeX Collection: Other European languages (source files)" +DESCRIPTION_langeuropean_source="Support for a number of European languages; others (Greek, German, French, ...) have their own collections, depending simply on the size of the support." +PROVIDES_langeuropean_source=" + texlive_langeuropean_source = $portVersion + " +REQUIRES_langeuropean_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_langeuropean_source + " +subpackages+=(langeuropean_source) +SUMMARY_langfrench="TeX Collection: French" +DESCRIPTION_langfrench="Support for French and Basque." +PROVIDES_langfrench=" + texlive_langfrench = $portVersion + " +REQUIRES_langfrench=" + haiku + texlive == $portVersion base + texlive_basic + " +REQUIRES_full+=" + texlive_langfrench + " +POST_INSTALL_SCRIPTS_langfrench="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(langfrench) +SUMMARY_langfrench_doc="TeX Collection: French (documentation)" +DESCRIPTION_langfrench_doc="Support for French and Basque." +PROVIDES_langfrench_doc=" + texlive_langfrench_doc = $portVersion + " +REQUIRES_langfrench_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_langfrench_doc + " +subpackages+=(langfrench_doc) +SUMMARY_langfrench_source="TeX Collection: French (source files)" +DESCRIPTION_langfrench_source="Support for French and Basque." +PROVIDES_langfrench_source=" + texlive_langfrench_source = $portVersion + " +REQUIRES_langfrench_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_langfrench_source + " +subpackages+=(langfrench_source) +SUMMARY_langgerman="TeX Collection: German" +DESCRIPTION_langgerman="Support for German." +PROVIDES_langgerman=" + texlive_langgerman = $portVersion + " +REQUIRES_langgerman=" + haiku + texlive == $portVersion base + texlive_basic + " +REQUIRES_full+=" + texlive_langgerman + " +POST_INSTALL_SCRIPTS_langgerman="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(langgerman) +SUMMARY_langgerman_doc="TeX Collection: German (documentation)" +DESCRIPTION_langgerman_doc="Support for German." +PROVIDES_langgerman_doc=" + texlive_langgerman_doc = $portVersion + " +REQUIRES_langgerman_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_langgerman_doc + " +subpackages+=(langgerman_doc) +SUMMARY_langgerman_source="TeX Collection: German (source files)" +DESCRIPTION_langgerman_source="Support for German." +PROVIDES_langgerman_source=" + texlive_langgerman_source = $portVersion + " +REQUIRES_langgerman_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_langgerman_source + " +subpackages+=(langgerman_source) +SUMMARY_langgreek="TeX Collection: Greek" +DESCRIPTION_langgreek="Support for Greek." +PROVIDES_langgreek=" + texlive_langgreek = $portVersion + " +REQUIRES_langgreek=" + haiku + texlive == $portVersion base + texlive_basic + " +REQUIRES_full+=" + texlive_langgreek + " +POST_INSTALL_SCRIPTS_langgreek="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(langgreek) +SUMMARY_langgreek_doc="TeX Collection: Greek (documentation)" +DESCRIPTION_langgreek_doc="Support for Greek." +PROVIDES_langgreek_doc=" + texlive_langgreek_doc = $portVersion + " +REQUIRES_langgreek_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_langgreek_doc + " +subpackages+=(langgreek_doc) +SUMMARY_langgreek_source="TeX Collection: Greek (source files)" +DESCRIPTION_langgreek_source="Support for Greek." +PROVIDES_langgreek_source=" + texlive_langgreek_source = $portVersion + " +REQUIRES_langgreek_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_langgreek_source + " +subpackages+=(langgreek_source) +SUMMARY_langitalian="TeX Collection: Italian" +DESCRIPTION_langitalian="Support for Italian." +PROVIDES_langitalian=" + texlive_langitalian = $portVersion + " +REQUIRES_langitalian=" + haiku + texlive == $portVersion base + texlive_basic + " +REQUIRES_full+=" + texlive_langitalian + " +POST_INSTALL_SCRIPTS_langitalian="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(langitalian) +SUMMARY_langitalian_doc="TeX Collection: Italian (documentation)" +DESCRIPTION_langitalian_doc="Support for Italian." +PROVIDES_langitalian_doc=" + texlive_langitalian_doc = $portVersion + " +REQUIRES_langitalian_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_langitalian_doc + " +subpackages+=(langitalian_doc) +SUMMARY_langitalian_source="TeX Collection: Italian (source files)" +DESCRIPTION_langitalian_source="Support for Italian." +PROVIDES_langitalian_source=" + texlive_langitalian_source = $portVersion + " +REQUIRES_langitalian_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_langitalian_source + " +subpackages+=(langitalian_source) +SUMMARY_langjapanese="TeX Collection: Japanese" +DESCRIPTION_langjapanese="Support for Japanese; additional packages are in collection-langcjk." +PROVIDES_langjapanese=" + texlive_langjapanese = $portVersion + " +REQUIRES_langjapanese=" + haiku + texlive == $portVersion base + texlive_langcjk + " +REQUIRES_full+=" + texlive_langjapanese + " +POST_INSTALL_SCRIPTS_langjapanese="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(langjapanese) +SUMMARY_langjapanese_doc="TeX Collection: Japanese (documentation)" +DESCRIPTION_langjapanese_doc="Support for Japanese; additional packages are in collection-langcjk." +PROVIDES_langjapanese_doc=" + texlive_langjapanese_doc = $portVersion + " +REQUIRES_langjapanese_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_langjapanese_doc + " +subpackages+=(langjapanese_doc) +SUMMARY_langjapanese_source="TeX Collection: Japanese (source files)" +DESCRIPTION_langjapanese_source="Support for Japanese; additional packages are in collection-langcjk." +PROVIDES_langjapanese_source=" + texlive_langjapanese_source = $portVersion + " +REQUIRES_langjapanese_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_langjapanese_source + " +subpackages+=(langjapanese_source) +SUMMARY_langkorean="TeX Collection: Korean" +DESCRIPTION_langkorean="Support for Korean; additional packages in collection-langcjk." +PROVIDES_langkorean=" + texlive_langkorean = $portVersion + " +REQUIRES_langkorean=" + haiku + texlive == $portVersion base + texlive_langcjk + " +REQUIRES_full+=" + texlive_langkorean + " +POST_INSTALL_SCRIPTS_langkorean="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(langkorean) +SUMMARY_langkorean_doc="TeX Collection: Korean (documentation)" +DESCRIPTION_langkorean_doc="Support for Korean; additional packages in collection-langcjk." +PROVIDES_langkorean_doc=" + texlive_langkorean_doc = $portVersion + " +REQUIRES_langkorean_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_langkorean_doc + " +subpackages+=(langkorean_doc) +SUMMARY_langother="TeX Collection: Other languages" +DESCRIPTION_langother="Support for languages not otherwise listed, including Indic, Thai, Vietnamese, Hebrew, Indonesian, African languages, and plenty more. The split is made simply on the basis of the size of the support, to keep both collection sizes and the number of collections reasonable." +PROVIDES_langother=" + texlive_langother = $portVersion + " +REQUIRES_langother=" + haiku + texlive == $portVersion base + texlive_basic + " +REQUIRES_full+=" + texlive_langother + " +POST_INSTALL_SCRIPTS_langother="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(langother) +SUMMARY_langother_doc="TeX Collection: Other languages (documentation)" +DESCRIPTION_langother_doc="Support for languages not otherwise listed, including Indic, Thai, Vietnamese, Hebrew, Indonesian, African languages, and plenty more. The split is made simply on the basis of the size of the support, to keep both collection sizes and the number of collections reasonable." +PROVIDES_langother_doc=" + texlive_langother_doc = $portVersion + " +REQUIRES_langother_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_langother_doc + " +subpackages+=(langother_doc) +SUMMARY_langother_source="TeX Collection: Other languages (source files)" +DESCRIPTION_langother_source="Support for languages not otherwise listed, including Indic, Thai, Vietnamese, Hebrew, Indonesian, African languages, and plenty more. The split is made simply on the basis of the size of the support, to keep both collection sizes and the number of collections reasonable." +PROVIDES_langother_source=" + texlive_langother_source = $portVersion + " +REQUIRES_langother_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_langother_source + " +subpackages+=(langother_source) +SUMMARY_langpolish="TeX Collection: Polish" +DESCRIPTION_langpolish="Support for Polish." +PROVIDES_langpolish=" + texlive_langpolish = $portVersion + " +REQUIRES_langpolish=" + haiku + texlive == $portVersion base + texlive_basic + texlive_latex + " +REQUIRES_full+=" + texlive_langpolish + " +POST_INSTALL_SCRIPTS_langpolish="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(langpolish) +SUMMARY_langpolish_doc="TeX Collection: Polish (documentation)" +DESCRIPTION_langpolish_doc="Support for Polish." +PROVIDES_langpolish_doc=" + texlive_langpolish_doc = $portVersion + " +REQUIRES_langpolish_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_langpolish_doc + " +subpackages+=(langpolish_doc) +SUMMARY_langpolish_source="TeX Collection: Polish (source files)" +DESCRIPTION_langpolish_source="Support for Polish." +PROVIDES_langpolish_source=" + texlive_langpolish_source = $portVersion + " +REQUIRES_langpolish_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_langpolish_source + " +subpackages+=(langpolish_source) +SUMMARY_langportuguese="TeX Collection: Portuguese" +DESCRIPTION_langportuguese="Support for Portuguese." +PROVIDES_langportuguese=" + texlive_langportuguese = $portVersion + " +REQUIRES_langportuguese=" + haiku + texlive == $portVersion base + texlive_basic + " +REQUIRES_full+=" + texlive_langportuguese + " +POST_INSTALL_SCRIPTS_langportuguese="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(langportuguese) +SUMMARY_langportuguese_doc="TeX Collection: Portuguese (documentation)" +DESCRIPTION_langportuguese_doc="Support for Portuguese." +PROVIDES_langportuguese_doc=" + texlive_langportuguese_doc = $portVersion + " +REQUIRES_langportuguese_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_langportuguese_doc + " +subpackages+=(langportuguese_doc) +SUMMARY_langportuguese_source="TeX Collection: Portuguese (source files)" +DESCRIPTION_langportuguese_source="Support for Portuguese." +PROVIDES_langportuguese_source=" + texlive_langportuguese_source = $portVersion + " +REQUIRES_langportuguese_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_langportuguese_source + " +subpackages+=(langportuguese_source) +SUMMARY_langspanish="TeX Collection: Spanish" +DESCRIPTION_langspanish="Support for Spanish." +PROVIDES_langspanish=" + texlive_langspanish = $portVersion + " +REQUIRES_langspanish=" + haiku + texlive == $portVersion base + texlive_basic + " +REQUIRES_full+=" + texlive_langspanish + " +POST_INSTALL_SCRIPTS_langspanish="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(langspanish) +SUMMARY_langspanish_doc="TeX Collection: Spanish (documentation)" +DESCRIPTION_langspanish_doc="Support for Spanish." +PROVIDES_langspanish_doc=" + texlive_langspanish_doc = $portVersion + " +REQUIRES_langspanish_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_langspanish_doc + " +subpackages+=(langspanish_doc) +SUMMARY_langspanish_source="TeX Collection: Spanish (source files)" +DESCRIPTION_langspanish_source="Support for Spanish." +PROVIDES_langspanish_source=" + texlive_langspanish_source = $portVersion + " +REQUIRES_langspanish_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_langspanish_source + " +subpackages+=(langspanish_source) +SUMMARY_latex="TeX Collection: LaTeX fundamental packages" +DESCRIPTION_latex="These packages are either mandated by the core LaTeX team, or very widely used and strongly recommended in practice." +PROVIDES_latex=" + texlive_latex = $portVersion + " +REQUIRES_latex=" + haiku + texlive == $portVersion base + texlive_basic + " +REQUIRES_full+=" + texlive_latex + " +POST_INSTALL_SCRIPTS_latex="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(latex) +SUMMARY_latex_doc="TeX Collection: LaTeX fundamental packages (documentation)" +DESCRIPTION_latex_doc="These packages are either mandated by the core LaTeX team, or very widely used and strongly recommended in practice." +PROVIDES_latex_doc=" + texlive_latex_doc = $portVersion + " +REQUIRES_latex_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_latex_doc + " +subpackages+=(latex_doc) +SUMMARY_latex_source="TeX Collection: LaTeX fundamental packages (source files)" +DESCRIPTION_latex_source="These packages are either mandated by the core LaTeX team, or very widely used and strongly recommended in practice." +PROVIDES_latex_source=" + texlive_latex_source = $portVersion + " +REQUIRES_latex_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_latex_source + " +subpackages+=(latex_source) +SUMMARY_latexextra="TeX Collection: LaTeX additional packages" +DESCRIPTION_latexextra="A very large collection of add-on packages for LaTeX." +PROVIDES_latexextra=" + texlive_latexextra = $portVersion + " +REQUIRES_latexextra=" + haiku + texlive == $portVersion base + texlive_latexrecommended + texlive_pictures + " +REQUIRES_full+=" + texlive_latexextra + " +POST_INSTALL_SCRIPTS_latexextra="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(latexextra) +SUMMARY_latexextra_doc="TeX Collection: LaTeX additional packages (documentation)" +DESCRIPTION_latexextra_doc="A very large collection of add-on packages for LaTeX." +PROVIDES_latexextra_doc=" + texlive_latexextra_doc = $portVersion + " +REQUIRES_latexextra_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_latexextra_doc + " +subpackages+=(latexextra_doc) +SUMMARY_latexextra_source="TeX Collection: LaTeX additional packages (source files)" +DESCRIPTION_latexextra_source="A very large collection of add-on packages for LaTeX." +PROVIDES_latexextra_source=" + texlive_latexextra_source = $portVersion + " +REQUIRES_latexextra_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_latexextra_source + " +subpackages+=(latexextra_source) +SUMMARY_latexrecommended="TeX Collection: LaTeX recommended packages" +DESCRIPTION_latexrecommended="A collection of recommended add-on packages for LaTeX which have widespread use, and the release candidate formats latex-dev, etc." +PROVIDES_latexrecommended=" + texlive_latexrecommended = $portVersion + " +REQUIRES_latexrecommended=" + haiku + texlive == $portVersion base + texlive_latex + " +REQUIRES_full+=" + texlive_latexrecommended + " +POST_INSTALL_SCRIPTS_latexrecommended="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(latexrecommended) +SUMMARY_latexrecommended_doc="TeX Collection: LaTeX recommended packages (documentation)" +DESCRIPTION_latexrecommended_doc="A collection of recommended add-on packages for LaTeX which have widespread use, and the release candidate formats latex-dev, etc." +PROVIDES_latexrecommended_doc=" + texlive_latexrecommended_doc = $portVersion + " +REQUIRES_latexrecommended_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_latexrecommended_doc + " +subpackages+=(latexrecommended_doc) +SUMMARY_latexrecommended_source="TeX Collection: LaTeX recommended packages (source files)" +DESCRIPTION_latexrecommended_source="A collection of recommended add-on packages for LaTeX which have widespread use, and the release candidate formats latex-dev, etc." +PROVIDES_latexrecommended_source=" + texlive_latexrecommended_source = $portVersion + " +REQUIRES_latexrecommended_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_latexrecommended_source + " +subpackages+=(latexrecommended_source) +SUMMARY_luatex="TeX Collection: LuaTeX packages" +DESCRIPTION_luatex="Packages for LuaTeX, a Unicode-aware extension of pdfTeX, using Lua as an embedded scripting and extension language. http://luatex.org/" +PROVIDES_luatex=" + texlive_luatex = $portVersion + " +REQUIRES_luatex=" + haiku + texlive == $portVersion base + texlive_basic + " +REQUIRES_full+=" + texlive_luatex + " +POST_INSTALL_SCRIPTS_luatex="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(luatex) +SUMMARY_luatex_doc="TeX Collection: LuaTeX packages (documentation)" +DESCRIPTION_luatex_doc="Packages for LuaTeX, a Unicode-aware extension of pdfTeX, using Lua as an embedded scripting and extension language. http://luatex.org/" +PROVIDES_luatex_doc=" + texlive_luatex_doc = $portVersion + " +REQUIRES_luatex_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_luatex_doc + " +subpackages+=(luatex_doc) +SUMMARY_luatex_source="TeX Collection: LuaTeX packages (source files)" +DESCRIPTION_luatex_source="Packages for LuaTeX, a Unicode-aware extension of pdfTeX, using Lua as an embedded scripting and extension language. http://luatex.org/" +PROVIDES_luatex_source=" + texlive_luatex_source = $portVersion + " +REQUIRES_luatex_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_luatex_source + " +subpackages+=(luatex_source) +SUMMARY_mathscience="TeX Collection: Mathematics, natural sciences, computer scienc…" +PROVIDES_mathscience=" + texlive_mathscience = $portVersion + " +REQUIRES_mathscience=" + haiku + texlive == $portVersion base + texlive_fontsrecommended + texlive_latex + " +REQUIRES_full+=" + texlive_mathscience + " +POST_INSTALL_SCRIPTS_mathscience="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(mathscience) +SUMMARY_mathscience_doc="TeX Collection: Mathematics, natural sciences, computer scienc… (documentation)" +PROVIDES_mathscience_doc=" + texlive_mathscience_doc = $portVersion + " +REQUIRES_mathscience_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_mathscience_doc + " +subpackages+=(mathscience_doc) +SUMMARY_mathscience_source="TeX Collection: Mathematics, natural sciences, computer scienc… (source files)" +PROVIDES_mathscience_source=" + texlive_mathscience_source = $portVersion + " +REQUIRES_mathscience_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_mathscience_source + " +subpackages+=(mathscience_source) +SUMMARY_metapost="TeX Collection: MetaPost and Metafont packages" +PROVIDES_metapost=" + texlive_metapost = $portVersion + " +REQUIRES_metapost=" + haiku + texlive == $portVersion base + texlive_basic + " +REQUIRES_full+=" + texlive_metapost + " +POST_INSTALL_SCRIPTS_metapost="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(metapost) +SUMMARY_metapost_doc="TeX Collection: MetaPost and Metafont packages (documentation)" +PROVIDES_metapost_doc=" + texlive_metapost_doc = $portVersion + " +REQUIRES_metapost_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_metapost_doc + " +subpackages+=(metapost_doc) +SUMMARY_metapost_source="TeX Collection: MetaPost and Metafont packages (source files)" +PROVIDES_metapost_source=" + texlive_metapost_source = $portVersion + " +REQUIRES_metapost_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_metapost_source + " +subpackages+=(metapost_source) +SUMMARY_music="TeX Collection: Music packages" +DESCRIPTION_music="Music-related fonts and packages." +PROVIDES_music=" + texlive_music = $portVersion + " +REQUIRES_music=" + haiku + texlive == $portVersion base + texlive_latex + " +REQUIRES_full+=" + texlive_music + " +POST_INSTALL_SCRIPTS_music="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(music) +SUMMARY_music_doc="TeX Collection: Music packages (documentation)" +DESCRIPTION_music_doc="Music-related fonts and packages." +PROVIDES_music_doc=" + texlive_music_doc = $portVersion + " +REQUIRES_music_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_music_doc + " +subpackages+=(music_doc) +SUMMARY_music_source="TeX Collection: Music packages (source files)" +DESCRIPTION_music_source="Music-related fonts and packages." +PROVIDES_music_source=" + texlive_music_source = $portVersion + " +REQUIRES_music_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_music_source + " +subpackages+=(music_source) +SUMMARY_pictures="TeX Collection: Graphics, pictures, diagrams" +DESCRIPTION_pictures="Including TikZ, pict, etc., but MetaPost and PStricks are separate." +PROVIDES_pictures=" + texlive_pictures = $portVersion + " +REQUIRES_pictures=" + haiku + texlive == $portVersion base + texlive_basic + " +REQUIRES_full+=" + texlive_pictures + " +POST_INSTALL_SCRIPTS_pictures="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(pictures) +SUMMARY_pictures_doc="TeX Collection: Graphics, pictures, diagrams (documentation)" +DESCRIPTION_pictures_doc="Including TikZ, pict, etc., but MetaPost and PStricks are separate." +PROVIDES_pictures_doc=" + texlive_pictures_doc = $portVersion + " +REQUIRES_pictures_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_pictures_doc + " +subpackages+=(pictures_doc) +SUMMARY_pictures_source="TeX Collection: Graphics, pictures, diagrams (source files)" +DESCRIPTION_pictures_source="Including TikZ, pict, etc., but MetaPost and PStricks are separate." +PROVIDES_pictures_source=" + texlive_pictures_source = $portVersion + " +REQUIRES_pictures_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_pictures_source + " +subpackages+=(pictures_source) +SUMMARY_plaingeneric="TeX Collection: Plain (La)TeX packages" +DESCRIPTION_plaingeneric="Add-on packages and macros that work with plain TeX, often LaTeX, and occasionally other formats." +PROVIDES_plaingeneric=" + texlive_plaingeneric = $portVersion + " +REQUIRES_plaingeneric=" + haiku + texlive == $portVersion base + texlive_basic + " +REQUIRES_full+=" + texlive_plaingeneric + " +POST_INSTALL_SCRIPTS_plaingeneric="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(plaingeneric) +SUMMARY_plaingeneric_doc="TeX Collection: Plain (La)TeX packages (documentation)" +DESCRIPTION_plaingeneric_doc="Add-on packages and macros that work with plain TeX, often LaTeX, and occasionally other formats." +PROVIDES_plaingeneric_doc=" + texlive_plaingeneric_doc = $portVersion + " +REQUIRES_plaingeneric_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_plaingeneric_doc + " +subpackages+=(plaingeneric_doc) +SUMMARY_plaingeneric_source="TeX Collection: Plain (La)TeX packages (source files)" +DESCRIPTION_plaingeneric_source="Add-on packages and macros that work with plain TeX, often LaTeX, and occasionally other formats." +PROVIDES_plaingeneric_source=" + texlive_plaingeneric_source = $portVersion + " +REQUIRES_plaingeneric_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_plaingeneric_source + " +subpackages+=(plaingeneric_source) +SUMMARY_pstricks="TeX Collection: PSTricks" +DESCRIPTION_pstricks="PSTricks core and all add-on packages." +PROVIDES_pstricks=" + texlive_pstricks = $portVersion + " +REQUIRES_pstricks=" + haiku + texlive == $portVersion base + texlive_basic + texlive_plaingeneric + " +REQUIRES_full+=" + texlive_pstricks + " +POST_INSTALL_SCRIPTS_pstricks="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(pstricks) +SUMMARY_pstricks_doc="TeX Collection: PSTricks (documentation)" +DESCRIPTION_pstricks_doc="PSTricks core and all add-on packages." +PROVIDES_pstricks_doc=" + texlive_pstricks_doc = $portVersion + " +REQUIRES_pstricks_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_pstricks_doc + " +subpackages+=(pstricks_doc) +SUMMARY_pstricks_source="TeX Collection: PSTricks (source files)" +DESCRIPTION_pstricks_source="PSTricks core and all add-on packages." +PROVIDES_pstricks_source=" + texlive_pstricks_source = $portVersion + " +REQUIRES_pstricks_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_pstricks_source + " +subpackages+=(pstricks_source) +SUMMARY_publishers="TeX Collection: Publisher styles, theses, etc" +PROVIDES_publishers=" + texlive_publishers = $portVersion + " +REQUIRES_publishers=" + haiku + texlive == $portVersion base + texlive_latex + " +REQUIRES_full+=" + texlive_publishers + " +POST_INSTALL_SCRIPTS_publishers="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(publishers) +SUMMARY_publishers_doc="TeX Collection: Publisher styles, theses, etc (documentation)" +PROVIDES_publishers_doc=" + texlive_publishers_doc = $portVersion + " +REQUIRES_publishers_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_publishers_doc + " +subpackages+=(publishers_doc) +SUMMARY_publishers_source="TeX Collection: Publisher styles, theses, etc (source files)" +PROVIDES_publishers_source=" + texlive_publishers_source = $portVersion + " +REQUIRES_publishers_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_publishers_source + " +subpackages+=(publishers_source) +SUMMARY_texworks_doc="TeX Collection: TeXworks editor; TL includes only the Windows … (documentation)" +DESCRIPTION_texworks_doc="See http://tug.org/texworks." +PROVIDES_texworks_doc=" + texlive_texworks_doc = $portVersion + " +REQUIRES_texworks_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_texworks_doc + " +subpackages+=(texworks_doc) +SUMMARY_xetex="TeX Collection: XeTeX and packages" +DESCRIPTION_xetex="Packages for XeTeX, the Unicode/OpenType-enabled TeX by Jonathan Kew, http://tug.org/xetex." +PROVIDES_xetex=" + texlive_xetex = $portVersion + " +REQUIRES_xetex=" + haiku + texlive == $portVersion base + texlive_basic + " +REQUIRES_full+=" + texlive_xetex + " +POST_INSTALL_SCRIPTS_xetex="$relativePostInstallDir/texlive_postinstall.sh" +subpackages+=(xetex) +SUMMARY_xetex_doc="TeX Collection: XeTeX and packages (documentation)" +DESCRIPTION_xetex_doc="Packages for XeTeX, the Unicode/OpenType-enabled TeX by Jonathan Kew, http://tug.org/xetex." +PROVIDES_xetex_doc=" + texlive_xetex_doc = $portVersion + " +REQUIRES_xetex_doc=" + haiku + texlive == $portVersion base + " +REQUIRES_full_doc+=" + texlive_xetex_doc + " +subpackages+=(xetex_doc) +SUMMARY_xetex_source="TeX Collection: XeTeX and packages (source files)" +DESCRIPTION_xetex_source="Packages for XeTeX, the Unicode/OpenType-enabled TeX by Jonathan Kew, http://tug.org/xetex." +PROVIDES_xetex_source=" + texlive_xetex_source = $portVersion + " +REQUIRES_xetex_source=" + haiku + texlive == $portVersion base + " +REQUIRES_full_source+=" + texlive_xetex_source + " +subpackages+=(xetex_source) diff --git a/app-text/texlive/additional-files/texlive_postinstall.sh b/app-text/texlive/additional-files/texlive_postinstall.sh index aca611d61..6b36d727b 100644 --- a/app-text/texlive/additional-files/texlive_postinstall.sh +++ b/app-text/texlive/additional-files/texlive_postinstall.sh @@ -1,6 +1,7 @@ #!/bin/bash -fmtutil-sys --all -#mtxrun --generate -updmap-sys - +processList=$(ps) +processCount=$(grep texlive_update.sh <<< "$processList" | wc -l) +if [ $processCount -eq 0 ]; then # if no texlive_update is running yet, run it + /boot/system/bin/texlive_update.sh & +fi diff --git a/app-text/texlive/additional-files/texlive_update.sh b/app-text/texlive/additional-files/texlive_update.sh new file mode 100644 index 000000000..c71b50e20 --- /dev/null +++ b/app-text/texlive/additional-files/texlive_update.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +mktexlsr +fmtutil-sys --all +#mtxrun --generate +updmap-sys + diff --git a/app-text/texlive/texlive-2021.recipe b/app-text/texlive/texlive-2021.recipe index e027fe068..c7ca7a31f 100644 --- a/app-text/texlive/texlive-2021.recipe +++ b/app-text/texlive/texlive-2021.recipe @@ -18,16 +18,20 @@ SOURCE_DIR="install-tl-20210324" SOURCE_DIR_2="texlive-$fullVersion-texmf" SOURCE_DIR_3="texlive-$fullVersion-extra" ADDITIONAL_FILES=" + createSubpackageInfos.pl + getPackageEntries.pl + subpackageInfos.recipe texlive.profile texlive_postinstall.sh + texlive_update.sh " -POST_INSTALL_SCRIPTS="$relativePostInstallDir/texlive_postinstall.sh" ARCHITECTURES="?any" DISABLE_SOURCE_PACKAGE="yes" PROVIDES=" texlive = $portVersion + cmd:texlive_update.sh " REQUIRES=" haiku @@ -35,13 +39,36 @@ REQUIRES=" cmd:kpsewhich " -PROVIDES_doc=" - texlive_doc = $portVersion +SUMMARY_full="Metapackage for all TeXLive collections" +PROVIDES_full=" + texlive_full = $portVersion " -REQUIRES_doc=" - cmd:kpsewhich + +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.recipe + BUILD_REQUIRES=" haiku_devel cmd:kpsewhich @@ -52,6 +79,7 @@ BUILD_PREREQUIRES=" GLOBAL_WRITABLE_FILES=" settings/texlive/ls-R auto-merge + var/texlive/fonts/conf/texlive-fontconfig.conf 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 @@ -166,7 +194,13 @@ GLOBAL_WRITABLE_FILES=" var/texlive/web2c/xetex/xetex.log " -fetchTexLiveInstaller() +PATCH() { + sed -i "s|\`kpsewhich -var-value=SELFAUTOPARENT\`|\"$dataDir/texlive\"|" $sourceDir/tlpkg/TeXLive/TLUtils.pm + sed -i "s|\`kpsewhich -var-value=FC_CACHEDIR\`|\"$sharedStateDir/texlive/fonts/cache\"|" $sourceDir3/tlpkg/tlpostcode/xetex.pl + sed -i "s|\`kpsewhich -var-value=FONTCONFIG_PATH\`|\"$sharedStateDir/texlive/fonts/conf\"|" $sourceDir3/tlpkg/tlpostcode/xetex.pl +} + +BUILD() { # Put the texmf-dist into the correct location rm -rv texmf-dist || true @@ -176,14 +210,14 @@ fetchTexLiveInstaller() if [ $targetArchitecture = x86_gcc2 ] || [ $targetArchitecture = x86 ]; then if [ ! -e bin/i386-haiku ] ; then - mkdir -p bin - ln -s /boot/system/bin bin/i386-haiku + mkdir -pv bin + ln -sv /boot/system/bin bin/i386-haiku fi else if [ ! -e bin/${targetArchitecture}-haiku ] ; then - mkdir -p bin - ln -s /boot/system/bin bin/${targetArchitecture}-haiku + mkdir -pv bin + ln -sv /boot/system/bin bin/${targetArchitecture}-haiku fi fi @@ -194,15 +228,8 @@ fetchTexLiveInstaller() cp -v $sourceDir3/{README{,.usergroups},{index,doc}.html} . } -PATCH() { - sed -i "s|\`kpsewhich -var-value=SELFAUTOPARENT\`|\"$dataDir/texlive\"|" $sourceDir/tlpkg/TeXLive/TLUtils.pm - sed -i "s|\`kpsewhich -var-value=FC_CACHEDIR\`|\"$sharedStateDir/texlive/fonts/cache\"|" $sourceDir3/tlpkg/tlpostcode/xetex.pl - sed -i "s|\`kpsewhich -var-value=FONTCONFIG_PATH\`|\"$sharedStateDir/texlive/fonts/conf\"|" $sourceDir3/tlpkg/tlpostcode/xetex.pl -} - INSTALL() { - fetchTexLiveInstaller export TEXLIVE_INSTALL_PREFIX=$dataDir/texlive export TEXLIVE_INSTALL_TEXMFSYSVAR=$sharedStateDir/texlive export TEXLIVE_INSTALL_TEXMFSYSCONFIG=$sysconfDir/texlive @@ -230,18 +257,18 @@ INSTALL() # replace it with the known working version from the main texlive_core package cp -f /boot/system/data/texmf-dist/web2c/texmf.cnf $dataDir/texlive/texmf-dist/web2c/texmf.cnf - # remove useless libtool files and other unneeded files - rm -f $libDir/*.la - rm -rf $dataDir/texlive/bin - rm -f $dataDir/texlive/install-tl* - mkdir -p $postInstallDir - install -t $postInstallDir -m 755 $portDir/additional-files/texlive_postinstall.sh + mkdir -p $binDir + install -t $binDir -m 755 $portDir/additional-files/texlive_update.sh - # texmf_doc package - packageEntries doc \ - $dataDir/texlive/texmf-dist/doc - - # exit 1 + 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 }