From ee6b3e602cb05451b8fb1449188a301ca6e4f4ac Mon Sep 17 00:00:00 2001 From: fosslinux Date: Thu, 9 Nov 2023 14:40:37 +1100 Subject: [PATCH] texlive: update to 20230313. --- common/build-style/texmf.sh | 11 ++- common/environment/build-style/texmf.sh | 2 - .../build-style/texmf/ownership.txt | 9 +-- srcpkgs/texlive/files/remove-himktables.patch | 13 ++++ .../texlive/patches/luajit-arch-fixes.patch | 27 +++---- srcpkgs/texlive/patches/tlmgr.patch | 72 +++++++++---------- srcpkgs/texlive/template | 49 +++++++------ 7 files changed, 89 insertions(+), 94 deletions(-) create mode 100644 srcpkgs/texlive/files/remove-himktables.patch diff --git a/common/build-style/texmf.sh b/common/build-style/texmf.sh index dbed1fd64bf..76f8a871e85 100644 --- a/common/build-style/texmf.sh +++ b/common/build-style/texmf.sh @@ -3,14 +3,11 @@ do_build() { # Extract the source files mkdir -p "build/usr/share/texmf-dist" find . -maxdepth 1 -print -name "*.tar.xz" \ - -exec bsdtar -C "build/usr/share/texmf-dist" -xf {} \; + -exec bsdtar \ + -s '|^texmf-dist/||' \ + -C "build/usr/share/texmf-dist" \ + -xf {} \; cd "build/usr/share/texmf-dist/" - # Everything in usr/share/texmf-dist/texmf-dist should really be in - # usr/share/texmf-dist, so we move it - if [ -d "texmf-dist" ] ; then - rsync -ar texmf-dist/ ./ - rm -rf texmf-dist/ - fi # LICENSEs are unneeded rm -f LICENSE* diff --git a/common/environment/build-style/texmf.sh b/common/environment/build-style/texmf.sh index b0ecf4702fe..6567e43b6b6 100644 --- a/common/environment/build-style/texmf.sh +++ b/common/environment/build-style/texmf.sh @@ -1,4 +1,2 @@ -# rsync isn't needed for everything but it's far easier to just put it here -hostmakedepends+=" rsync" # python_version isn't needed for everything either python_version=3 diff --git a/common/environment/build-style/texmf/ownership.txt b/common/environment/build-style/texmf/ownership.txt index 01dcd2f0cc6..0e37ec7fda7 100644 --- a/common/environment/build-style/texmf/ownership.txt +++ b/common/environment/build-style/texmf/ownership.txt @@ -37,13 +37,6 @@ scripts/cjk-gs-integrate/cjk-gs-integrate.pl texlive scripts/clojure-pamphlet/pamphletangler texlive scripts/cluttex/cluttex.lua texlive scripts/context/perl/mptopdf.pl texlive -scripts/context/stubs/unix/contextjit texlive -scripts/context/stubs/unix/context texlive -scripts/context/stubs/unix/luatools texlive -scripts/context/stubs/unix/mtxrunjit texlive -scripts/context/stubs/unix/mtxrun texlive -scripts/context/stubs/unix/texexec texlive -scripts/context/stubs/unix/texmfstart texlive scripts/convbkmk/convbkmk.rb texlive-langjapanese scripts/crossrefware/bbl2bib.pl texlive scripts/crossrefware/bibdoiadd.pl texlive @@ -185,8 +178,8 @@ scripts/texlive/mktexlsr texlive scripts/texlive/mktexmf texlive scripts/texlive/mktexpk texlive scripts/texlive/mktextfm texlive +scripts/texlive/rungs.lua texlive scripts/texliveonfly/texliveonfly.py texlive -scripts/texlive/rungs.tlu texlive scripts/texlive/tlmgr.pl texlive scripts/texlive/updmap.pl texlive scripts/texlive/updmap-sys.sh texlive diff --git a/srcpkgs/texlive/files/remove-himktables.patch b/srcpkgs/texlive/files/remove-himktables.patch new file mode 100644 index 00000000000..5ae3edb9722 --- /dev/null +++ b/srcpkgs/texlive/files/remove-himktables.patch @@ -0,0 +1,13 @@ +--- a/texk/web2c/Makefile.in 2023-12-19 16:13:41.579311491 +1100 ++++ b/texk/web2c/Makefile.in 2023-12-19 16:14:01.587311491 +1100 +@@ -22095,10 +22095,6 @@ + hitex-tangle: ctangle$(EXEEXT) hitexdir/hitex.w tangle-sh + $(hi_ctangle_sh) hitex + +-# Generating hitables.c using himktables. +-hitables.c: himktables$(EXEEXT) +- ./himktables$(EXEEXT) > $@ || { rm -f hitables.c; exit 1; } +- + # hitex, histretch, and hishrink all need (at least) some + # of the sources generated from hiformat.w. + # diff --git a/srcpkgs/texlive/patches/luajit-arch-fixes.patch b/srcpkgs/texlive/patches/luajit-arch-fixes.patch index daf56db0fc7..0012b9ed28a 100644 --- a/srcpkgs/texlive/patches/luajit-arch-fixes.patch +++ b/srcpkgs/texlive/patches/luajit-arch-fixes.patch @@ -9,24 +9,25 @@ Author: q66 --- a/libs/luajit/configure +++ b/libs/luajit/configure -@@ -14243,7 +14243,7 @@ else - fi - if grep 'LJ_ARCH_BITS 64' conftest.i >/dev/null 2>&1; then : +@@ -15267,7 +15267,7 @@ + if grep 'LJ_ARCH_BITS 64' conftest.i >/dev/null 2>&1 + then : echo '-D P64' >>dynasm_flags -- if test "x$LJHOST" = xLinux; then : -+ if test "x$LJHOST" = xLinux -a "x$LJARCH" = xx64; then : +- if test "x$LJHOST" = xLinux ++ if test "x$LJHOST" = xLinux -a "x$LJARCH" = xx64 + then : LUAJIT_DEFINES="$LUAJIT_DEFINES -DMAP_32BIT=0x40" fi - fi -@@ -14294,6 +14294,9 @@ fi - fi - if grep 'LJ_ARCH_PPC32ON64 1' conftest.i >/dev/null 2>&1; then : +@@ -15331,6 +15331,10 @@ + then : echo '-D GPR64' >>dynasm_flags -+fi -+ if grep 'LJ_ARCH_PPC_ELFV2 1' conftest.i >/dev/null 2>&1; then : -+ echo '-D ELFV2' >>dynasm_flags fi - if grep 'LJ_ARCH_PPC64 ' conftest.i >/dev/null 2>&1; then : ++ if grep 'LJ_ARCH_PPC_ELFV2 1' conftest.i >/dev/null 2>&1 ++then : ++ echo '-D ELFV2' >>dynasm_flags ++fi + if grep 'LJ_ARCH_PPC64 ' conftest.i >/dev/null 2>&1 + then : DASM_ARCH=ppc64 --- a/libs/luajit/m4/lj-system.m4 +++ b/libs/luajit/m4/lj-system.m4 diff --git a/srcpkgs/texlive/patches/tlmgr.patch b/srcpkgs/texlive/patches/tlmgr.patch index b4c1c02e894..af78c42f08c 100644 --- a/srcpkgs/texlive/patches/tlmgr.patch +++ b/srcpkgs/texlive/patches/tlmgr.patch @@ -1,31 +1,19 @@ -Modified from Debian's tlmgr patch. -Src: https://raw.githubusercontent.com/debian-tex/texlive-nonbin/9767c8ba4ea64d671eb98ddff550498cd2ac3d51/texlive-base/debian/patches/debian-tlmgr-usermode. - -Modifications: - -* Drop Debian specific wording. -* Drop unnessecary manpage changes. -* Change /usr/share path to what we use. - -Modified by fosslinux. - ---- a/texk/texlive/linked_scripts/texlive/tlmgr.pl -+++ b/texk/texlive/linked_scripts/texlive/tlmgr.pl -@@ -20,7 +20,7 @@ $datrev =~ s/^.*Date: //; - $datrev =~ s/ \(.*$//; - $tlmgrversion = "$tlmgrrevision ($datrev)"; - --our $Master; -+our $Master = "/usr/share/texmf-dist"; - our $loadmediasrcerror; - our $packagelogfile; - our $packagelogged; -@@ -39,38 +39,9 @@ END { - } +--- a/texk/texlive/linked_scripts/texlive/tlmgr.pl 2023-03-09 08:31:49.000000000 +1100 ++++ b/texk/texlive/linked_scripts/texlive/tlmgr.pl 2023-12-18 22:20:18.634173357 +1100 +@@ -13,7 +13,7 @@ + my $tlmgrrevision; + my $tlmgrversion; + my $prg; +-my $bindir; ++my $bindir = '/usr/bin'; + if ($svnrev =~ m/: ([0-9]+) /) { + $tlmgrrevision = $1; + } else { +@@ -44,43 +44,12 @@ BEGIN { -- $^W = 1; - # make subprograms (including kpsewhich) have the right path: + $^W = 1; +- # make subprograms (including kpsewhich) have the right path: - my $kpsewhichname; - if ($^O =~ /^MSWin/i) { - # on w32 $0 and __FILE__ point directly to tlmgr.pl; they can be relative @@ -33,7 +21,7 @@ Modified by fosslinux. - $Master =~ s!\\!/!g; - $Master =~ s![^/]*$!../../..! - unless ($Master =~ s!/texmf-dist/scripts/texlive/tlmgr\.pl$!!i); -- $bindir = "$Master/bin/win32"; +- $bindir = "$Master/bin/windows"; - $kpsewhichname = "kpsewhich.exe"; - # path already set by wrapper batchfile - } else { @@ -47,7 +35,7 @@ Modified by fosslinux. - } - if (-r "$bindir/$kpsewhichname") { - # if not in bootstrapping mode => kpsewhich exists, so use it to get $Master -- chomp($Master = `kpsewhich -var-value=SELFAUTOPARENT`); +- chomp($Master = `kpsewhich -var-value=TEXMFROOT`); - } - - # if we have no directory in which to find our modules, @@ -56,43 +44,49 @@ Modified by fosslinux. - die ("Could not determine directory of tlmgr executable, " - . "maybe shared library woes?\nCheck for error messages above"); - } -+ $bindir = $Master; -+ $ENV{"PATH"} = "$bindir:$ENV{PATH}"; - +- ++ $Master = "/usr/share/texmf-dist"; $::installerdir = $Master; # for config.guess et al., see TLUtils.pm -@@ -615,6 +586,13 @@ for the full story.\n"; + # make Perl find our packages first: + unshift (@INC, "$Master/tlpkg"); +- unshift (@INC, "$Master/texmf-dist/scripts/texlive"); ++ unshift (@INC, "$Master/scripts/texlive"); + } + + use Cwd qw/abs_path/; +@@ -622,6 +591,13 @@ tldie("$prg: Try --help if you need it.\n"); } -+ # automatically switch to user mode on Void, and warn ++ # automatically switch to user mode, and warn + if (!$opts{"usermode"} && $action ne "init-usertree") { + $opts{"usermode"} = 1; -+ print "WARNING: switching to user mode!\n"; -+ print "WARNING: normal mode unsupported on Void Linux.\n"; ++ print "(running on Void Linux, switching to user mode!)\n"; ++ print "(see https://docs.voidlinux.org/config/texlive.html)\n"; + } + # # the main tree we will be working on $::maintree = $Master; -@@ -6118,7 +6096,9 @@ sub action_postaction { +@@ -6260,7 +6236,9 @@ # sets up the user tree for tlmgr in user mode sub action_init_usertree { # init_local_db but do not die if localtlpdb is not found! - init_local_db(2); -+ # we don't ship tlpdb in the system, so don't even ++ # we don't ship tlpdb for system files, so don't even + # try to initialize it. + # init_local_db(2); my $tlpdb = TeXLive::TLPDB->new; my $usertree; if ($opts{"usertree"}) { -@@ -6758,7 +6738,11 @@ sub init_local_db { +@@ -6900,7 +6878,11 @@ if ($should_i_die == 2) { return undef; } else { - die("cannot setup TLPDB in $::maintree"); + if ($opts{'usermode'}) { -+ die("$prg: user mode not initialized, please run `tlmgr init-usertree`\n"); ++ die("$prg: user mode not initialized, please read https://docs.voidlinux.org/config/texlive.html!\n"); + } else { + die("cannot setup TLPDB in $::maintree"); + } diff --git a/srcpkgs/texlive/template b/srcpkgs/texlive/template index 5d519c2d274..d8373e4547c 100644 --- a/srcpkgs/texlive/template +++ b/srcpkgs/texlive/template @@ -1,7 +1,7 @@ # Template file for 'texlive' pkgname=texlive -version=20210325 -revision=8 +version=20230313 +revision=1 build_wrksrc="build" build_style=gnu-configure configure_script="../configure" @@ -64,7 +64,7 @@ configure_args=" --with-system-zlib --with-system-zziplib --with-xdvi-x-toolkit=Xaw" -hostmakedepends="pkg-config perl lua52-BitOp texinfo" +hostmakedepends="pkg-config perl lua52-BitOp texinfo libXaw-devel" makedepends="cairo-devel freetype-devel gd-devel graphite-devel gmp-devel harfbuzz-devel icu-devel libpaper-devel libpng-devel mpfr-devel pixman-devel libteckit-devel zlib-devel zziplib-devel libXaw-devel" @@ -73,8 +73,8 @@ short_desc="TeX Live" maintainer="fosslinux " license="GPL-2.0-or-later" homepage="https://tug.org/texlive/" -distfiles="ftp://tug.org/texlive/historic/2021/texlive-${version}-source.tar.xz" -checksum=7aefd96608d72061970f2d73f275be5648ea8ae815af073016d3106acc0d584b +distfiles="ftp://tug.org/texlive/historic/2023/texlive-${version}-source.tar.xz" +checksum=3878aa0e1ed0301c053b0e2ee4e9ad999c441345f4882e79bdd1c8f4ce9e79b9 python_version=3 # Virtual package cares only about year part of version provides="tex-${version%${version#????}}_1" @@ -207,6 +207,15 @@ EOF #!/bin/sh printf "already complete\\n" EOF + + # himktables needs to be built on host + if [ -n "${CROSS_BUILD}" ]; then + cd "${wrksrc}/build/texk/web2c" + ctangle ../../../texk/web2c/hitexdir/hiformat.w + gcc -o himktables himktables.c + ./himktables > hitables.c + patch -d "${wrksrc}" -Np1 -i ${FILESDIR}/remove-himktables.patch + fi } post_install() { @@ -251,7 +260,9 @@ texlive-XeTeX_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - engine supporting modern typography" pkg_install() { + vmove usr/share/texmf-dist/scripts/texlive-extra/xe*.sh vmove usr/bin/xetex + vmove usr/share/man/man1/xe*.1 ln -s xetex "${PKGDESTDIR}/usr/bin/xelatex" } } @@ -279,14 +290,14 @@ texlive-LuaTeX_package() { vmove "usr/bin/${i}" done fi - for i in checkcites cllualatex cluttex diadia getmapdl l3build luahbtex \ - luaotfload-tool luatools luatex lwarpmk m-tx \ + for i in checkcites cllualatex cluttex diadia digestif getmapdl l3build luafindfont luahbtex \ + luaotfload-tool luatex lwarpmk m-tx \ makeglossaries-lite mflua mflua-nowin musixflx musixtex pmxchords \ ptex2pdf texlua texluac xindex ; do vmove "usr/bin/${i}" done - for i in checkcites cluttex diadia getmap glossaries/makeglossaries-lite.lua \ - l3build luaotfload lwarp m-tx musixtex pmxchords ptex2pdf xindex ; do + for i in checkcites cluttex diadia digestif getmap glossaries/makeglossaries-lite.lua \ + l3build luafindfont luaotfload lwarp m-tx musixtex pmxchords ptex2pdf xindex ; do vmove "usr/share/texmf-dist/scripts/${i}" done for i in luatex texlua texluac ; do @@ -356,7 +367,7 @@ texlive-BibTeX_package() { for i in bbl2bib ctanbib ; do vmove "usr/bin/${i}" done - for i in bib2gls bibexport ; do + for i in bib2gls bibcop bibexport ; do vmove "usr/share/texmf-dist/scripts/${i}" done vmove usr/bin/bib* @@ -365,21 +376,9 @@ texlive-BibTeX_package() { } texlive-ConTeXt_package() { - depends="${sourcepkg}>=${version}_${revision} perl ghostscript" - short_desc+=" - alternative general-purpose document processor" - pkg_install() { - for i in context contextjit mptopdf mtxrun mtxrunjit texexec \ - texmfstart dosepsbin epspdf epspdftk purifyeps repstopdf \ - ps2eps tl-epsffit ; do - vmove "usr/bin/${i}" - done - for i in context dosepsbin epspdf epstopdf ps2eps purifyeps ; do - vmove "usr/share/texmf-dist/scripts/${i}" - done - for i in tl-epsffit ps2eps ; do - vmove "usr/share/man/man1/${i}.1" - done - } + build_style=meta + short_desc+=" (transitional package)" + depends="texlive>=${version}_${revision}" } texlive-PythonTeX_package() {