Unverified Commit 18d26c55 authored by Dmitry Kalinkin's avatar Dmitry Kalinkin Committed by GitHub
Browse files

Merge pull request #281054 from xworld21/texlive-20240114

texlive: 2022-final -> 2023.202411
parents f34b5085 f1938705
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -337,6 +337,11 @@ in mkLicense lset) ({
    fullName = "Creative Commons Attribution 1.0";
  };

  cc-by-20 = {
    spdxId = "CC-BY-2.0";
    fullName = "Creative Commons Attribution 2.0";
  };

  cc-by-30 = {
    spdxId = "CC-BY-3.0";
    fullName = "Creative Commons Attribution 3.0";
+33 −3
Original line number Diff line number Diff line
{ lib, stdenv, buildEnv, runCommand, fetchurl, file, texlive, writeShellScript, writeText, texliveInfraOnly, texliveSmall, texliveMedium, texliveFull }:
{ lib, stdenv, buildEnv, runCommand, fetchurl, file, texlive, writeShellScript, writeText, texliveInfraOnly, texliveConTeXt, texliveSmall, texliveMedium, texliveFull }:

rec {

@@ -70,10 +70,26 @@ rec {
      \end{document}
    '';
  } ''
    chktex -v -nall -w1 "$input" 2>&1 | tee "$out"
    # chktex is supposed to return 2 when it (successfully) finds warnings, but no errors,
    # see http://git.savannah.nongnu.org/cgit/chktex.git/commit/?id=ec0fb9b58f02a62ff0bfec98b997208e9d7a5998
    (set +e; chktex -v -nall -w1 "$input" 2>&1; [ $? = 2 ] || exit 1; set -e)  | tee "$out"
    # also check that the output does indeed contain "One warning printed"
    grep "One warning printed" "$out"
  '';

  context = mkTeXTest {
    name = "texlive-test-context";
    format = "context";
    texLive = texliveConTeXt;
    text = ''
      \starttext
      \startsection[title={ConTeXt test document}]
        This is an {\em incredibly} simple ConTeXt document.
      \stopsection
      \stoptext
    '';
  };

  dvipng = lib.recurseIntoAttrs {
    # https://github.com/NixOS/nixpkgs/issues/75605
    basic = runCommand "texlive-test-dvipng-basic" {
@@ -414,6 +430,12 @@ rec {
        # crossrefware: require bibtexperllibs under TEXMFROOT
        "bbl2bib" "bibdoiadd" "bibmradd" "biburl2doi" "bibzbladd" "checkcites" "ltx2crossrefxml"

        # epstopdf: requires kpsewhich
        "epstopdf" "repstopdf"

        # requires kpsewhich
        "memoize-extract.pl" "memoize-extract.py"

        # require other texlive binaries in PATH
        "allcm" "allec" "chkweb" "fontinst" "ht*" "installfont-tl" "kanji-config-updmap-sys" "kanji-config-updmap-user"
        "kpse*" "latexfileversion" "mkocp" "mkofm" "mtxrunjit" "pdftex-quiet" "pslatex" "rumakeindex" "texconfig"
@@ -421,7 +443,7 @@ rec {

        # misc luatex binaries searching for luatex in PATH
        "citeproc-lua" "context" "contextjit" "ctanbib" "digestif" "epspdf" "l3build" "luafindfont" "luaotfload-tool"
        "luatools" "make4ht" "pmxchords" "tex4ebook" "texdoc" "texlogsieve" "xindex"
        "luatools" "make4ht" "pmxchords" "tex4ebook" "texblend" "texdoc" "texfindpkg" "texlogsieve" "xindex"

        # requires full TEXMFROOT (e.g. for config)
        "mktexfmt" "mktexmf" "mktexpk" "mktextfm" "psnup" "psresize" "pstops" "tlmgr" "updmap" "webquiz"
@@ -500,6 +522,13 @@ rec {
          args=
          ignoreExitCode=
          binCount=$((binCount + 1))

          # ignore non-executable files (such as context.lua)
          if [[ ! -x "$bin" ]] ; then
            ignoredCount=$((ignoredCount + 1))
            continue
          fi

          case "$base" in
            ${lib.concatStringsSep "|" ignored})
              ignoredCount=$((ignoredCount + 1))
@@ -572,6 +601,7 @@ rec {
        (pkg: ''
          for bin in '${pkg.outPath}'/bin/* ; do
            grep -I -q . "$bin" || continue  # ignore binary files
            [[ -x "$bin" ]] || continue # ignore non-executable files (such as context.lua)
            scriptCount=$((scriptCount + 1))
            read -r cmdline < "$bin"
            read -r interp <<< "$cmdline"
+1 −1
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@ let auctex = stdenv.mkDerivation ( rec {
  buildInputs = [
    emacs
    ghostscript
    (texliveBasic.withPackages (ps: [ ps.hypdoc ]))
    (texliveBasic.withPackages (ps: [ ps.etoolbox ps.hypdoc ]))
  ];

  preConfigure = ''
+5 −0
Original line number Diff line number Diff line
@@ -14,6 +14,11 @@ stdenv.mkDerivation rec {
  postPatch = lib.optionalString stdenv.cc.isClang ''
    substituteInPlace makefile \
      --replace "\$(CXX)" "\$(CXX) -std=c++98"
  '' +
  # fix the doc build on TeX Live 2023
  ''
    substituteInPlace Documentation/manual.tex \
      --replace '\usepackage[utf8x]{inputenc}' '\usepackage[utf8]{inputenc}'
  '';

  outputs = [ "out" "doc" ];
+7 −0
Original line number Diff line number Diff line
@@ -72,6 +72,13 @@ CTAN and the various mirrors) and that the build recipe continues to produce
the same output. Should those assumptions not hold, remove the previous fixed
hashes for the relevant package, or for all packages.

### Upgrading the ConTeXt binaries

The LuaMetaTeX sources required for ConTeXt are distributed separately from the
TeX Live tarballs and must be updated manually (see `texlive.bin.context`). You
must use the latest tarball at https://tug.org/svn/texlive/trunk/Master/source/
whose revision number is less than or equal to that of the package `context`.

### Updating the licensing information

The license of each package in texlive is automatically extracted from texlive's
Loading