diff --git a/pkgs/tools/typesetting/tex/texlive/default.nix b/pkgs/tools/typesetting/tex/texlive/default.nix index 49b2342623ca..7d4eb1728899 100644 --- a/pkgs/tools/typesetting/tex/texlive/default.nix +++ b/pkgs/tools/typesetting/tex/texlive/default.nix @@ -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" \ diff --git a/pkgs/tools/typesetting/tex/texlive/fixed-hashes.nix b/pkgs/tools/typesetting/tex/texlive/fixed-hashes.nix index 5b704a1870a0..d12958e5c224 100644 --- a/pkgs/tools/typesetting/tex/texlive/fixed-hashes.nix +++ b/pkgs/tools/typesetting/tex/texlive/fixed-hashes.nix @@ -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";