Unverified Commit 43d524e0 authored by Vincenzo Mantova's avatar Vincenzo Mantova Committed by GitHub
Browse files

texlive: 2024-20241027 -> 2024-final (#390498)

parent 52e7332f
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -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"
+14 −1
Original line number Diff line number Diff line
@@ -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 = "";
    }
  );

+11 −11
Original line number Diff line number Diff line
@@ -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 ];
  };

+532 −478

File changed.

Preview size limit exceeded, changes collapsed.

+41 −8
Original line number Diff line number Diff line
{
  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
    '';
  };
Loading