texlive: enable tlmgr (for user mode only)

This commit is contained in:
Vincenzo Mantova 2023-08-07 19:24:55 +01:00
parent 815e1e0e2d
commit 6e7ef038ee
2 changed files with 29 additions and 16 deletions

View File

@ -6,7 +6,7 @@
, callPackage, ghostscript_headless, harfbuzz
, makeWrapper
, python3, ruby, perl, tk, jdk, bash, snobol4
, coreutils, findutils, gawk, getopt, gnugrep, gnumake, gnused, gzip, ncurses, zip
, coreutils, findutils, gawk, getopt, gnugrep, gnumake, gnupg, gnused, gzip, ncurses, zip
, libfaketime, asymptote, biber-ms, makeFontsConf
, useFixedHashes ? true
, recurseIntoAttrs
@ -54,7 +54,6 @@ let
fontinst.scriptsFolder = "texlive-extra";
mptopdf.scriptsFolder = "context/perl";
pdftex.scriptsFolder = "simpdftex";
"texlive.infra".scriptsFolder = "texlive";
texlive-scripts.scriptsFolder = "texlive";
texlive-scripts-extra.scriptsFolder = "texlive-extra";
xetex.scriptsFolder = "texlive-extra";
@ -113,7 +112,6 @@ let
ps2eps.extraBuildInputs = [ ghostscript_headless ];
pst2pdf.extraBuildInputs = [ ghostscript_headless ];
tex4ht.extraBuildInputs = [ ruby ];
"texlive.infra".extraBuildInputs = [ coreutils gnused (lib.last tl.kpathsea.pkgs) ];
texlive-scripts.extraBuildInputs = [ gnused ];
texlive-scripts-extra.extraBuildInputs = [ coreutils findutils ghostscript_headless gnused ];
thumbpdf.extraBuildInputs = [ ghostscript_headless ];
@ -337,14 +335,6 @@ let
substituteInPlace "$out"/bin/latexindent --replace 'use FindBin;' "BEGIN { \$0 = '$scriptsFolder' . '/latexindent.pl'; }; use FindBin;"
'';
# make tlmgr believe it can use kpsewhich to evaluate TEXMFROOT
# add runtime dependencies to PATH
"texlive.infra".postFixup = ''
substituteInPlace "$out"/bin/tlmgr \
--replace 'if (-r "$bindir/$kpsewhichname")' 'if (1)'
sed -i '2iPATH="${lib.makeBinPath overridden."texlive.infra".extraBuildInputs}''${PATH:+:$PATH}"' "$out"/bin/mktexlsr
'';
# Patch texlinks.sh back to 2015 version;
# otherwise some bin/ links break, e.g. xe(la)tex.
# add runtime dependencies to PATH
@ -404,6 +394,29 @@ let
fi
'';
};
"texlive.infra" = {
extraRevision = ".tlpdb${toString tlpdbVersion.revision}";
extraVersion = "-tlpdb-${toString tlpdbVersion.revision}";
scriptsFolder = "texlive";
extraBuildInputs = [ coreutils gnused gnupg (lib.last tl.kpathsea.pkgs) (perl.withPackages (ps: with ps; [ Tk ])) ];
# make tlmgr believe it can use kpsewhich to evaluate TEXMFROOT
postFixup = ''
substituteInPlace "$out"/bin/tlmgr \
--replace 'if (-r "$bindir/$kpsewhichname")' 'if (1)'
sed -i '2i$ENV{PATH}='"'"'${lib.makeBinPath [ gnupg ]}'"'"' . ($ENV{PATH} ? ":$ENV{PATH}" : '"'''"');' "$out"/bin/tlmgr
sed -i '2iPATH="${lib.makeBinPath [ coreutils gnused (lib.last tl.kpathsea.pkgs) ]}''${PATH:+:$PATH}"' "$out"/bin/mktexlsr
'';
# add minimal texlive.tlpdb
postUnpack = ''
if [[ "$tlType" == "tlpkg" ]] ; then
xzcat "${tlpdbxz}" | sed -n -e '/^name \(00texlive.config\|00texlive.installation\)$/,/^$/p' > "$out"/texlive.tlpdb
fi
'';
};
}; # overrides
in lib.mapAttrs mkTLPkg overridden;
@ -571,7 +584,7 @@ let
if [[ "$tlType" == "tlpkg" ]]; then
tar -xf "$src" \
--strip-components=1 \
-C "$out" --anchored --exclude=tlpkg/tlpobj --exclude=tlpkg/installer --exclude=tlpkg/gpg --keep-old-files \
-C "$out" --anchored --exclude=tlpkg/tlpobj --keep-old-files \
tlpkg
else
tar -xf "$src" \

View File

@ -8636,12 +8636,12 @@
"texlive-scripts-extra.r62517"="193v0r4i3p4psn5b4q0ggpgaazwn6jadjlzh5gjm3igg9k73i1wj";
"texlive-scripts-extra.doc.r62517"="1izzy295pmxrg0sf2szxxahxm6s8bfi960mbs9z6vy7m5j1szxwl";
"texlive-scripts.doc.r66570"="0zvji7w8zvykmy97yim0yx0m05pazg0f60bbls0lb3mnx7rx8imj";
"texlive-scripts.tlpkg.r66570"="0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5";
"texlive-scripts.tlpkg.r66570"="07b68n9i587v247hpqnhwi052iczwg15z0npc1s5g1yxriy5k1lf";
"texlive-sr.doc.r54594"="0icavs9jkcr5b5cx5kv202k95j0ydgby9lqrw8wm9h936mbn9bkj";
"texlive-zh-cn.doc.r54490"="1r8n9k1cy7798g1rg1hyj6g945j9649c5hhqf8hm7a7abzx7w6ll";
"texlive.infra.r63645"="127ff11k8hamywgvvb4apbg1ra64ig7sghg0qqn8c913mqgxf844";
"texlive.infra.doc.r63645"="1c9xqbbbn2h7v76kp7bhjwk1g3zzykgdrkrslrzrrhs9x7laicl4";
"texlive.infra.tlpkg.r63645"="135cgamyq6dnffa7r8xvyr8krx65gqdgy88v3wwprqwz4dfhvzpi";
"texlive.infra.r63645.tlpdb66590"="127ff11k8hamywgvvb4apbg1ra64ig7sghg0qqn8c913mqgxf844";
"texlive.infra.doc.r63645.tlpdb66590"="1c9xqbbbn2h7v76kp7bhjwk1g3zzykgdrkrslrzrrhs9x7laicl4";
"texlive.infra.tlpkg.r63645.tlpdb66590"="0msr7i7vp5wf63fkjmmx0c2h13ky17j5qlrq7rbnym732ryzlx7r";
"texliveonfly.r55777"="03i9pzqv2dz4z9nlq60kzwiyfvzhhaalhczqa9146jp4wvcib9l3";
"texliveonfly.doc.r55777"="1fsabzkbcrk42rsp8ssx0kvap31y1rqnkq582129946q3njvmylx";
"texloganalyser.r54526"="0icav63nll0lj85cqlbg1lx1r6ysjf1lyv5bydxr3flr1c7yqx2r";