[PATCH core-updates 0/5] Update TeX Live to version 2021.3

  • Done
  • quality assurance status badge
Details
3 participants
  • Thiago Jung Bauermann
  • Ludovic Courtès
  • Nathan Benedetto Proença
Owner
unassigned
Submitted by
Thiago Jung Bauermann
Severity
important
T
T
Thiago Jung Bauermann wrote on 5 Jul 2021 01:44
(address . guix-patches@gnu.org)(name . Thiago Jung Bauermann)(address . bauermann@kolabnow.com)
20210704234449.424436-1-bauermann@kolabnow.com
Hello,

I verified the signatures of the
texlive-20210325-{source,extra,texmf}.tar.xz files. However, I don’t know
how I could verify the authenticity of the many texlive packages that are
obtained via svn checkout, so in those case I merely updated the expected
hash to match the one reported by Guix. It’s worth noting that the svn://
protocol is neither encrypted nor authenticated.

This is how I decided to organize the patch series, feel free to suggest a
different way:

• Patch 1 changes texlive-latex-l3kernel and texlive-latex-l3packages to be
built with IniTeX so that they don’t create a dependency loop when the
second patch is applied.

• Patch 2 updates all hashes for all packages except
texlive-latex-pdftexcmds, which will be updated in the last patch. It also
include the changes needed to make `guix pull` succeed.

• Patch 3 adds package texlive-latex-l3backend, which is a new dependency
for texlive-latex-xkeyval.

• Patch 4 makes texlive-latex-xkeyval depend on texlive-latex-l3backend.

• Patch 5 updates the paths and hash for texlive-latex-pdftexcmds, which was
moved to a new location since TeX Live 2020.

Between patches 2 and 5, texlive packages which don’t get built by
`guix pull` are broken. Please let me know if this is a problem.

I noticed that not all packages in the TeX Live repository are in Guix.
Since I don’t know what criteria are used to decide what to include, I’m not
adding any new package that became available since TeX Live 2020.

I tested that all packages matching “texlive*” build after this series is
applied using the following script:

Toggle snippet (42 lines)
#!/bin/bash

set -e

LOG_FILE="$1"
ROUNDS=$2

function verify_package() {
local package="$1"
local log_file="$2"

if ! guix build "$package"; then
echo "failure while building $package" >> "$log_file"
return
fi

echo "success while building $package" >> "$log_file"

if [ "$ROUNDS" -eq 0 ]; then
return
fi

if ! guix build --check --rounds=$ROUNDS "$package"; then
echo "failure while checking $package" >> "$log_file"
return
fi

echo "success while checking $package" >> "$log_file"

return
}

guix describe >> "$LOG_FILE"
echo rounds = "$ROUNDS" >> "$LOG_FILE"
echo >> "$LOG_FILE"

for package in $(guix package --list-available='^texlive' | cut -f1)
do
verify_package $package "$LOG_FILE"
done

This series is applied on top of the patch submitted for bug 48064¹.

It’s available in branch ‘texlive-2021-pdftex-by-default-patches’ at

--
Thanks,
Thiago



Thiago Jung Bauermann (5):
gnu: TeX Live: Use IniTeX to build a couple of packages
gnu: TeX Live: Update to TeX Live 2021
gnu: TeX Live: Add texlive-latex-l3backend
gnu: TeX Live: Add new dependency to texlive-latex-xkeyval
gnu: TeX Live: Update texlive-latex-pdftexcmds

gnu/packages/tex.scm | 292 +++++++++++++++++-----------
guix/build-system/texlive.scm | 13 +-
guix/build/texlive-build-system.scm | 12 +-
3 files changed, 195 insertions(+), 122 deletions(-)
T
T
Thiago Jung Bauermann wrote on 5 Jul 2021 02:00
[PATCH core-updates 1/5] gnu: TeX Live: Use IniTeX to build a couple of packages
(address . 49408@debbugs.gnu.org)(name . Thiago Jung Bauermann)(address . bauermann@kolabnow.com)
20210705000103.470948-1-bauermann@kolabnow.com
The package texlive-latex-base in TeX Live 2021 will depend on
texlive-latex-l3kernel and texlive-latex-l3packages. Therefore we need to
remove their build dependency on texlive-latex-base to avoid a circular
dependency.

l3kernel and l3packages don’t need LaTeX during build, just IniTeX.
So to make them use it, modify texlive-build-system to allow disabling
the #:texlive-latex-base and #:tex-format parameters, and also add
a #:tex-engine parameter.

We also need to add texlive-docstrip as a native input, which was
previously provided by texlive-latex-base.

* gnu/packages/tex.scm (texlive-latex-l3kernel,
texlive-latex-l3packages)[arguments]: Add ‘#:tex-engine’, ‘#:tex-format’
and ‘#:texlive-latex-base’ parameters.
[native-inputs]: Add ‘texlive-docstrip’.
* guix/build-system/texlive.scm (lower)[build-inputs]: Don’t add
‘texlive-latex-base’ if its keyword parameter is false.
(texlive-build): Add ‘tex-engine’ keyword parameter.
[builder]: If a ‘tex-engine’ parameter was passed, use it. Otherwise, use
‘tex-format’ as the engine.
* guix/build/texlive-build-system.scm (compile-with-latex): Add ‘engine’
parameter. If the ‘format’ parameter is false, add “-ini” option to the
command line.
(build): Add ‘tex-engine’ parameter. Pass it down to ‘compile-with-latex’.
---
gnu/packages/tex.scm | 13 ++++++++++++-
guix/build-system/texlive.scm | 9 ++++++++-
guix/build/texlive-build-system.scm | 12 +++++++-----
3 files changed, 27 insertions(+), 7 deletions(-)

Toggle diff (120 lines)
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 7a78563a75e5..bf557a4cf8ea 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -16,6 +16,7 @@
;;; Copyright © 2020, 2021 Paul Garlick <pgarlick@tourbillion-technology.com>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Leo Le Bouter <lle-bout@zaclys.net>
+;;; Copyright © 2021 Thiago Jung Bauermann <bauermann@kolabnow.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -3348,7 +3349,12 @@ Live distribution.")
"0w82d5a4d3rc950ms6ymj4mpw5ndz6qs5x53szcfgzgjxsns9l4w"))))
(build-system texlive-build-system)
(arguments
- '(#:tex-directory "latex/l3kernel"))
+ '(#:tex-directory "latex/l3kernel"
+ #:tex-engine "tex"
+ #:tex-format #f
+ #:texlive-latex-base #f))
+ (native-inputs
+ `(("texlive-docstrip" ,texlive-docstrip)))
(home-page "https://www.ctan.org/pkg/l3kernel")
(synopsis "LaTeX3 programmers’ interface")
(description
@@ -3373,6 +3379,9 @@ that the LaTeX3 conventions can be used with regular LaTeX 2e packages.")
(build-system texlive-build-system)
(arguments
'(#:tex-directory "latex/l3packages"
+ #:tex-engine "tex"
+ #:tex-format #f
+ #:texlive-latex-base #f
;; build-targets must be specified manually since they are in
;; sub-directories.
#:build-targets '("l3keys2e.ins" "xparse.ins" "xfrac.ins" "xfp.ins" "xtemplate.ins")
@@ -3394,6 +3403,8 @@ that the LaTeX3 conventions can be used with regular LaTeX 2e packages.")
":")))
#t)))
))
+ (native-inputs
+ `(("texlive-docstrip" ,texlive-docstrip)))
(propagated-inputs
`(("texlive-latex-l3kernel" ,texlive-latex-l3kernel)))
(home-page "https://www.ctan.org/pkg/l3packages")
diff --git a/guix/build-system/texlive.scm b/guix/build-system/texlive.scm
index 00a36d5862d4..bb671e5e2b32 100644
--- a/guix/build-system/texlive.scm
+++ b/guix/build-system/texlive.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2021 Thiago Jung Bauermann <bauermann@kolabnow.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -116,7 +117,9 @@ level package ID."
;; Keep the standard inputs of 'gnu-build-system'.
,@(standard-packages)))
(build-inputs `(("texlive-bin" ,texlive-bin)
- ("texlive-latex-base" ,texlive-latex-base)
+ ,@(if texlive-latex-base
+ `(("texlive-latex-base" ,texlive-latex-base))
+ '())
,@native-inputs))
(outputs outputs)
(build texlive-build)
@@ -128,6 +131,7 @@ level package ID."
(tests? #f)
tex-directory
(build-targets #f)
+ (tex-engine #f)
(tex-format "pdftex")
(phases '(@ (guix build texlive-build-system)
%standard-phases))
@@ -151,6 +155,9 @@ level package ID."
#:source #+source
#:tex-directory #$tex-directory
#:build-targets #$build-targets
+ #:tex-engine #$(if tex-engine
+ tex-engine
+ tex-format)
#:tex-format #$tex-format
#:system #$system
#:tests? #$tests?
diff --git a/guix/build/texlive-build-system.scm b/guix/build/texlive-build-system.scm
index 4c255700bbd2..353fb934a652 100644
--- a/guix/build/texlive-build-system.scm
+++ b/guix/build/texlive-build-system.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2021 Thiago Jung Bauermann <bauermann@kolabnow.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -34,16 +35,17 @@
;;
;; Code:
-(define (compile-with-latex format file)
- (invoke format
+(define (compile-with-latex engine format file)
+ (invoke engine
"-interaction=nonstopmode"
"-output-directory=build"
- (string-append "&" format)
+ (if format (string-append "&" format) "-ini")
file))
-(define* (build #:key inputs build-targets tex-format #:allow-other-keys)
+(define* (build #:key inputs build-targets tex-engine tex-format
+ #:allow-other-keys)
(mkdir "build")
- (for-each (cut compile-with-latex tex-format <>)
+ (for-each (cut compile-with-latex tex-engine tex-format <>)
(if build-targets build-targets
(scandir "." (cut string-suffix? ".ins" <>)))))
T
T
Thiago Jung Bauermann wrote on 5 Jul 2021 02:01
[PATCH core-updates 2/5] gnu: TeX Live: Update to TeX Live 2021
(address . 49408@debbugs.gnu.org)(name . Thiago Jung Bauermann)(address . bauermann@kolabnow.com)
20210705000103.470948-2-bauermann@kolabnow.com
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
This message was truncated. Download the full message here.
T
T
Thiago Jung Bauermann wrote on 5 Jul 2021 02:01
[PATCH core-updates 3/5] gnu: TeX Live: Add texlive-latex-l3backend
(address . 49408@debbugs.gnu.org)(name . Thiago Jung Bauermann)(address . bauermann@kolabnow.com)
20210705000103.470948-3-bauermann@kolabnow.com
* gnu/packages/tex.scm (texlive-latex-l3backend): New public variable.
---
gnu/packages/tex.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 21c263619b66..a4b0bc95fa91 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -3376,6 +3376,35 @@ code are built: it is an API for TeX programmers. The packages are set up so
that the LaTeX3 conventions can be used with regular LaTeX 2e packages.")
(license license:lppl1.3c+)))
+(define-public texlive-latex-l3backend
+ (package
+ (name "texlive-latex-l3backend")
+ (version (number->string %texlive-revision))
+ (source (origin
+ (method svn-fetch)
+ (uri (texlive-ref "latex" "l3backend"))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0mlwyzssqn6wkyv9hzp24d40p8f20zrjqgvqyqs1rd7q7awan42a"))))
+ (build-system texlive-build-system)
+ (arguments
+ '(#:tex-directory "latex/l3backend"
+ #:tex-engine "tex"
+ #:tex-format #f
+ #:texlive-latex-base #f))
+ (native-inputs
+ `(("texlive-docstrip" ,texlive-docstrip)))
+ (home-page "https://www.ctan.org/pkg/l3backend")
+ (synopsis "LaTeX3 backend drivers")
+ (description
+ "This package forms parts of expl3, and contains the code used to
+interface with backends (drivers) across the expl3 codebase. The functions
+here are defined differently depending on the engine in use. As such, these
+are distributed separately from l3kernel to allow this code to be updated on
+an independent schedule.")
+ (license license:lppl1.3c+)))
+
(define-public texlive-latex-l3packages
(package
(name "texlive-latex-l3packages")
T
T
Thiago Jung Bauermann wrote on 5 Jul 2021 02:01
[PATCH core-updates 4/5] gnu: TeX Live: Add new dependency to texlive-latex-xkeyval
(address . 49408@debbugs.gnu.org)(name . Thiago Jung Bauermann)(address . bauermann@kolabnow.com)
20210705000103.470948-4-bauermann@kolabnow.com
Starting with TeX Live 2021, texlive-latex-xkeyval depends on
texlive-latex-l3backend.

* gnu/packages/tex.scm(texlive-latex-xkeyval)[native-inputs]: Add
‘texlive-latex-l3backend’.
---
gnu/packages/tex.scm | 1 +
1 file changed, 1 insertion(+)

Toggle diff (12 lines)
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index a4b0bc95fa91..ff0826d70890 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -8414,6 +8414,7 @@ are part of the LaTeX required tools distribution, comprising the packages:
#t))))))
(native-inputs
`(("texlive-latex-base" ,texlive-latex-base)
+ ("texlive-latex-l3backend" ,texlive-latex-l3backend)
("texlive-cm" ,texlive-cm)
("texlive-lm" ,texlive-lm)
("texlive-url" ,texlive-url)
T
T
Thiago Jung Bauermann wrote on 5 Jul 2021 02:01
[PATCH core-updates 5/5] gnu: TeX Live: Update texlive-latex-pdftexcmds
(address . 49408@debbugs.gnu.org)(name . Thiago Jung Bauermann)(address . bauermann@kolabnow.com)
20210705000103.470948-5-bauermann@kolabnow.com
texlive-latex-pdftexcmds moved to a different directory in TeX Live 2021.

* gnu/packages/tex.scm (texlive-latex-pdftexcmds): Update hash and paths.
---
gnu/packages/tex.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (18 lines)
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index ff0826d70890..4925c79be8fa 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -4481,10 +4481,10 @@ Unicode option of @code{inputenc} or @code{inputenx}, or by XeLaTeX/LuaLaTeX.")
(package
(inherit (simple-texlive-package
"texlive-latex-pdftexcmds"
- '("/doc/latex/pdftexcmds/"
- "/tex/latex/pdftexcmds/")
+ '("/doc/generic/pdftexcmds/"
+ "/tex/generic/pdftexcmds/")
(base32
- "0kqav8jri789698wxwr2ww8ssn74fvw3agrv677nz5qyq5zmix8h")
+ "1hph0djbfc8hlwfc41rzlf8l3ccyyvc0n7a0qdrr9881jwd6iv1b")
#:trivial? #t))
(propagated-inputs
`(("texlive-generic-iftex" ,texlive-generic-iftex)
L
L
Ludovic Courtès wrote on 5 Jul 2021 11:54
control message for bug #49408
(address . control@debbugs.gnu.org)
87o8bhulv8.fsf@gnu.org
severity 49408 important
quit
T
T
Thiago Jung Bauermann wrote on 6 Jul 2021 02:42
[PATCH core-updates 0/5] Update TeX Live to version 2021.3
(address . 49408@debbugs.gnu.org)
4242762.lG6ZTrNe4V@popigai
Hi,

Today I thought of a couple more tests I could do on these patches:

1. Ran `make check TESTS=”tests/texlive.scm”`.

Unexpectedly, this ran more tests, but the TeX Live one did pass. Some
other tests failed. I looked at a few of the failures and they don’t seem
related to TeX at all.

2. Built the Guix manual and checked en/guix.pdf and es/guix.es.pdf.

Browsing through the PDFs, they look fine. The Spanish one does have the
accented characters as expected. I also checked the build log and confirmed
that TeX Live 2021 was used to generate them. I do see the following error
messages in the pdfTeX output:

l.149: Unicode char @u8:å<8f><82> not defined for Texinfo

I tried building the manual using Guix master but I get a segmentation
fault during the build process, so I can’t check whether the error message
is also present in the current TeX Live version.

--
Thanks,
Thiago
N
N
Nathan Benedetto Proença wrote on 9 Jul 2021 15:42
Biber update
(address . 49408@debbugs.gnu.org)
87pmvra9ie.fsf@archlinux.i-did-not-set--mail-host-address--so-tickle-me
Biber must be upgraded together with texlive-biblatex.
I will send two patches which address this issue:

* the first updates perl-text-bibtex
* the second updates biber itself
N
N
Nathan Benedetto Proença wrote on 8 Jul 2021 14:44
[PATCH 1/2] gnu: perl-text-bibtex: update to 0.88
(address . 49408@debbugs.gnu.org)
87mtqva9gm.fsf@archlinux.i-did-not-set--mail-host-address--so-tickle-me
gnu/packages/tex.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index b380a604b7..b8059b7b73 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -6882,7 +6882,7 @@ This package contains the complete TeX Live distribution.")
(define-public perl-text-bibtex
(package
(name "perl-text-bibtex")
- (version "0.85")
+ (version "0.88")
(source
(origin
(method url-fetch)
@@ -6890,7 +6890,7 @@ This package contains the complete TeX Live distribution.")
version ".tar.gz"))
(sha256
(base32
- "036kxgbn1jf70pfm2lmjlzjwnhbkd888fp5lyvmkjpdd15gla18h"))))
+ "0b7lmjvfmypps1nw6nsdikgaakm0n0g4186glaqazg5xd1p5h55h"))))
(build-system perl-build-system)
(arguments
`(#:phases
--
2.32.0
N
N
Nathan Benedetto Proença wrote on 9 Jul 2021 15:45
[PATCH 2/2] gnu: biber: Update to 2.16
(address . 49408@debbugs.gnu.org)
87k0lza9eb.fsf@archlinux.i-did-not-set--mail-host-address--so-tickle-me
Add perl-unicode-collate as biber input

Upstream appears to have fixed this: recent issue was closed after
telling user to use perl-unicode-collate 1.29, which is the one
available.

---
gnu/packages/tex.scm | 15 +++++----------
1 file changed, 5 insertions(+), 10 deletions(-)

Toggle diff (50 lines)
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index b8059b7b73..d86435e1bd 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -6927,20 +6927,16 @@ values (strings, macros, or numbers) pasted together.")
;; checking the Biber/BibLaTeX compatibility matrix in the BibLaTeX manual
;; at <https://ctan.org/pkg/biblatex>.
(name "biber")
- (version "2.12")
+ (version "2.16")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/plk/biber/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
- ;; TODO: Patch awaiting inclusion upstream (see:
- ;; https://github.com/plk/biber/issues/239).
- (patches (search-patches "biber-fix-encoding-write.patch"
- "biber-sortinithash.patch"))
(sha256
(base32
- "1g1hi6zvf2hmrjly1sidjaxy5440gfqm4p7p3n7kayshnjsmlskx"))))
+ "0586q8y1f2k23mvb02ccm3qsb35cwskafksixsjaih7a7xcf5gxx"))))
(build-system perl-build-system)
(arguments
`(#:phases
@@ -6963,6 +6959,7 @@ values (strings, macros, or numbers) pasted together.")
("perl-datetime-format-builder" ,perl-datetime-format-builder)
("perl-datetime-calendar-julian" ,perl-datetime-calendar-julian)
("perl-file-slurper" ,perl-file-slurper)
+ ("perl-io-string" ,perl-io-string)
("perl-ipc-cmd" ,perl-ipc-cmd)
("perl-ipc-run3" ,perl-ipc-run3)
("perl-list-allutils" ,perl-list-allutils)
@@ -6970,10 +6967,8 @@ values (strings, macros, or numbers) pasted together.")
("perl-mozilla-ca" ,perl-mozilla-ca)
("perl-regexp-common" ,perl-regexp-common)
("perl-log-log4perl" ,perl-log-log4perl)
- ;; We cannot use perl-unicode-collate here, because otherwise the
- ;; hardcoded hashes in the tests would differ. See
- ;; https://mail-archive.com/debian-bugs-dist@lists.debian.org/msg1469249.html
- ;;("perl-unicode-collate" ,perl-unicode-collate)
+ ("perl-parse-recdescent" ,perl-parse-recdescent)
+ ("perl-unicode-collate" ,perl-unicode-collate)
("perl-unicode-normalize" ,perl-unicode-normalize)
("perl-unicode-linebreak" ,perl-unicode-linebreak)
("perl-encode-eucjpascii" ,perl-encode-eucjpascii)
--
2.32.0
T
T
Thiago Jung Bauermann wrote on 12 Jul 2021 03:41
Re: [bug#49408] [PATCH 1/2] gnu: perl-text-bibtex: update to 0.88
(name . Nathan Benedetto Proença)(address . nathan@vieiraproenca.com)(address . 49408@debbugs.gnu.org)
1843977.VgTz04Q3gQ@popigai
Hi Nathan,

Thank you for these patches! They look very good in my opinion. Though
please keep in mind that I’ve just started contributing to Guix. I just
have some minor comments on them.

Em quinta-feira, 8 de julho de 2021, às 09:44:04 -03, Nathan Benedetto
Proença escreveu:
Toggle quote (3 lines)
> gnu/packages/tex.scm | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)

The patch itself looks good to me. The description needs a changelog
entry. In this case it would be very simple:

* gnu/packages/tex.scm (perl-text-bibtex): Update to 0.88.

Toggle quote (23 lines)
> diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
> index b380a604b7..b8059b7b73 100644
> --- a/gnu/packages/tex.scm
> +++ b/gnu/packages/tex.scm
> @@ -6882,7 +6882,7 @@ This package contains the complete TeX Live
> distribution.") (define-public perl-text-bibtex
> (package
> (name "perl-text-bibtex")
> - (version "0.85")
> + (version "0.88")
> (source
> (origin
> (method url-fetch)
> @@ -6890,7 +6890,7 @@ This package contains the complete TeX Live
> distribution.") version ".tar.gz"))
> (sha256
> (base32
> - "036kxgbn1jf70pfm2lmjlzjwnhbkd888fp5lyvmkjpdd15gla18h"))))
> + "0b7lmjvfmypps1nw6nsdikgaakm0n0g4186glaqazg5xd1p5h55h"))))
> (build-system perl-build-system)
> (arguments
> `(#:phases

I applied the patch and verified that perl-text-bibtex builds.

--
Thanks,
Thiago
T
T
Thiago Jung Bauermann wrote on 12 Jul 2021 03:42
Re: [bug#49408] [PATCH 2/2] gnu: biber: Update to 2.16
(name . Nathan Benedetto Proença)(address . nathan@vieiraproenca.com)(address . 49408@debbugs.gnu.org)
2007465.nTdyYzDDKo@popigai
Hi Nathan,

Em sexta-feira, 9 de julho de 2021, às 10:45:16 -03,
Nathan Benedetto Proença escreveu:
Toggle quote (4 lines)
> Add perl-unicode-collate as biber input
>
> Upstream appears to have fixed this: recent issue was closed after

It took me a while to understand that “this” referred to being able to add
perl-unicode-collate as input. I suggest joining the two phrases above or
otherwise rewording them to make it clearer.

Toggle quote (5 lines)
> telling user to use perl-unicode-collate 1.29, which is the one
> available.
>
> https://github.com/plk/biber/issues/378

I also suggest mentioning that the resolution of the issue above is why you
are able to drop ‘biber-sortinithash.patch’.

Similarly, I suggest mentioning that issue 239 is also fixed and thus you
can drop ‘biber-fix-encoding-write.patch’.

On the other hand, I’m new to the Guix community myself and I noticed that
most patches don’t have any description beyond the changelog entry, so an
alternate course of action is to remove the description and just using the
changelog entry. I have the impression that I’m more attached to commit
descriptions than most here. :-)

Either way, this patch is also missing a changelog entry.

Toggle quote (25 lines)
> ---
> gnu/packages/tex.scm | 15 +++++----------
> 1 file changed, 5 insertions(+), 10 deletions(-)
>
> diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
> index b8059b7b73..d86435e1bd 100644
> --- a/gnu/packages/tex.scm
> +++ b/gnu/packages/tex.scm
> @@ -6927,20 +6927,16 @@ values (strings, macros, or numbers) pasted
> together.") ;; checking the Biber/BibLaTeX compatibility matrix in the
> BibLaTeX manual ;; at <https://ctan.org/pkg/biblatex>.
> (name "biber")
> - (version "2.12")
> + (version "2.16")
> (source (origin
> (method git-fetch)
> (uri (git-reference
> (url "https://github.com/plk/biber/")
> (commit (string-append "v" version))))
> (file-name (git-file-name name version))
> - ;; TODO: Patch awaiting inclusion upstream (see:
> - ;; https://github.com/plk/biber/issues/239).
> - (patches (search-patches "biber-fix-encoding-write.patch"
> - "biber-sortinithash.patch"))

Since these patches aren’t used anymore, you should also `git rm` them and
remove them from `gnu/local.mk`.

Toggle quote (3 lines)
> (sha256
> (base32
> -
"1g1hi6zvf2hmrjly1sidjaxy5440gfqm4p7p3n7kayshnjsmlskx"))))
Toggle quote (1 lines)
> +
"0586q8y1f2k23mvb02ccm3qsb35cwskafksixsjaih7a7xcf5gxx"))))
Toggle quote (4 lines)
> (build-system perl-build-system)
> (arguments
> `(#:phases
> @@ -6963,6 +6959,7 @@ values (strings, macros, or numbers) pasted
together.")
Toggle quote (8 lines)
> ("perl-datetime-format-builder" ,perl-datetime-format-builder)
> ("perl-datetime-calendar-julian" ,perl-datetime-calendar-julian)
> ("perl-file-slurper" ,perl-file-slurper)
> + ("perl-io-string" ,perl-io-string)
> ("perl-ipc-cmd" ,perl-ipc-cmd)
> ("perl-ipc-run3" ,perl-ipc-run3)
> ("perl-list-allutils" ,perl-list-allutils)

I removed perl-io-string from the inputs and I was still able to build the
package. If it is needed, can you add a comment somewhere (not sure if it’s
better to mention it in the commit message or put it as a comment in the
code) explaining why it’s necessary?

Toggle quote (7 lines)
> @@ -6970,10 +6967,8 @@ values (strings, macros, or numbers) pasted
> together.") ("perl-mozilla-ca" ,perl-mozilla-ca)
> ("perl-regexp-common" ,perl-regexp-common)
> ("perl-log-log4perl" ,perl-log-log4perl)
> - ;; We cannot use perl-unicode-collate here, because otherwise the
> - ;; hardcoded hashes in the tests would differ. See
> - ;; https://mail-archive.com/debian-bugs-dist@lists.debian.org/
msg1469249.html
Toggle quote (7 lines)
> - ;;("perl-unicode-collate" ,perl-unicode-collate)
> + ("perl-parse-recdescent" ,perl-parse-recdescent)
> + ("perl-unicode-collate" ,perl-unicode-collate)
> ("perl-unicode-normalize" ,perl-unicode-normalize)
> ("perl-unicode-linebreak" ,perl-unicode-linebreak)
> ("perl-encode-eucjpascii" ,perl-encode-eucjpascii)

I applied the patch and verified that perl-text-bibtex builds. You
mentioned in my GitLab repo that you use biber for your dissertation.
With these patches applied, is it working well for you?

--
Thanks,
Thiago
N
N
Nathan Benedetto Proença wrote on 13 Jul 2021 15:19
(name . Thiago Jung Bauermann)(address . bauermann@kolabnow.com)(address . 49408@debbugs.gnu.org)
87o8b6e4g3.fsf@archlinux.i-did-not-set--mail-host-address--so-tickle-me
Thiago Jung Bauermann <bauermann@kolabnow.com> writes:

Toggle quote (31 lines)
> Hi Nathan,
>
> Em sexta-feira, 9 de julho de 2021, às 10:45:16 -03,
> Nathan Benedetto Proença escreveu:
>> Add perl-unicode-collate as biber input
>>
>> Upstream appears to have fixed this: recent issue was closed after
>
> It took me a while to understand that “this” referred to being able to add
> perl-unicode-collate as input. I suggest joining the two phrases above or
> otherwise rewording them to make it clearer.
>
>> telling user to use perl-unicode-collate 1.29, which is the one
>> available.
>>
>> https://github.com/plk/biber/issues/378
>
> I also suggest mentioning that the resolution of the issue above is why you
> are able to drop ‘biber-sortinithash.patch’.
>
> Similarly, I suggest mentioning that issue 239 is also fixed and thus you
> can drop ‘biber-fix-encoding-write.patch’.
>
> On the other hand, I’m new to the Guix community myself and I noticed that
> most patches don’t have any description beyond the changelog entry, so an
> alternate course of action is to remove the description and just using the
> changelog entry. I have the impression that I’m more attached to commit
> descriptions than most here. :-)
>
> Either way, this patch is also missing a changelog entry.

What would be the appropriate course of action? Should I simply send new
patches with changelogs like I have sent these ones?

Toggle quote (52 lines)
>> ---
>> gnu/packages/tex.scm | 15 +++++----------
>> 1 file changed, 5 insertions(+), 10 deletions(-)
>>
>> diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
>> index b8059b7b73..d86435e1bd 100644
>> --- a/gnu/packages/tex.scm
>> +++ b/gnu/packages/tex.scm
>> @@ -6927,20 +6927,16 @@ values (strings, macros, or numbers) pasted
>> together.") ;; checking the Biber/BibLaTeX compatibility matrix in the
>> BibLaTeX manual ;; at <https://ctan.org/pkg/biblatex>.
>> (name "biber")
>> - (version "2.12")
>> + (version "2.16")
>> (source (origin
>> (method git-fetch)
>> (uri (git-reference
>> (url "https://github.com/plk/biber/")
>> (commit (string-append "v" version))))
>> (file-name (git-file-name name version))
>> - ;; TODO: Patch awaiting inclusion upstream (see:
>> - ;; https://github.com/plk/biber/issues/239).
>> - (patches (search-patches "biber-fix-encoding-write.patch"
>> - "biber-sortinithash.patch"))
>
> Since these patches aren’t used anymore, you should also `git rm` them and
> remove them from `gnu/local.mk`.
>
>> (sha256
>> (base32
>> -
> "1g1hi6zvf2hmrjly1sidjaxy5440gfqm4p7p3n7kayshnjsmlskx"))))
>> +
> "0586q8y1f2k23mvb02ccm3qsb35cwskafksixsjaih7a7xcf5gxx"))))
>> (build-system perl-build-system)
>> (arguments
>> `(#:phases
>> @@ -6963,6 +6959,7 @@ values (strings, macros, or numbers) pasted
> together.")
>> ("perl-datetime-format-builder" ,perl-datetime-format-builder)
>> ("perl-datetime-calendar-julian" ,perl-datetime-calendar-julian)
>> ("perl-file-slurper" ,perl-file-slurper)
>> + ("perl-io-string" ,perl-io-string)
>> ("perl-ipc-cmd" ,perl-ipc-cmd)
>> ("perl-ipc-run3" ,perl-ipc-run3)
>> ("perl-list-allutils" ,perl-list-allutils)
>
> I removed perl-io-string from the inputs and I was still able to build the
> package. If it is needed, can you add a comment somewhere (not sure if it’s
> better to mention it in the commit message or put it as a comment in the
> code) explaining why it’s necessary?

When some of the builds failed, biber listed packages they required, and
perl-io-string was one of them, so this is why I added it.
I believe that if you look into the build log you may find some
complaint about IO::String missing, or that you are using an older
version.

Toggle quote (19 lines)
>> @@ -6970,10 +6967,8 @@ values (strings, macros, or numbers) pasted
>> together.") ("perl-mozilla-ca" ,perl-mozilla-ca)
>> ("perl-regexp-common" ,perl-regexp-common)
>> ("perl-log-log4perl" ,perl-log-log4perl)
>> - ;; We cannot use perl-unicode-collate here, because otherwise the
>> - ;; hardcoded hashes in the tests would differ. See
>> - ;; https://mail-archive.com/debian-bugs-dist@lists.debian.org/
> msg1469249.html
>> - ;;("perl-unicode-collate" ,perl-unicode-collate)
>> + ("perl-parse-recdescent" ,perl-parse-recdescent)
>> + ("perl-unicode-collate" ,perl-unicode-collate)
>> ("perl-unicode-normalize" ,perl-unicode-normalize)
>> ("perl-unicode-linebreak" ,perl-unicode-linebreak)
>> ("perl-encode-eucjpascii" ,perl-encode-eucjpascii)
>
> I applied the patch and verified that perl-text-bibtex builds. You
> mentioned in my GitLab repo that you use biber for your dissertation.
> With these patches applied, is it working well for you?

Yes, I have been using biber and latex from this sequence of patches for
a couple of days now.

I believe I have identified another problem: texdoc is not working.
Perhaps this is by choice (maybe Guix separates it into another package)
or because we missed something, but I did not have time to look into it.

If texlive does not "ship" texdoc, we may want to play around with some
flags to be sure that we are not packaging documentation files we are
not using.
There are 3.1gb of files in the folder /share/texmf-dist/doc inside of
the store folder generated by this package.

Toggle quote (3 lines)
> --
> Thanks,
> Thiago
T
T
Thiago Jung Bauermann wrote on 13 Jul 2021 23:22
(name . Nathan Benedetto Proença)(address . nathan@vieiraproenca.com)(address . 49408@debbugs.gnu.org)
6572458.yLqvRoJvsB@popigai
Em terça-feira, 13 de julho de 2021, às 10:19:56 -03, Nathan Benedetto
Proença escreveu:
Toggle quote (10 lines)
> Thiago Jung Bauermann <bauermann@kolabnow.com> writes:
> > Hi Nathan,
> >
> > Em sexta-feira, 9 de julho de 2021, às 10:45:16 -03,
> > Nathan Benedetto Proença escreveu:
> > Either way, this patch is also missing a changelog entry.
>
> What would be the appropriate course of action? Should I simply send new
> patches with changelogs like I have sent these ones?

Yes, and also mark them as v2.

Toggle quote (26 lines)
> >> @@ -6963,6 +6959,7 @@ values (strings, macros, or numbers) pasted
> >
> > together.")
> >
> >> ("perl-datetime-format-builder" ,perl-datetime-format-builder)
> >> ("perl-datetime-calendar-julian"
> >> ,perl-datetime-calendar-julian)
> >> ("perl-file-slurper" ,perl-file-slurper)
> >>
> >> + ("perl-io-string" ,perl-io-string)
> >>
> >> ("perl-ipc-cmd" ,perl-ipc-cmd)
> >> ("perl-ipc-run3" ,perl-ipc-run3)
> >> ("perl-list-allutils" ,perl-list-allutils)
> >
> > I removed perl-io-string from the inputs and I was still able to build
> > the package. If it is needed, can you add a comment somewhere (not
> > sure if it’s better to mention it in the commit message or put it as a
> > comment in the code) explaining why it’s necessary?
>
> When some of the builds failed, biber listed packages they required, and
> perl-io-string was one of them, so this is why I added it.
> I believe that if you look into the build log you may find some
> complaint about IO::String missing, or that you are using an older
> version.

You are right, it shows:

```
Checking prerequisites...
requires:
! IO::String is not installed

ERRORS/WARNINGS FOUND IN PREREQUISITES. You may wish to install the
versions of the modules indicated above before proceeding with this
installation

Run 'Build installdeps' to install missing prerequisites.
```

I should have checked the build log to see if everything was ok.

Toggle quote (27 lines)
> >> @@ -6970,10 +6967,8 @@ values (strings, macros, or numbers) pasted
> >> together.") ("perl-mozilla-ca" ,perl-mozilla-ca)
> >>
> >> ("perl-regexp-common" ,perl-regexp-common)
> >> ("perl-log-log4perl" ,perl-log-log4perl)
> >>
> >> - ;; We cannot use perl-unicode-collate here, because otherwise
> >> the - ;; hardcoded hashes in the tests would differ. See
> >> - ;; https://mail-archive.com/debian-bugs-dist@lists.debian.org/
> >
> > msg1469249.html
> >
> >> - ;;("perl-unicode-collate" ,perl-unicode-collate)
> >> + ("perl-parse-recdescent" ,perl-parse-recdescent)
> >> + ("perl-unicode-collate" ,perl-unicode-collate)
> >>
> >> ("perl-unicode-normalize" ,perl-unicode-normalize)
> >> ("perl-unicode-linebreak" ,perl-unicode-linebreak)
> >> ("perl-encode-eucjpascii" ,perl-encode-eucjpascii)
> >
> > I applied the patch and verified that perl-text-bibtex builds. You
> > mentioned in my GitLab repo that you use biber for your dissertation.
> > With these patches applied, is it working well for you?
>
> Yes, I have been using biber and latex from this sequence of patches for
> a couple of days now.

Nice! Thanks for doing these tests.

Toggle quote (4 lines)
> I believe I have identified another problem: texdoc is not working.
> Perhaps this is by choice (maybe Guix separates it into another package)
> or because we missed something, but I did not have time to look into it.

That’s true. It doesn’t seem to work even with TeX Live 2019. I’m not
familiar with texdoc, so I don’t know what could be wrong (or whether it’s
deliberate).

Toggle quote (6 lines)
> If texlive does not "ship" texdoc, we may want to play around with some
> flags to be sure that we are not packaging documentation files we are
> not using.
> There are 3.1gb of files in the folder /share/texmf-dist/doc inside of
> the store folder generated by this package.

I agree. If files in /share/texmf-dist/doc are only useful with texdoc,
then either it should be fixed or these files shouldn’t be shipped.

Though since this is a pre-existing problem (as far as I can tell, at
least) I think it’s better to track it in a separate issue and not
condition the TeX Live update on it.

--
Thanks,
Thiago
L
L
Ludovic Courtès wrote on 19 Jul 2021 16:55
Re: bug#49408: [PATCH core-updates 0/5] Update TeX Live to version 2021.3
(name . Thiago Jung Bauermann)(address . bauermann@kolabnow.com)
87k0lmmjyk.fsf_-_@gnu.org
Hello Thiago,

I haven’t actually built it yet but the patch series LGTM.

Do you want to resend the whole series, incorporating the changes that
Nathan posted, or is it OK to apply the two Biber patches after yours?

Let me know and I’ll happily push to ‘core-updates’.

Thanks!

Ludo’.
T
T
Thiago Jung Bauermann wrote on 19 Jul 2021 17:23
(name . Ludovic Courtès)(address . ludo@gnu.org)
3074271.COLOzMcpbd@popigai
Hi Ludo’,

Em segunda-feira, 19 de julho de 2021, às 11:55:47 -03, Ludovic Courtès
escreveu:
Toggle quote (7 lines)
> Hello Thiago,
>
> I haven’t actually built it yet but the patch series LGTM.
>
> Do you want to resend the whole series, incorporating the changes that
> Nathan posted, or is it OK to apply the two Biber patches after yours?

Great! It’s fine to apply the two Biber patches after mine.

Toggle quote (2 lines)
> Let me know and I’ll happily push to ‘core-updates’.

Thank you!

--
Thanks,
Thiago
N
N
Nathan Proença wrote on 19 Jul 2021 17:24
(name . Ludovic Courtès)(address . ludo@gnu.org)
CANTjABykAv4poip-wyQD096PK-NGVJZ0GpbO1twpnNna15MdJg@mail.gmail.com
I completely understand if you both decide to leave my patch out, and I may
submit it again.

It is my first submission, and I want to sit down and do it calmly (read
about change log and similar things) as it is one my first contributions.

Unfortunately I was unable to look into it so far, but I understand that
that's on me, and I would happily send a new patch later if you both find
it more appropriate.

Ludovic Courtès <ludo@gnu.org> schrieb am Mo., 19. Juli 2021, 11:55:

Toggle quote (13 lines)
> Hello Thiago,
>
> I haven’t actually built it yet but the patch series LGTM.
>
> Do you want to resend the whole series, incorporating the changes that
> Nathan posted, or is it OK to apply the two Biber patches after yours?
>
> Let me know and I’ll happily push to ‘core-updates’.
>
> Thanks!
>
> Ludo’.
>
Attachment: file
L
L
Ludovic Courtès wrote on 21 Jul 2021 16:06
(name . Nathan Proença)(address . nathan@vieiraproenca.com)
87r1frhibs.fsf_-_@gnu.org
Hi Nathan & Thiago,

Nathan Proença <nathan@vieiraproenca.com> skribis:

Toggle quote (3 lines)
> I completely understand if you both decide to leave my patch out, and I may
> submit it again.

No no, it’s a much welcome contribution, don’t worry. :-)

I pushed the whole series as c3e33474b965ac1b7d91b69b026630e7c707e289:

c3e33474b9 gnu: biber: Update to 2.16.
313c69a100 gnu: perl-text-bibtex: Update to 0.88.
4b11d85655 gnu: TeX Live: Update texlive-latex-pdftexcmds
35aed80bb6 gnu: TeX Live: Add new dependency to texlive-latex-xkeyval
8f35bac4cc gnu: TeX Live: Add texlive-latex-l3backend
ee25e3fcab gnu: TeX Live: Update to TeX Live 2021
04e80290bf gnu: TeX Live: Use IniTeX to build a couple of packages

I adjusted the Biber patch to remove the patches that are no longer
used, and I also tweaked commit logs.

core packages so we won’t immediately see if something broke, but
hopefully we’ll turn it on Real Soon Now!

Thank you!

Ludo’.
L
L
Ludovic Courtès wrote on 21 Jul 2021 16:06
control message for bug #49408
(address . control@debbugs.gnu.org)
87pmvbhibh.fsf@gnu.org
close 49408
quit
T
T
Thiago Jung Bauermann wrote on 21 Jul 2021 21:43
Re: bug#49408: [PATCH core-updates 0/5] Update TeX Live to version 2021.3
(name . Ludovic Courtès)(address . ludo@gnu.org)
5336528.LlKr5E8scV@popigai
Hello Ludo’,

Em quarta-feira, 21 de julho de 2021, às 11:06:47 -03, Ludovic Courtès
escreveu:
Toggle quote (21 lines)
> Hi Nathan & Thiago,
>
> Nathan Proença <nathan@vieiraproenca.com> skribis:
> > I completely understand if you both decide to leave my patch out, and I
> > may submit it again.
>
> No no, it’s a much welcome contribution, don’t worry. :-)
>
> I pushed the whole series as c3e33474b965ac1b7d91b69b026630e7c707e289:
>
> c3e33474b9 gnu: biber: Update to 2.16.
> 313c69a100 gnu: perl-text-bibtex: Update to 0.88.
> 4b11d85655 gnu: TeX Live: Update texlive-latex-pdftexcmds
> 35aed80bb6 gnu: TeX Live: Add new dependency to texlive-latex-xkeyval
> 8f35bac4cc gnu: TeX Live: Add texlive-latex-l3backend
> ee25e3fcab gnu: TeX Live: Update to TeX Live 2021
> 04e80290bf gnu: TeX Live: Use IniTeX to build a couple of packages
>
> I adjusted the Biber patch to remove the patches that are no longer
> used, and I also tweaked commit logs.

Thank you!

Toggle quote (4 lines)
> Currently https://ci.guix.gnu.org/jobset/core-updates is only building
> core packages so we won’t immediately see if something broke, but
> hopefully we’ll turn it on Real Soon Now!

Awesome, thanks!

I updated core-updates and built the ‘texlive*’ packages using my shell
script and they all built successfuly to at least the most basic stuff
should build.

I even got the texlive-bin package as a substitute. :-)

--
Thanks,
Thiago
?