* guix/build-system/texlive.scm (%texlive-tag): Set to 2020.0.
(%texlive-revision): Set to 54632.
* gnu/packages/tex.scm (texlive-extra-src, texlive-texmf-src, texlive-bin,
texlive-texmf, texlive): Update to 20200406.
(texlive-bin)[source](patches): Remove.
[arguments]: Adjust poppler compatibility phase for new upstream patches.
* gnu/packages/tex.scm (hyph-utf8-scripts, texlive-docstrip, texlive-unicode-data
texlive-hyphen-base, texlive-dvips, texlive-metafont-base, texlive-fontinst,
texlive-fontname, texlive-tex-plain, texlive-hyphen-bulgarian, texlive-hyphen-chinese,
texlive-hyphen-hungarian, texlive-hyphen-latin, texlive-hyphen-sanskrit,
texlive-hyphen-spanish, texlive-hyph-utf8, texlive-kpathsea,
texlive-latexconfig, texlive-latex-base, texlive-union,
texlive-latex-filecontents, texlive-latex-fancyvrb, texlive-graphics-def,
texlive-latex-graphics, texlive-latex-oberdiek, texlive-latex-tools,
texlive-latex-l3kernel, texlive-latex-l3packages, texlive-latex-fontspec,
texlive-latex-amsmath, texlive-latex-babel, texlive-latex-draftwatermark,
texlive-etoolbox, texlive-latex-geometry, texlive-latex-polyglossia,
texlive-latex-supertabular, texlive-tex-texinfo, texlive-latex-appendix,
texlive-latex-colortbl, texlive-latex-listings, texlive-inconsolata,
texlive-latex-enumitem, texlive-latex-multirow, texlive-latex-overpic,
texlive-latex-parskip, texlive-latex-pdfpages, texlive-libertine,
texlive-latex-titlesec, texlive-metapost, texlive-latex-acmart,
texlive-latex-wasysym, texlive-latex-preview, texlive-latex-acronym,
texlive-pdftex, texlive-latex-media9, texlive-latex-ocgx2, texlive-latex-ms,
texlive-generic-ulem, texlive-latex-pgf, texlive-latex-koma-script,
texlive-generic-listofitems, texlive-bibtex, texlive-context-base,
texlive-beamer, texlive-pstricks, texlive-marginnote, texlive-iftex,
texlive-tools, texlive-siunitx, texlive-booktabs, texlive-csquotes,
texlive-biblatex, texlive-microtype, texlive-caption, texlive-ydoc,
texlive-courier, texlive-hyperref, texlive-fontspec, texlive-l3build,
texlive-luaotfload, texlive-babel, texlive-tipa, texlive-jknappen,
texlive-wasy, texlive-context, texlive-cabin, texlive-fourier,
texlive-mweights, texlive-newtx, texlive-xcharter, texlive-tcolorbox): Update
hashes.
(texlive-hyphen-bulgarian): Don't include removed files.
(texlive-hyphen-hungarian, texlive-hyphen-sanskrit): Adjust for directory
rename.
(texlive-hyphen-chinese, texlive-hyphen-latin): Add more files.
(texlive-hyphen-macedonian): New public variable.
(texlive-metafont-base)[source]: Switch to SVN-MULTI-FETCH.
[arguments]: Adjust for extra source files.
(texlive-latex-base)[arguments]: Disable more formats.
[propagated-inputs]: Add TEXLIVE-HYPHEN-MACEDONIAN.
(texlive-fontinst): Don't include "scripts/texlive/fontinst.sh".
(texlive-generic-iftex): New public variable.
(texlive-iftex, texlive-generic-ifxetex): Deprecate in favor of
TEXLIVE-GENERIC-IFTEX.
(texlive-latex-oberdiek)[propagated-inputs]: Change from
TEXLIVE-GENERIC-IFXETEX to TEXLIVE-GENERIC-IFTEX.
(texlive-latex-xkeyval)[native-inputs]: Likewise.
(texlive-default-updmap.cfg): Remove variable.
* gnu/packages/patches/texlive-bin-poppler-0.83.patch,
gnu/packages/patches/texlive-bin-poppler-0.86.patch: Delete files.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
---
gnu/local.mk | 2 -
gnu/packages/docbook.scm | 2 +-
.../patches/texlive-bin-poppler-0.83.patch | 52 ---
.../patches/texlive-bin-poppler-0.86.patch | 17 -
gnu/packages/tex.scm | 380 ++++++++----------
guix/build-system/texlive.scm | 4 +-
6 files changed, 171 insertions(+), 286 deletions(-)
delete mode 100644 gnu/packages/patches/texlive-bin-poppler-0.83.patch
delete mode 100644 gnu/packages/patches/texlive-bin-poppler-0.86.patch
Toggle diff (330 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index ecbf67118e..aca50f576a 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1687,8 +1687,6 @@ dist_patch_DATA = \
%D%/packages/patches/tcsh-fix-autotest.patch \
%D%/packages/patches/teensy-loader-cli-help.patch \
%D%/packages/patches/texinfo-5-perl-compat.patch \
- %D%/packages/patches/texlive-bin-poppler-0.83.patch \
- %D%/packages/patches/texlive-bin-poppler-0.86.patch \
%D%/packages/patches/telegram-purple-adjust-test.patch \
%D%/packages/patches/telepathy-glib-channel-memory-leak.patch \
%D%/packages/patches/texi2html-document-encoding.patch \
diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm
index 3fd1930c79..ee21d1b359 100644
--- a/gnu/packages/docbook.scm
+++ b/gnu/packages/docbook.scm
@@ -430,7 +430,7 @@ the in DocBook SGML DTDs.")
texlive-fonts-rsfs
texlive-fonts-stmaryrd
- texlive-generic-ifxetex)))
+ texlive-generic-iftex)))
("imagemagick" ,imagemagick) ;for convert
("inkscape" ,inkscape) ;for svg conversion
("docbook" ,docbook-xml)
diff --git a/gnu/packages/patches/texlive-bin-poppler-0.83.patch b/gnu/packages/patches/texlive-bin-poppler-0.83.patch
deleted file mode 100644
index 5e57e3efac..0000000000
--- a/gnu/packages/patches/texlive-bin-poppler-0.83.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-Fix build with Poppler 0.83 and later.
-
-Taken from Arch Linux, but adjusted to patch the versioned Poppler
-files, as upstream applies it after copying them in place.
-https://git.archlinux.org/svntogit/packages.git/tree/trunk/texlive-poppler-0.83.patch?h=packages/texlive-bin
-
-diff -ru texlive-source-orig/texk/web2c/pdftexdir/pdftoepdf-poppler0.76.0.cc texlive-source/texk/web2c/pdftexdir/pdftoepdf-poppler0.76.0.cc
---- texlive-source-orig/texk/web2c/pdftexdir/pdftoepdf-poppler0.76.0.cc
-+++ texlive-source/texk/web2c/pdftexdir/pdftoepdf-poppler0.76.0.cc
-@@ -723,7 +723,7 @@
- #endif
- // initialize
- if (!isInit) {
-- globalParams = new GlobalParams();
-+ globalParams.reset(new GlobalParams());
- globalParams->setErrQuiet(false);
- isInit = true;
- }
-@@ -1108,6 +1108,5 @@
- delete_document(p);
- }
- // see above for globalParams
-- delete globalParams;
- }
- }
-diff -ru texlive-source-orig/texk/web2c/pdftexdir/pdftosrc-poppler0.76.0.cc texlive-source/texk/web2c/pdftexdir/pdftosrc-poppler0.76.0.cc
---- texlive-source-orig/texk/web2c/pdftexdir/pdftosrc-poppler0.76.0.cc
-+++ texlive-source/texk/web2c/pdftexdir/pdftosrc-poppler0.76.0.cc
-@@ -79,7 +79,7 @@
- exit(1);
- }
- fileName = new GString(argv[1]);
-- globalParams = new GlobalParams();
-+ globalParams.reset(new GlobalParams());
- doc = new PDFDoc(fileName);
- if (!doc->isOk()) {
- fprintf(stderr, "Invalid PDF file\n");
-@@ -100,7 +100,7 @@
- if (objnum == 0) {
- srcStream = catalogDict.dictLookup("SourceObject");
- static char const_SourceFile[] = "SourceFile";
-- if (!srcStream.isStream(const_SourceFile)) {
-+ if (!srcStream.isDict(const_SourceFile)) {
- fprintf(stderr, "No SourceObject found\n");
- exit(1);
- }
-@@ -202,5 +202,4 @@
- fprintf(stderr, "Cross-reference table extracted to %s\n", outname);
- fclose(outfile);
- delete doc;
-- delete globalParams;
- }
diff --git a/gnu/packages/patches/texlive-bin-poppler-0.86.patch b/gnu/packages/patches/texlive-bin-poppler-0.86.patch
deleted file mode 100644
index b1adca657b..0000000000
--- a/gnu/packages/patches/texlive-bin-poppler-0.86.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Fix build with Poppler 0.86 and later.
-
-Taken from Arch Linux, but adjusted to patch the versioned Poppler
-files, as upstream applies it after copying them in place.
-https://git.archlinux.org/svntogit/packages.git/tree/trunk/texlive-poppler-0.86.patch?h=packages/texlive-bin
-
---- a/texk/web2c/pdftexdir/pdftoepdf-poppler0.76.0.cc 2020-03-03 21:11:35.102711802 +0000
-+++ b/texk/web2c/pdftexdir/pdftoepdf-poppler0.76.0.cc 2020-03-03 21:13:13.057420111 +0000
-@@ -757,7 +757,7 @@
- if (page_name) {
- // get page by name
- GString name(page_name);
-- LinkDest *link = pdf_doc->doc->findDest(&name);
-+ LinkDest *link = pdf_doc->doc->findDest(&name).get();
- if (link == 0 || !link->isOk())
- pdftex_fail("PDF inclusion: invalid destination <%s>", page_name);
- Ref ref = link->getPageRef();
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 0634b6e79f..1cf288ee2f 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -8,7 +8,7 @@
;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
-;;; Copyright © 2017, 2020 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2017, 2020, 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Danny Milosavljevic <dannym+a@scratchpost.org>
;;; Copyright © 2018, 2020 Arun Isaac <arunisaac@systemreboot.net>
@@ -149,7 +149,7 @@ copied to their outputs; otherwise the TEXLIVE-BUILD-SYSTEM is used."
"-checkout"))
(sha256
(base32
- "0lk7shx768sxvgr85y8bnmmnj8x4bbkgpxrz3z8jp8avi33prw83"))))
+ "1gdyc8nmvp5jqlc429rmfzfl0cqqsdayc70y1hxwz025pv9jn960"))))
(define (texlive-hyphen-package name code locations hash)
"Return a TeX Live hyphenation package with the given NAME, using source
@@ -222,47 +222,29 @@ 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/2019/texlive-20190410-extra.tar.xz")
+ (uri "ftp://tug.org/historic/systems/texlive/2020/texlive-20200406-extra.tar.xz")
(sha256 (base32
- "13ncf2an4nlqv18lki6y2p6pcsgs1i54zqkhfwprax5j53bk70j8"))))
+ "0kx6r2ncnqpmhs0jhjk4ypq99czcvql9l9n0npcgqzrv4qmzsg94"))))
(define texlive-texmf-src
(origin
(method url-fetch)
- (uri "ftp://tug.org/historic/systems/texlive/2019/texlive-20190410-texmf.tar.xz")
+ (uri "ftp://tug.org/historic/systems/texlive/2020/texlive-20200406-texmf.tar.xz")
(sha256 (base32
- "00n4qh9fj8v9zzy3y488hpfq1g3dnnh72y4yjsaikfcqpi59gv62"))))
+ "15ashyxm3j78wjik1pp7vwi1wg07xjgh9zv0vkhqim6g7rc7xa8a"))))
(define-public texlive-bin
(package
(name "texlive-bin")
- (version "20190410")
+ (version "20200406")
(source
(origin
(method url-fetch)
- (uri (string-append "ftp://tug.org/historic/systems/texlive/2019/"
+ (uri (string-append "ftp://tug.org/historic/systems/texlive/2020/"
"texlive-" version "-source.tar.xz"))
(sha256
(base32
- "1dfps39q6bdr1zsbp9p74mvalmy3bycihv19sb9c6kg30kprz8nj"))
- (patches
- (let ((arch-patch
- (lambda (name revision hash)
- (origin
- (method url-fetch)
- (uri (string-append "https://git.archlinux.org/svntogit/packages.git"
- "/plain/trunk/" name "?h=packages/texlive-bin"
- "&id=" revision))
- (file-name (string-append "texlive-bin-" name))
- (sha256 (base32 hash)))))
- (arch-revision "49d7fe25e5ea63f136ebc20270c1d8fc9b00041c"))
- (list
- (arch-patch "pdftex-poppler0.76.patch" arch-revision
- "03vc88dz37mjjyaspzv0fik2fp5gp8qv82114869akd1dhszbaax")
- (search-patch "texlive-bin-poppler-0.83.patch")
- (arch-patch "texlive-poppler-0.84.patch" arch-revision
- "1ia6cr99krk4ipx4hdi2qdb98bh2h26mckjlpxdzrjnfhlnghksa")
- (search-patch "texlive-bin-poppler-0.86.patch"))))
+ "0y4h4j2qg714srhvf1hvn165w7sanr1j2vzrsgc23kxvrc43sbz3"))
(modules '((guix build utils)
(ice-9 ftw)))
(snippet
@@ -295,7 +277,7 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use.
"-checkout"))
(sha256
(base32
- "1cj04svl8bpfwjr4gqfcc04rmklz3aggrxvgj7q5bxrh7c7g18xh"))))
+ "0p3ff839q4kv3zj4xxc76fqcjcjinv8xf7ix0zgwl7yhy5p3sm80"))))
("cairo" ,cairo)
("fontconfig" ,fontconfig)
("fontforge" ,fontforge)
@@ -384,9 +366,9 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use.
#t))
(add-after 'unpack 'use-code-for-new-poppler
(lambda _
- (copy-file "texk/web2c/pdftexdir/pdftoepdf-poppler0.76.0.cc"
+ (copy-file "texk/web2c/pdftexdir/pdftoepdf-poppler0.86.0.cc"
"texk/web2c/pdftexdir/pdftoepdf.cc")
- (copy-file "texk/web2c/pdftexdir/pdftosrc-poppler0.76.0.cc"
+ (copy-file "texk/web2c/pdftexdir/pdftosrc-poppler0.83.0.cc"
"texk/web2c/pdftexdir/pdftosrc.cc")
#t))
(add-after 'unpack 'patch-dvisvgm-build-files
@@ -420,14 +402,16 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use.
(add-after 'unpack-texlive-scripts 'patch-scripts
(lambda _
(let* ((scripts (append (find-files "texk/kpathsea" "^mktex")
+ (find-files "texk/texlive/linked_scripts"
+ "\\.sh$")
(find-files "texlive-scripts" "\\.sh$")))
(commands '("awk" "basename" "cat" "grep" "mkdir" "rm"
"sed" "sort" "uname"))
(command-regexp (format #f "\\b(~a)\\b"
(string-join commands "|")))
(iso-8859-1-encoded-scripts
- '("texlive-scripts/source/rubibtex.sh"
- "texlive-scripts/source/rumakeindex.sh")))
+ '("texk/texlive/linked_scripts/texlive-extra/rubibtex.sh"
+ "texk/texlive/linked_scripts/texlive-extra/rumakeindex.sh")))
(define (substitute-commands scripts)
(substitute* scripts
@@ -467,7 +451,7 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use.
(("^half_error_line = .*$") "half_error_line = 238\n")
(("^max_print_line = .*$") "max_print_line = 1000\n")))
#t))
- (add-after 'install 'postint
+ (add-after 'install 'post-install
(lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
(let* ((out (assoc-ref outputs "out"))
(patch-source-shebangs (assoc-ref %standard-phases
@@ -553,7 +537,7 @@ This package contains the binaries.")
"texlive-docstrip"
(list "/tex/latex/base/docstrip.tex")
(base32
- "1f9sx1lp7v34zwm186msf03q2h28rrg0lh65z59zc0cvqffs6dvb")
+ "1vyn0vskxqmq58fbq4r4pknbzpxpyw30nmlmsncnialrmrwqm7k5")
#:trivial? #t))
(home-page "https://www.ctan.org/texlive")
(synopsis "Utility to strip documentation from TeX files.")
@@ -568,7 +552,7 @@ documentation from TeX files. It is part of the LaTeX base.")
(list "/tex/generic/unicode-data/"
"/doc/generic/unicode-data/")
(base32
- "0zy4v9y667cka5fi4dnc6x500907812y7pcaf63s5qxi8l7khxxy")
+ "1mxb55ml92zd00w0zbr0dkscnxdgpxamfabl0izhk3cpz81n9g92")
#:trivial? #t))
(home-page "https://www.ctan.org/pkg/unicode-data")
(synopsis "Unicode data and loaders for TeX")
@@ -601,7 +585,7 @@ out to date by @code{unicode-letters.tex}. ")
"/tex/generic/hyphen/hypht1.tex"
"/tex/generic/hyphen/zerohyph.tex")
(base32
- "0f19nml4hdx9lh7accqdk1b9ismwfm2523l5zsc4kb4arysgcakz")
+ "1vakayd82a4ga0b80mxypbibw2vrf2a8p4v6bim7s97zh8b9mzk3")
#:trivial? #t))
(home-page "https://tug.org/texlive/")
(synopsis "Core hyphenation support files")
@@ -622,7 +606,7 @@ default versions of those), etc.")
"/fonts/enc/dvips/base/"
"/tex/generic/dvips/")
(base32
- "1qr7h0ahycmz5wmpv54glfss9jqdmmyymj6kim626d1c8v9bmg86")
+ "0rns1hpjy4fmsskmkwx197j8qbgdmyj0j9214sq9vhpa6nv7czm3")
#:trivial? #t))
(home-page "https://www.ctan.org/pkg/dvips")
(synopsis "DVI to PostScript drivers")
@@ -655,16 +639,17 @@ to adapt the plain e-TeX source file to work with XeTeX and LuaTeX.")
(name "texlive-metafont")
(version (number->string %texlive-revision))
(source (origin
- (method svn-fetch)
- (uri (svn-reference
+ (method svn-multi-fetch)
+ (uri (svn-multi-reference
(url (string-append "svn://www.tug.org/texlive/tags/"
- %texlive-tag "/Master/texmf-dist/"
- "/metafont"))
+ %texlive-tag "/Master/texmf-dist"))
+ (locations '("/metafont/"
+ "/fonts/source/public/modes/"))
(revision %texlive-revision)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "1yl4n8cn5xqk2nc22zgzq6ymd7bhm6xx1mz3azip7i3ki4bhb5q5"))))
+ "1r1v3zm600nrl3iskx130fjwj1qib82n02dlca446zb53x0hg6gr"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no test target
@@ -673,14 +658,17 @@ to adapt the plain e-TeX source file to work with XeTeX and LuaTeX.")
(delete 'configure)
(replace 'build
(lambda* (#:key inputs #:allow-other-keys)
- (let ((cwd (getcwd)))
+ (let* ((cwd (getcwd))
+ (mf (string-append cwd "/metafont"))
+ (modes (string-append cwd "/fonts/source/public/modes")))
(setenv "MFINPUTS"
- (string-append cwd "/base:"
- cwd "/misc:"
- cwd "/roex:"
- cwd "/feynmf:"
- cwd "/mfpic:"
- cwd "/config")))
+ (string-append modes ":"
+ mf "/base:"
+ mf "/misc:"
+ mf "/roex:"
+ mf "/feynmf:"
+ mf "/mfpic:"
+ mf "/config")))
(mkdir "build")
(with-directory-excursion "build"
(invoke "inimf" "mf.mf"))))
@@ -692,10 +680,10 @@ to adapt the plain e-TeX source file to work with XeTeX and LuaTeX.")
(mkdir-p base)
(mkdir-p mf)
(install-file "build/mf.base" base)
- (for-each (lambda (where)
- (copy-recursively where (string-append mf where)))
- (list "base" "misc" "config"))
- #t))))))
+ (with-directory-excursion "metafont"
+ (for-each (lambda (where)
+ (copy-recursively where (string-append mf where)))
+ (list "base" "misc" "config")))))))))