texlive: 2025.20250703 -> 2025.20260202 (#479358)

This commit is contained in:
Michael Daniels
2026-02-15 15:14:09 +00:00
committed by GitHub
8 changed files with 6930 additions and 5459 deletions
+4
View File
@@ -461,6 +461,7 @@ rec {
"bundledoc"
"cachepic"
"checklistings"
"dtxgen"
"dvipos"
"extractres"
"fig4latex"
@@ -659,11 +660,13 @@ rec {
# requires kpsewhich
"memoize-extract.pl"
"memoize-extract.py"
"git-latexdiff"
# require other texlive binaries in PATH
"allcm"
"allec"
"chkweb"
"dtxgen"
"explcheck"
"extractbb"
"fontinst"
@@ -679,6 +682,7 @@ rec {
"pdftex-quiet"
"pslatex"
"rumakeindex"
"runtexfile"
"texconfig"
"texconfig-sys"
"texexec"
+6 -18
View File
@@ -539,16 +539,16 @@ rec {
let
# The latest release of the context-packaging repo before the CTAN version in tlpdb.nix
# https://github.com/gucci-on-fleek/context-packaging
context_packaging_release = "2025-06-12-14-21-B";
context_packaging_release = "2026-01-08-23-30-A";
in
stdenv.mkDerivation {
pname = "luametatex";
version = "2.11.07";
version = "2.11.08";
src = fetchzip {
name = "luametatex.src.zip";
url = "https://github.com/gucci-on-fleek/context-packaging/releases/download/${context_packaging_release}/luametatex.src.zip";
hash = "sha256-9TLTIUSqA3g8QP9EF+tQ4VfLLLQwMrbeXPPy58uFWDo=";
hash = "sha256-PY1rrgLFAXR7YRcJMx1ob9dQc1PFoBSpi1xLQGM4Lko=";
stripRoot = false;
};
@@ -571,14 +571,14 @@ rec {
dvisvgm = stdenv.mkDerivation rec {
pname = "dvisvgm";
version = "3.2.2";
version = "3.6";
src =
assert lib.assertMsg (version == texlive.pkgs.dvisvgm.version)
"dvisvgm: TeX Live version (${texlive.pkgs.dvisvgm.version}) different from source (${version}), please update dvisvgm";
fetchurl {
url = "https://github.com/mgieseki/dvisvgm/releases/download/${version}/dvisvgm-${version}.tar.gz";
hash = "sha256-8GKL6lqjMUXXWwpqbdGPrYibdSc4y8AcGUGPNUc6HQA=";
hash = "sha256-JkRrs7EHOf8JJcnkFrdtLSIgdcnV3Pr+biFGCdBy7Ro=";
};
configureFlags = [
@@ -586,18 +586,6 @@ rec {
"--with-ttfautohint"
];
# GCC15 compataiblity patches
patches = [
(fetchpatch {
url = "https://github.com/mgieseki/dvisvgm/commit/ebf66e3f59edf89e9d2b4fb7973b859e185eb034.patch";
hash = "sha256-5dppK9saWOuIH4Pmv7Zk9vrRc81oK8qKZqkwCuOQhaY=";
})
(fetchpatch {
url = "https://github.com/mgieseki/dvisvgm/commit/dcb5940dff7ca3084330119a4ff1472cd52ef6de.patch";
hash = "sha256-rGTFeeLaWIon4O16x1wFxb3Wr020HdUR3BgrqB5r864=";
})
];
# PDF handling requires mutool (from mupdf) since Ghostscript 10.01
postPatch = ''
substituteInPlace src/PDFHandler.cpp \
@@ -705,7 +693,7 @@ rec {
# so that top level updates do not break texlive
src = fetchurl {
url = "mirror://sourceforge/asymptote/${finalAttrs.version}/asymptote-${finalAttrs.version}.src.tgz";
hash = "sha256-+T0n2SX9C8Mz0Fb+vkny1x+TWETC+NN67MjfD+6Twys=";
hash = "sha256-NcFtCjvdhppW5O//Rjj4HDqIsva2ZNGWRxAV2/TGmoc=";
};
texContainer = texlive.pkgs.asymptote.tex;
+14 -5
View File
@@ -29,6 +29,7 @@
findutils,
gawk,
getopt,
gettext,
gnugrep,
gnumake,
gnupg,
@@ -45,6 +46,7 @@
extraMirrors ? [ ],
nixfmt,
luajit,
texinfo,
}:
let
# various binaries (compiled)
@@ -79,6 +81,7 @@ let
findutils
gawk
getopt
gettext
ghostscript_headless
git-latexdiff
gnugrep
@@ -93,6 +96,7 @@ let
ruby
zip
luajit
texinfo
;
};
in
@@ -100,9 +104,9 @@ let
version = {
# day of the snapshot being taken
year = "2025";
month = "07";
day = "03";
year = "2026";
month = "02";
day = "02";
# TeX Live version
texliveYear = 2025;
# final (historic) release or snapshot
@@ -144,7 +148,7 @@ let
# use last mirror for daily snapshots as texlive.tlpdb.xz changes every day
# TODO make this less hacky
(if version.final then mirrors else [ (lib.last mirrors) ]);
hash = "sha256-hTWTs5meP6X7+bBGEHP9pDv8eJTfvBZFKX0WeK8+aZg=";
hash = "sha256-GxJXqY6plT3wngKiuqiZUst4eTZIylUdhN2ojUApIpU=";
};
tlpdbNix =
@@ -152,9 +156,10 @@ let
{
inherit tlpdbxz;
tl2nix = ./tl2nix.sed;
nativeBuildInputs = [ nixfmt ];
}
''
xzcat "$tlpdbxz" | sed -rn -f "$tl2nix" | uniq | ${lib.getExe nixfmt} > "$out"
xzcat "$tlpdbxz" | sed -rn -f "$tl2nix" | uniq | nixfmt > "$out"
'';
# map: name -> fixed-output hash
@@ -358,9 +363,11 @@ let
x11
];
scheme-full = [
agpl3Only
artistic1-cl8
artistic2
asl20
bsd0
bsd2
bsd3
bsdOriginal
@@ -433,6 +440,7 @@ let
scheme-medium = [
artistic1-cl8
asl20
bsd0
bsd2
bsd3
cc-by-40
@@ -502,6 +510,7 @@ let
x11
];
scheme-tetex = [
agpl3Only
artistic1-cl8
asl20
bsd2
File diff suppressed because it is too large Load Diff
@@ -63,8 +63,13 @@ in
# you should build newHashes first, before evaluating (and building) fixedHashesNix
newHashes = map computeHash (filter (fod: !fod ? outputHash) fods);
fixedHashesNix = writeText "fixed-hashes.nix" ''
{
${concatMapStrings hashLine sorted}}
'';
fixedHashesNix =
runCommand "fixed-hashes.nix"
{
unformatted = writeText "fixed-hashes.nix" "{${concatMapStrings hashLine sorted}}";
nativeBuildInputs = [ pkgs.nixfmt ];
}
''
cat "$unformatted" | nixfmt > "$out"
'';
}
@@ -60,6 +60,9 @@ $a}
s/ ([^ ]+)/ "\1"/g
# adjust naming as in nixpkgs, the full texts of the licenses are available at https://www.ctan.org/license/${licenseName}
s/"(cc-by(-sa)?-[1-4])"/"\10"/g
s/"0bsd"/"bsd0"/g
s/"agpl3"/"agpl3Only"/g
s/"agpl3\+"/"agpl3Plus"/g
s/"apache2"/"asl20"/g
s/"artistic"/"artistic1-cl8"/g
s/"bsd"/"bsd3"/g # license text does not match exactly, but is pretty close
@@ -11,6 +11,7 @@
findutils,
gawk,
getopt,
gettext,
ghostscript_headless,
git-latexdiff,
gnugrep,
@@ -25,6 +26,7 @@
ruby,
zip,
luajit,
texinfo,
}:
oldTlpdb:
let
@@ -86,6 +88,7 @@ lib.recursiveUpdate orig rec {
crossrefware.extraBuildInputs = [
(perl.withPackages (
ps: with ps; [
JSON
LWP
URI
]
@@ -153,7 +156,9 @@ lib.recursiveUpdate orig rec {
dtxgen.extraBuildInputs = [
coreutils
getopt
gettext
gnumake
texinfo
zip
];
dviljk.extraBuildInputs = [ coreutils ];
@@ -538,14 +543,6 @@ lib.recursiveUpdate orig rec {
#### misc
# FIXME: remove when https://github.com/borisveytsman/crossrefware/pull/17 is merged and included on CTAN
# Typo introduced in https://github.com/borisveytsman/crossrefware/commit/1e67e9773b3d3be983be156e2200478bc263dd93
crossrefware.postUnpack = ''
if [[ -f "$out"/scripts/crossrefware/ltx2crossrefxml.pl ]] ; then
sed -i 's/use IO::file;/use IO::File;/' "$out"/scripts/crossrefware/ltx2crossrefxml.pl
fi
'';
# Use top-level git-latexdiff's version and src. NOTE that this derivation is
# still different from top-level's `git-latexdiff`, due to __structuredAttrs
# enabled unconditionally. Still though this derivation produces a funcitonal
File diff suppressed because it is too large Load Diff