Use version 20210325 for the tarballs, which is the latest one available on
the historical releases repository. And use subversion tag 2021.3 which is
the latest one available as well.
TeX Live dropped support for using the system’s poppler library after the
2020 version. Quoting from `m4/kpse-xpdf-flags.m4`:
# Support for our semi-homegrown libs/xpdf library. This is derived
# from xpdf source code, but xpdf does not distribute it as a library.
# It is used by pdftex (and nothing else) to read PDF images.
# Other engines use the semi-homegrown pplib library (q.v.) for that.
# The well-known poppler library is also originally derived from xpdf
# source code, but has been greatly revised and extended. TL used to
# (sort of) support poppler as the system xpdf, but after the TL 2020
# release we dropped this, because we switched XeTeX to use pplib, and
# nothing else used poppler. (No engines ever used poppler to generate
# their PDF output).
#
# poppler is aggressively developed, with requirements for new compilers
# and language versions. That's fine for them, but since we don't need
# anything new, it has become too time-consuming and problematic to
# continue to support it in the TL sources, when we don't have any
# requirement for it.
Therefore the main change in this commit is making the texlive-bin package
use the embedded pplib and xpdf libraries.
Another noteworthy change is to texlive-latex-l3packages, which now needs
to ship a few pre-generated files that cannot be reproduced during the
build process (the comments in the package definition have more details).
* guix/build-system/texlive.scm (%texlive-tag): Set to “texlive-2021.3”.
(%texlive-revision): Set to 59745.
* gnu/packages/tex.scm (hyph-utf8-scripts, texlive-docstrip,
texlive-unicode-data texlive-hyphen-base, texlive-metafont, texlive-cm,
texlive-courier, texlive-lm, texlive-knuth-lib, texlive-tex-plain,
texlive-hyphen-finnish, texlive-hyphen-german, texlive-hyph-utf8,
texlive-dehyph-exptl, texlive-kpathsea, texlive-latex-fancyvrb,
texlive-graphics-def, texlive-latex-graphics, texlive-hyperref,
texlive-oberdiek, texlive-latex-tools, texlive-latex-l3kernel,
texlive-l3build, texlive-luaotfload, texlive-latex-amsmath, texlive-amscls,
texlive-babel, texlive-generic-babel-german, texlive-babel-swedish,
texlive-psnfss, texlive-latex-draftwatermark, texlive-latex-etoc,
texlive-etoolbox, texlive-latex-polyglossia, texlive-tex-texinfo,
texlive-latex-bookmark, texlive-latex-cmap, texlive-latex-fancyhdr,
texlive-latex-kvoptions, texlive-latex-eso-pic, texlive-latex-multirow,
texlive-latex-parskip, texlive-latex-pdfpages, texlive-metapost,
texlive-latex-acmart, texlive-latex-preview, texlive-latex-acronym,
texlive-pdftex, texlive-latex-media9, texlive-latex-ocgx2,
texlive-latex-ms, texlive-latex-pgf, texlive-latex-pgf-generic,
texlive-latex-koma-script, texlive-generic-ltxcmds, texlive-bibtex,
texlive-context-base, texlive-context, texlive-beamer, texlive-pstricks,
texlive-tools, texlive-latex-xkeyval, texlive-csquotes, texlive-biblatex,
texlive-todonotes, texlive-microtype, texlive-caption, texlive-fontaxes,
texlive-cabin, texlive-newtx, texlive-xcharter, texlive-adjustbox,
texlive-tcolorbox): Update hash.
(texlive-extra-src, texlive-texmf-src): Update version to
“20210325”. Update hash.
(texlive-bin)[source]: Update version to “20210325”. Update hash. Preserve
‘libs/pplib’ and ‘libs/xpdf’.
[inputs]: Update hash for ‘texlive-scripts’. Remove ‘poppler’.
[arguments]: Remove “--with-system-poppler” and “--with-system-xpdf” from
‘#:configure-flags’. Remove build phase ‘use-code-for-new-poppler’.
(texlive-hyphen-schoolfinnish): Add public variable.
(texlive-hyphen-macedonian): Add 8bit patterns. Update hash.
(texlive-latex-base)[template]: Update hash.
[arguments]: Set ‘LUAINPUTS’ environment variable in build phase.
[native-inputs]: Update hash for ‘texlive-luatexconfig’.
[propagated-inputs]: Add ‘texlive-hyphen-schoolfinnish’,
‘texlive-latex-l3kernel’ and ‘texlive-latex-l3packages’.
(texlive-latex-l3packages)[source]: Use ‘texlive-origin’. Update hash. Add
generated files.
[arguments]: Adjust paths for ‘TEXINPUTS’ environment variable. Add build
phase ‘copy-generated-files’.
(texlive-texmf, texlive): Update version to “20210325”.
---
gnu/packages/tex.scm | 249 +++++++++++++++++++---------------
guix/build-system/texlive.scm | 4 +-
2 files changed, 138 insertions(+), 115 deletions(-)
Toggle diff (317 lines)
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index bf557a4cf8ea..21c263619b66 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -150,7 +150,7 @@ copied to their outputs; otherwise the TEXLIVE-BUILD-SYSTEM is used."
"-checkout"))
(sha256
(base32
- "1gdyc8nmvp5jqlc429rmfzfl0cqqsdayc70y1hxwz025pv9jn960"))))
+ "04xzf5gr3ylyh3ls09imrx4mwq3qp1k97r9njzlan6hlff875rx2"))))
(define (texlive-hyphen-package name code locations hash)
"Return a TeX Live hyphenation package with the given NAME, using source
@@ -223,37 +223,38 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use.
(define texlive-extra-src
(origin
(method url-fetch)
- (uri "ftp://tug.org/historic/systems/texlive/2020/texlive-20200406-extra.tar.xz")
+ (uri "ftp://tug.org/historic/systems/texlive/2021/texlive-20210325-extra.tar.xz")
(sha256 (base32
- "0kx6r2ncnqpmhs0jhjk4ypq99czcvql9l9n0npcgqzrv4qmzsg94"))))
+ "171kg1n9zapw3d2g47d8l0cywa99bl9m54xkqvp9625ks22z78s6"))))
(define texlive-texmf-src
(origin
(method url-fetch)
- (uri "ftp://tug.org/historic/systems/texlive/2020/texlive-20200406-texmf.tar.xz")
+ (uri "ftp://tug.org/historic/systems/texlive/2021/texlive-20210325-texmf.tar.xz")
(sha256 (base32
- "15ashyxm3j78wjik1pp7vwi1wg07xjgh9zv0vkhqim6g7rc7xa8a"))))
+ "070gczcm1h9rx29w2f02xd3nhd84c4k28nfmm8qgp69yq8vd84pz"))))
(define-public texlive-bin
(package
(name "texlive-bin")
- (version "20200406")
+ (version "20210325")
(source
(origin
(method url-fetch)
- (uri (string-append "ftp://tug.org/historic/systems/texlive/2020/"
+ (uri (string-append "ftp://tug.org/historic/systems/texlive/2021/"
"texlive-" version "-source.tar.xz"))
(sha256
(base32
- "0y4h4j2qg714srhvf1hvn165w7sanr1j2vzrsgc23kxvrc43sbz3"))
+ "0jsq1p66l46k2qq0gbqmx25flj2nprsz4wrd1ybn286p11kdkvvs"))
(modules '((guix build utils)
(ice-9 ftw)))
(snippet
'(begin
(with-directory-excursion "libs"
- (let ((preserved-directories '("." ".." "lua53" "luajit")))
+ (let ((preserved-directories '("." ".." "lua53" "luajit" "pplib" "xpdf")))
;; Delete bundled software, except Lua which cannot easily be
- ;; used as an external dependency.
+ ;; used as an external dependency, pplib and xpdf which aren't
+ ;; supported as system libraries (see m4/kpse-xpdf-flags.m4).
(for-each delete-file-recursively
(scandir "."
(lambda (file)
@@ -278,7 +279,7 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use.
"-checkout"))
(sha256
(base32
- "0p3ff839q4kv3zj4xxc76fqcjcjinv8xf7ix0zgwl7yhy5p3sm80"))))
+ "10xpa4nnz1biap7qfv7fb0zk6132ki5g1j8w0bqwkggfncdfl07d"))))
("cairo" ,cairo)
("fontconfig" ,fontconfig)
("fontforge" ,fontforge)
@@ -296,7 +297,6 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use.
("mpfr" ,mpfr)
("perl" ,perl)
("pixman" ,pixman)
- ("poppler" ,poppler)
("potrace" ,potrace)
("python" ,python)
("ruby" ,ruby)
@@ -329,10 +329,8 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use.
"--with-system-libpng"
"--with-system-mpfr"
"--with-system-pixman"
- "--with-system-poppler"
"--with-system-potrace"
"--with-system-teckit"
- "--with-system-xpdf"
"--with-system-zlib"
"--with-system-zziplib"
;; LuaJIT is not ported to powerpc64le* yet.
@@ -365,13 +363,6 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use.
(("\"gs\"")
(string-append "\"" (assoc-ref inputs "ghostscript") "/bin/gs\"")))
#t))
- (add-after 'unpack 'use-code-for-new-poppler
- (lambda _
- (copy-file "texk/web2c/pdftexdir/pdftoepdf-poppler0.86.0.cc"
- "texk/web2c/pdftexdir/pdftoepdf.cc")
- (copy-file "texk/web2c/pdftexdir/pdftosrc-poppler0.83.0.cc"
- "texk/web2c/pdftexdir/pdftosrc.cc")
- #t))
(add-after 'unpack 'patch-dvisvgm-build-files
(lambda _
;; XXX: Ghostscript is detected, but HAVE_LIBGS is never set, so
@@ -538,7 +529,7 @@ This package contains the binaries.")
"texlive-docstrip"
(list "/tex/latex/base/docstrip.tex")
(base32
- "1vyn0vskxqmq58fbq4r4pknbzpxpyw30nmlmsncnialrmrwqm7k5")
+ "1pxbqbia0727vg01xv8451szm55z2w8sb0vv3kf4iqx5ibb6m0d2")
#:trivial? #t))
(home-page "https://www.ctan.org/texlive")
(synopsis "Utility to strip documentation from TeX files.")
@@ -553,7 +544,7 @@ documentation from TeX files. It is part of the LaTeX base.")
(list "/tex/generic/unicode-data/"
"/doc/generic/unicode-data/")
(base32
- "1mxb55ml92zd00w0zbr0dkscnxdgpxamfabl0izhk3cpz81n9g92")
+ "1d41zvjsig7sqf2j2m89dnbv3gicpb16r04b4ikps4gabhbky83k")
#:trivial? #t))
(home-page "https://www.ctan.org/pkg/unicode-data")
(synopsis "Unicode data and loaders for TeX")
@@ -586,7 +577,7 @@ out to date by @code{unicode-letters.tex}. ")
"/tex/generic/hyphen/hypht1.tex"
"/tex/generic/hyphen/zerohyph.tex")
(base32
- "1vakayd82a4ga0b80mxypbibw2vrf2a8p4v6bim7s97zh8b9mzk3")
+ "1sagn9aybs34m1s6m3zwya5g5kbiwfnw8ifcgxssygmzzs88dgjp")
#:trivial? #t))
(home-page "https://tug.org/texlive/")
(synopsis "Core hyphenation support files")
@@ -650,7 +641,7 @@ to adapt the plain e-TeX source file to work with XeTeX and LuaTeX.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "1r1v3zm600nrl3iskx130fjwj1qib82n02dlca446zb53x0hg6gr"))))
+ "17y72xmz5a36vdsq7pfrwj0j4c7llrm9j5kcq349cpaas7r32lmb"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no test target
@@ -811,7 +802,7 @@ documents.")
"/fonts/map/dvips/cm/cmtext-bsr-interpolated.map"
"/doc/fonts/cm/")
(base32
- "09mvl94qrwlb9b4pkigi151l256v3djhwl4m5lgvk6yhn5y75zrp")
+ "1ky4gvcn8qn3d61bvb39512b8r92igv6il7vh02hw04223yj6q8i")
#:trivial? #t)))
(package
(inherit template)
@@ -934,7 +925,7 @@ originals.")
"/tex4ht/ht-fonts/alias/adobe/courier/"
"/tex4ht/ht-fonts/unicode/adobe/courier/")
(base32
- "03vz7zd7gayry9h4pq81s2bqqn2kmxf9yyzs0vap0w9rkf99rrci")
+ "05lglavi073glj26k9966351hka5ac22g4vim61dkfy001vz4i7r")
#:trivial? #t))
(home-page "https://ctan.org/pkg/urw-base35")
(synopsis "URW Base 35 font pack for LaTeX")
@@ -996,7 +987,7 @@ support (for use with a variety of encodings) is provided.")
"/fonts/type1/public/lm/"
"/tex/latex/lm/")
(base32
- "0i1hwr8rp0jqyvs4qyplrirscd4w7lsgwsncyv3yzy80bsa56jq5")
+ "0yyk0dr4yms82mwy4dc03zf5igyhgcb65icdah042rk23rlpxygv")
#:trivial? #t))
(home-page "http://www.gust.org.pl/projects/e-foundry/latin-modern/")
(synopsis "Latin Modern family of fonts")
@@ -1018,7 +1009,7 @@ Computers & Typesetting series.")
"/tex/generic/knuth-lib/"
"/tex/plain/knuth-lib/")
(base32
- "0lizrhdr4pirhh4ry44znddksd7akkxli2i6sddm5rzqljiqdy3v")
+ "1cxyqqprp8sj2j4zp9l0wry8cq2awpz3a8i5alzpc4ndg7a6pgdf")
#:trivial? #t)))
(package
(inherit template)
@@ -1475,7 +1466,7 @@ incorporates the e-TeX extensions.")
"texlive-tex-plain"
(list "/tex/plain/")
(base32
- "1qryji08shim7fwjfcm0rcb0m5pwagjv1ahpr3xkfg8mkj160nrg")
+ "0gwygkm8i2jmpf7bfg6fb6824rl7fq4a2s0wni73v0fz6s4chr1n")
#:trivial? #t))
(home-page "https://www.ctan.org/pkg/plain")
(synopsis "Plain TeX format and supporting files")
@@ -1753,12 +1744,24 @@ be replaced by files tailored to individual languages.")
"texlive-hyphen-finnish" "fi"
(list "/tex/generic/hyph-utf8/patterns/tex/hyph-fi.tex")
(base32
- "1f72b4ydb4zddvw2i004948khmwzigxkdkwfym5v1kkq0183sfpj")))
+ "1pa8sjs9zvnv1y6dma4s60sf9cr4zrvhxwm6i8cnshm84q16w4bc")))
(synopsis "Hyphenation patterns for Finnish")
(description "The package provides hyphenation patterns for Finnish in
T1/EC and UTF-8 encodings.")
(license license:public-domain)))
+(define-public texlive-hyphen-schoolfinnish
+ (package
+ (inherit (texlive-hyphen-package
+ "texlive-hyphen-schoolfinnish" "fi-x-school"
+ (list "/tex/generic/hyph-utf8/patterns/tex/hyph-fi-x-school.tex")
+ (base32
+ "1w5n6gaclgifbbnafg32vz3mfaibyldvh4yh1ya3sq9fwfmv035c")))
+ (synopsis "Hyphenation patterns for Finnish for school")
+ (description "The package provides hyphenation patterns for Finnish for
+school in T1/EC and UTF-8 encodings.")
+ (license license:public-domain)))
+
(define-public texlive-hyphen-french
(package
(inherit (texlive-hyphen-package
@@ -1820,7 +1823,7 @@ T8M, T8K, and UTF-8 encodings.")
"/tex/generic/dehyph/dehyphtex.tex"
"/tex/generic/dehyph/README")
(base32
- "0wp5by5kkf4ac6li5mbppqzw11500wa7f22p5vpz3m1kwd15zavw")))
+ "17cc5hd0fr3ykpgly9nxaiz4sik3kmfn2wyxz1fkdnqqhl3i41a0")))
(synopsis "Hyphenation patterns for German")
(description "This package provides hyphenation patterns for German in
T1/EC and UTF-8 encodings, for traditional and reformed spelling, including
@@ -2016,9 +2019,10 @@ L7X and UTF-8 encodings.")
(package
(inherit (texlive-hyphen-package
"texlive-hyphen-macedonian" "mk"
- '("/tex/generic/hyph-utf8/patterns/tex/hyph-mk.tex")
+ '("/tex/generic/hyph-utf8/patterns/tex/hyph-mk.tex"
+ "/tex/generic/hyph-utf8/patterns/tex-8bit/hyph-mk.macedonian.tex")
(base32
- "01w4cv8jm9q2gijys7cd7s6lfycdpgw9m26yxicc14ywbpi4ij3i")))
+ "1fv6y8gpic5ciw8cclfxc8h3wr5xir1j0a7shixja1pmdyz7db2b")))
(synopsis "Macedonian hyphenation patterns")
(description "This package provides hypenation patterns for Macedonian.")
;; XXX: License just says 'GPL'. Assume GPL2 since the file predates GPL3.
@@ -2343,7 +2347,7 @@ T1/EC and UTF-8 encodings.")
"/doc/generic/hyph-utf8/img/miktex-languages.png"
"/doc/generic/hyph-utf8/img/texlive-collection.png")
(base32
- "1v6f59r1fcp7pk7ddskqdzl7hzbszsxd04mfd3xznv8fc73iv72l")))
+ "0rgp0zn36gwzqwpmjb9h01ns3m19v3r7lpw1h0pc9bx115w6c9jx")))
(outputs '("out" "doc"))
(build-system gnu-build-system)
(arguments
@@ -2476,7 +2480,7 @@ converters, will completely supplant the older patterns.")
(list "/tex/generic/dehyph-exptl/"
"/doc/generic/dehyph-exptl/")
(base32
- "1fnqc63gz8gvdyfz45bx8dxn1r1rwrypahs3bqd2vlc8ff76xp86")
+ "0l57a0r4gycp94kz6lrxqvh9m57j2shmbr2laf5zjb0qnrisq46d")
#:trivial? #t))
(propagated-inputs
`(("texlive-hyphen-base" ,texlive-hyphen-base)
@@ -2583,7 +2587,7 @@ UCY (Omega Unicode Cyrillic), LCY, LWN (OT2), and koi8-r.")
"/web2c/tcvn-t5.tcx"
"/web2c/viscii-t5.tcx")
(base32
- "1prvxq211hqfss1bhiykazqfcy298lsz3x8lbmbyrh9c8grnj4ip")
+ "00q2nny7lw7jxyln6ch4h0alygbrzk8yynliyc291m53kds1h0mr")
#:trivial? #t))
(home-page "https://www.tug.org/texlive/")
(synopsis "Files related to the path searching library for TeX")
@@ -2625,7 +2629,7 @@ formats.")
"/tex/latex/base/testpage.tex"
"/tex/latex/base/texsys.cfg")
(base32
- "11bcjmn0n7sv7g6r8v6nxl4x1pw0famqmq0v0pbjyz04akhvfvry")
+ "0msyjz0937rc7hs77v6la152sdiwd73qj41z1mlyh0m3dns9qz4g")
#:trivial? #t)))
(package
(inherit template)
@@ -2669,7 +2673,8 @@ formats.")
cwd "/build:"
(string-join
(map (match-lambda ((_ . dir) dir)) inputs)
- "//:"))))
+ "//:")))
+ (setenv "LUAINPUTS" (string-append cwd "/build:")))
;; This is the actual build step.
(mkdir "build")
@@ -2754,7 +2759,7 @@ formats.")
"/tex/generic/config/luatexiniconfig.tex"
"/web2c/texmfcnf.lua")
(base32
- "0pk0ckwd5p58nqmhlajhbgxynym25jmhv48xm5ns540r996k0g2r")))))
+ "0yjx7nw9mgfgnq1givkzbxh7z7ncw1liaddjgm7n2nwn0aw6xfdg")))))
(propagated-inputs
`(("texlive-dehyph-exptl" ,texlive-dehyph-exptl)
("texlive-etex" ,texlive-etex)
@@ -2779,6 +2784,7 @@ formats.")
("texlive-hyphen-estonian" ,texlive-hyphen-estonian)
("texlive-hyphen-ethiopic" ,texlive-hyphen-ethiopic)
("texlive-hyphen-finnish" ,texlive-hyphen-finnish)
+ ("texlive-hyphen-schoolfinnish" ,texlive-hyphen-schoolfinnish)
("texlive-hyphen-french" ,texlive-hyphen-french)
("texlive-hyphen-friulan" ,texlive-hyphen-friulan)
("texlive-hyphen-galician" ,texlive-hyphen-galician)
@@ -2822,6 +2828,11 @@ formats.")
("texlive-unicode-data" ,texlive-unicode-data)
("texlive-ukrhyph" ,texlive-ukrhyph)
("texlive-ruhyphen" ,texlive-ruhyphen)
+ ("texlive-latex-l3kernel" ,texlive-latex-l3kernel)
+ ;; TODO: This dependency isn't needed for LaTeX version 2021-06-01
+ ;; and later. See:
+ ;; https://tug.org/pipermail/tex-live/2021-June/047180.html
+ ("texlive-latex-l3packages" ,texlive-latex-l3packages)
("texlive-latexconfig" ,texlive-latexconfig)))
(home-page "https://www.ctan.org/pkg/latex-base")
(synopsis "Base sources of LaTeX")
@@ -2941,7 +2952,7 @@ users, via its Plain TeX version.)")
(list "/doc/latex/fancyvrb/README"
"/tex/latex/fancyvrb/")
(base32
- "005ylzlysmvy21rwkbnrf0hnp5bmsjsj11hydg1d9dnq9ffv2s1h")
+ "0pdilgpw4zc0ipp4z9kdi61nymifyjy2mfpk74xk2cw9vhynkk3w")
#:trivial? #t))
(home-page "https://www.ctan.org/pkg/fancyvrb")
(synopsis "Sophisticated verbatim text")
@@ -2961,7 +2972,7