mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-09 19:13:26 +03:00
texlive: 2024-20241027 -> 2024-final (#390498)
This commit is contained in:
parent
52e7332fb0
commit
43d524e00e
6 changed files with 3218 additions and 2497 deletions
|
@ -438,6 +438,9 @@ rec {
|
|||
let
|
||||
# TODO known broken binaries
|
||||
broken = [
|
||||
# do not know how to test without a valid build.lua
|
||||
"ppmcheckpdf"
|
||||
|
||||
# *.inc files in source container rather than run
|
||||
"texaccents"
|
||||
|
||||
|
@ -660,6 +663,8 @@ rec {
|
|||
"allcm"
|
||||
"allec"
|
||||
"chkweb"
|
||||
"explcheck"
|
||||
"extractbb"
|
||||
"fontinst"
|
||||
"ht*"
|
||||
"installfont-tl"
|
||||
|
|
|
@ -251,6 +251,16 @@ rec {
|
|||
|
||||
inherit (common) binToOutput src prePatch;
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
# do not create extractbb -> xdvipdfmx link
|
||||
name = "extractbb-separate-package.patch";
|
||||
url = "https://github.com/TeX-Live/texlive-source/commit/e48aafd2889281e5e9082cf2e4815a906b9a68ec.patch";
|
||||
hash = "sha256-Rh0PJeUgKUfmgZ+WXnTteM5A0vXPEajKzZBU7AoE7Vs";
|
||||
excludes = [ "texk/dvipdfm-x/ChangeLog" ];
|
||||
})
|
||||
];
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"dev"
|
||||
|
@ -694,11 +704,14 @@ 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-nZtcb6fg+848HlT+sl4tUdKMT+d5jyTHbNyugpGo6mY=";
|
||||
hash = "sha256-egUACsP2vwYx2uvSCZ8H/jLU9f17Siz8gFWwCNSXsIQ=";
|
||||
};
|
||||
|
||||
texContainer = texlive.pkgs.asymptote.tex;
|
||||
texdocContainer = texlive.pkgs.asymptote.texdoc;
|
||||
|
||||
# build issue with asymptote 2.95 has been fixed
|
||||
postConfigure = "";
|
||||
}
|
||||
);
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
{ lib
|
||||
#, stdenv
|
||||
, gcc12Stdenv
|
||||
, fetchurl, runCommand, writeShellScript, writeText, buildEnv
|
||||
, fetchpatch, fetchurl, runCommand, writeShellScript, writeText, buildEnv
|
||||
, callPackage, ghostscript_headless, harfbuzz
|
||||
, makeWrapper, installShellFiles
|
||||
, python3, ruby, perl, tk, jdk, bash, snobol4
|
||||
|
@ -34,7 +34,7 @@ let
|
|||
overriddenTlpdb = let
|
||||
overrides = import ./tlpdb-overrides.nix {
|
||||
inherit
|
||||
stdenv lib bin tlpdb tlpdbxz tl
|
||||
stdenv lib fetchpatch bin tlpdb tlpdbxz tl
|
||||
installShellFiles
|
||||
coreutils findutils gawk getopt ghostscript_headless gnugrep
|
||||
gnumake gnupg gnused gzip html-tidy ncurses perl python3 ruby zip;
|
||||
|
@ -44,12 +44,12 @@ let
|
|||
version = {
|
||||
# day of the snapshot being taken
|
||||
year = "2024";
|
||||
month = "10";
|
||||
day = "27";
|
||||
month = "03";
|
||||
day = "09";
|
||||
# TeX Live version
|
||||
texliveYear = 2024;
|
||||
# final (historic) release or snapshot
|
||||
final = false;
|
||||
final = true;
|
||||
};
|
||||
|
||||
# The tarballs on CTAN mirrors for the current release are constantly
|
||||
|
@ -80,7 +80,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-jB9FXLpmqYluxdxGl67C50cx9dfN2S8LQwOow4OezcQ=";
|
||||
hash = "sha256-YLn4+Ik9WR0iDS9Pjdo/aGyqFl7+eKoMzI3sgNSHmao=";
|
||||
};
|
||||
|
||||
tlpdbNix = runCommand "tlpdb.nix" {
|
||||
|
@ -159,15 +159,15 @@ let
|
|||
# these license lists should be the sorted union of the licenses of the packages the schemes contain.
|
||||
# The correctness of this collation is tested by tests.texlive.licenses
|
||||
licenses = with lib.licenses; {
|
||||
scheme-basic = [ free gfl gpl1Only gpl2Only gpl2Plus knuth lgpl21 lppl1 lppl13c mit ofl publicDomain ];
|
||||
scheme-bookpub = [ artistic2 asl20 bsd3 fdl13Only free gfl gpl1Only gpl2Only gpl2Plus knuth lgpl21 lppl1 lppl12 lppl13c mit ofl publicDomain ];
|
||||
scheme-basic = [ cc-by-sa-40 free gfl gpl1Only gpl2Only gpl2Plus knuth lgpl21 lppl1 lppl13c mit ofl publicDomain ];
|
||||
scheme-bookpub = [ artistic2 asl20 bsd3 cc-by-sa-40 fdl13Only free gfl gpl1Only gpl2Only gpl2Plus knuth lgpl21 lppl1 lppl12 lppl13c mit ofl publicDomain ];
|
||||
scheme-context = [ bsd2 bsd3 cc-by-sa-40 eupl12 free gfl gfsl gpl1Only gpl2Only gpl2Plus gpl3Only gpl3Plus knuth lgpl2 lgpl21 lppl1 lppl13c mit ofl publicDomain x11 ];
|
||||
scheme-full = [ artistic1-cl8 artistic2 asl20 bsd2 bsd3 bsdOriginal cc-by-10 cc-by-20 cc-by-30 cc-by-40 cc-by-sa-10 cc-by-sa-20 cc-by-sa-30 cc-by-sa-40 cc0 eupl12 fdl13Only free gfl gfsl gpl1Only gpl2Only gpl2Plus gpl3Only gpl3Plus isc knuth lgpl2 lgpl21 lgpl3 lppl1 lppl12 lppl13a lppl13c mit ofl publicDomain x11 ];
|
||||
scheme-gust = [ artistic1-cl8 asl20 bsd2 bsd3 cc-by-40 cc-by-sa-40 cc0 eupl12 fdl13Only free gfl gfsl gpl1Only gpl2Only gpl2Plus gpl3Only gpl3Plus knuth lgpl2 lgpl21 lppl1 lppl12 lppl13a lppl13c mit ofl publicDomain x11 ];
|
||||
scheme-gust = [ artistic1-cl8 asl20 bsd2 bsd3 cc-by-40 cc-by-sa-40 cc0 eupl12 fdl13Only free gfl gfsl gpl1Only gpl2Only gpl2Plus gpl3Only gpl3Plus knuth lgpl2 lgpl21 lppl1 lppl12 lppl13c mit ofl publicDomain x11 ];
|
||||
scheme-infraonly = [ gpl2Plus lgpl21 ];
|
||||
scheme-medium = [ artistic1-cl8 asl20 bsd2 bsd3 cc-by-40 cc-by-sa-20 cc-by-sa-30 cc-by-sa-40 cc0 eupl12 fdl13Only free gfl gpl1Only gpl2Only gpl2Plus gpl3Only gpl3Plus isc knuth lgpl2 lgpl21 lgpl3 lppl1 lppl12 lppl13a lppl13c mit ofl publicDomain x11 ];
|
||||
scheme-minimal = [ free gpl1Only gpl2Plus knuth lgpl21 lppl1 lppl13c mit ofl publicDomain ];
|
||||
scheme-small = [ asl20 cc-by-40 cc-by-sa-40 cc0 eupl12 fdl13Only free gfl gpl1Only gpl2Only gpl2Plus gpl3Only gpl3Plus knuth lgpl2 lgpl21 lppl1 lppl12 lppl13a lppl13c mit ofl publicDomain x11 ];
|
||||
scheme-minimal = [ cc-by-sa-40 free gpl1Only gpl2Plus knuth lgpl21 lppl1 lppl13c mit ofl publicDomain ];
|
||||
scheme-small = [ asl20 cc-by-40 cc-by-sa-40 cc0 eupl12 fdl13Only free gfl gpl1Only gpl2Only gpl2Plus gpl3Only gpl3Plus knuth lgpl2 lgpl21 lppl1 lppl12 lppl13c mit ofl publicDomain x11 ];
|
||||
scheme-tetex = [ artistic1-cl8 asl20 bsd2 bsd3 cc-by-30 cc-by-40 cc-by-sa-10 cc-by-sa-20 cc-by-sa-30 cc-by-sa-40 cc0 eupl12 fdl13Only free gfl gpl1Only gpl2Only gpl2Plus gpl3Only gpl3Plus isc knuth lgpl2 lgpl21 lgpl3 lppl1 lppl12 lppl13a lppl13c mit ofl publicDomain x11 ];
|
||||
};
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
stdenv,
|
||||
fetchpatch,
|
||||
lib,
|
||||
tlpdb,
|
||||
bin,
|
||||
|
@ -77,6 +78,13 @@ lib.recursiveUpdate orig rec {
|
|||
texlogsieve.extraBuildInputs = [ bin.luatex ];
|
||||
|
||||
#### perl packages
|
||||
bundledoc.extraBuildInputs = [
|
||||
(perl.withPackages (
|
||||
ps: with ps; [
|
||||
StringShellQuote
|
||||
]
|
||||
))
|
||||
];
|
||||
crossrefware.extraBuildInputs = [
|
||||
(perl.withPackages (
|
||||
ps: with ps; [
|
||||
|
@ -248,6 +256,12 @@ lib.recursiveUpdate orig rec {
|
|||
texmfstart = tl.context-legacy.tex + "/scripts/context/ruby/texmfstart.rb";
|
||||
};
|
||||
|
||||
dvipdfmx.binlinks = {
|
||||
# even though 'ebb' was removed from the Makefile, this symlink is still
|
||||
# part of the binary container of dvipdfmx
|
||||
ebb = "xdvipdfmx";
|
||||
};
|
||||
|
||||
epstopdf.binlinks.repstopdf = "epstopdf";
|
||||
pdfcrop.binlinks.rpdfcrop = "pdfcrop";
|
||||
|
||||
|
@ -417,6 +431,22 @@ lib.recursiveUpdate orig rec {
|
|||
sed -Ei 's/import sre/import re/; s/file\(/open(/g; s/\t/ /g; s/print +(.*)$/print(\1)/g' "$out"/bin/ebong
|
||||
'';
|
||||
|
||||
# readd functions moved to 'tools.pm' not shipped to CTAN
|
||||
eolang.postUnpack =
|
||||
let
|
||||
patch = fetchpatch {
|
||||
name = "eolang-without-tools-pm.patch";
|
||||
url = "https://github.com/objectionary/eolang.sty/commit/2c3bf97dd85e1748b2028ffa056a75c0d9432f88.patch";
|
||||
includes = [ "eolang.pl" ];
|
||||
hash = "sha256-ZQtGjqzfhX5foRWuiWQaomN8nOOEj394HdCDrb2sdzA=";
|
||||
};
|
||||
in
|
||||
''
|
||||
if [[ -d "$out"/scripts/eolang ]] ; then
|
||||
patch -d "$out/scripts/eolang" -i "${patch}"
|
||||
fi
|
||||
'';
|
||||
|
||||
# find files in script directory, not binary directory
|
||||
# add runtime dependencies to PATH
|
||||
epspdf.postFixup = ''
|
||||
|
@ -424,6 +454,17 @@ lib.recursiveUpdate orig rec {
|
|||
substituteInPlace "$out"/bin/epspdftk --replace-fail '[info script]' "\"$scriptsFolder/epspdftk.tcl\""
|
||||
'';
|
||||
|
||||
# use correct path to xdvipdfmx
|
||||
extractbb.extraBuildInputs = [ bin.core.dvipdfmx ];
|
||||
extractbb.postUnpack = ''
|
||||
if [[ -f "$out"/scripts/extractbb/extractbb-wrapper.lua ]] ; then
|
||||
sed -i 's!local target_path = interpreter_dir .. "/" .. TARGET_PATH_NAME .. target_ext!local target_path = os.getenv("NIX_TEXLIVE_XDVIPDFMX")!' "$out"/scripts/extractbb/extractbb-wrapper.lua
|
||||
fi
|
||||
'';
|
||||
extractbb.postFixup = ''
|
||||
sed -i "2ios.setenv('NIX_TEXLIVE_XDVIPDFMX','$(PATH="$HOST_PATH" command -v xdvipdfmx)')" "$out"/bin/extractbb
|
||||
'';
|
||||
|
||||
# find files in script directory, not in binary directory
|
||||
latexindent.postFixup = ''
|
||||
substituteInPlace "$out"/bin/latexindent --replace-fail 'use FindBin;' "BEGIN { \$0 = '$scriptsFolder' . '/latexindent.pl'; }; use FindBin;"
|
||||
|
@ -498,9 +539,6 @@ lib.recursiveUpdate orig rec {
|
|||
!(stdenv.hostPlatform.isPower && stdenv.hostPlatform.is64bit) && !stdenv.hostPlatform.isRiscV
|
||||
) orig.luajittex.binfiles;
|
||||
|
||||
# osda is unfree. Hence, we can't include it by default
|
||||
collection-publishers.deps = builtins.filter (dep: dep != "osda") orig.collection-publishers.deps;
|
||||
|
||||
texdoc = {
|
||||
extraRevision = "-tlpdb${toString tlpdbVersion.revision}";
|
||||
extraVersion = "-tlpdb-${toString tlpdbVersion.revision}";
|
||||
|
@ -528,11 +566,6 @@ lib.recursiveUpdate orig rec {
|
|||
postFixup = ''
|
||||
TEXMFCNF="${tl.kpathsea.tex}"/web2c TEXMF="$scriptsFolder/../.." \
|
||||
texlua "$out"/bin/texdoc --print-completion zsh > "$TMPDIR"/_texdoc
|
||||
substituteInPlace "$TMPDIR"/_texdoc \
|
||||
--replace-fail 'compdef __texdoc texdoc' '#compdef texdoc' \
|
||||
--replace-fail '$(kpsewhich -var-value TEXMFROOT)/tlpkg/texlive.tlpdb' '$(kpsewhich Data.tlpdb.lua)' \
|
||||
--replace-fail '/^name[^.]*$/ {print $2}' '/^ \["[^"]*"\] = {$/ { print substr($1,3,length($1)-4) }'
|
||||
echo '__texdoc' >> "$TMPDIR"/_texdoc
|
||||
installShellCompletion --zsh "$TMPDIR"/_texdoc
|
||||
'';
|
||||
};
|
||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue