gnu: texlive: Update to 20180414.

* gnu/packages/tex.scm (texlive, texlive-bin, texlive-extra-src,
texlive-texmf-src, texlive-texmf): Update to 20180414.
(texlive-bin)[source]: Replace patch.
[arguments]: Add build phase "use-code-for-new-poppler".
This commit is contained in:
Ricardo Wurmus 2018-06-29 16:47:41 +02:00
parent 695c501dbe
commit 3e1ebaab35
No known key found for this signature in database
GPG Key ID: 197A5888235FACAC
1 changed files with 63 additions and 57 deletions

View File

@ -6,7 +6,7 @@
;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
@ -76,42 +76,41 @@
(define texlive-extra-src (define texlive-extra-src
(origin (origin
(method url-fetch) (method url-fetch)
(uri "ftp://tug.org/historic/systems/texlive/2017/texlive-20170524-extra.tar.xz") (uri "ftp://tug.org/historic/systems/texlive/2018/texlive-20180414-extra.tar.xz")
(sha256 (base32 (sha256 (base32
"0zvd2zskk78ig114mfj24g15qys41hzqv59fmqpirdbgq9c9gr5g")))) "0a83kymxc8zmlxjb0y1gf6mx7qnf0hxffwkivwh5yh138y2rfhsv"))))
(define texlive-texmf-src (define texlive-texmf-src
(origin (origin
(method url-fetch) (method url-fetch)
(uri "ftp://tug.org/historic/systems/texlive/2017/texlive-20170524-texmf.tar.xz") (uri "ftp://tug.org/historic/systems/texlive/2018/texlive-20180414-texmf.tar.xz")
(sha256 (base32 (sha256 (base32
"1v69y3kgkbk24f7s4dfkknwd317mqmck5jgpyb35wqgqfy5p0qrz")))) "1b8zigzg8raxkhhzphcmynf84rbdbj2ym2qkz24v8n0qx82zmqms"))))
(define-public texlive-bin (define-public texlive-bin
(package (package
(name "texlive-bin") (name "texlive-bin")
(version "20170524") (version "20180414")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "ftp://tug.org/historic/systems/texlive/2017/" (uri (string-append "ftp://tug.org/historic/systems/texlive/2018/"
"texlive-" version "-source.tar.xz")) "texlive-" version "-source.tar.xz"))
(sha256
(base32
"0khyi6h015r2zfqgg0a44a2j7vmr1cy42knw7jbss237yvakc07y"))
(patches (patches
(list (list
;; This is required for compatibility with Poppler >= 0.58. ;; This is required for compatibility with Poppler 0.64.0 and to fix a
;; See <http://tutex.tug.org/pipermail/tex-k/2017-September/002809.html> ;; segmentation fault in dvipdfm-x from XeTeX.
;; and <https://bugs.archlinux.org/task/55720> for some discussion.
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://git.archlinux.org/svntogit/packages.git/plain" (uri (string-append "http://www.linuxfromscratch.org/patches/blfs/"
"/trunk/texlive-poppler-0.59.patch?h=packages/texlive-bin" "svn/texlive-" version "-source-upstream_fixes-1.patch"))
"&id=ba2de374e2b21ecc4b85cc9777f2f15c4d356c61"))
(file-name "texlive-poppler-compat.patch") (file-name "texlive-poppler-compat.patch")
(sha256 (sha256
(base32 (base32
"1c4ikq4kxw48bi3i33bzpabrjvbk01fwjr2lz20gkc9kv8l0bg3n"))))) "0f8vhyj167y4xj0jx47vkybrcacfpxw0wdn1b777yq3xmhlahhlg")))))))
(sha256 (base32
"1amjrxyasplv4alfwcxwnw4nrx7dz2ydmddkq16k6hg90i9njq81"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("texlive-extra-src" ,texlive-extra-src) `(("texlive-extra-src" ,texlive-extra-src)
@ -175,44 +174,51 @@
(not (or (string-prefix? "aarch64" s) (not (or (string-prefix? "aarch64" s)
(string-prefix? "mips64" s)))) (string-prefix? "mips64" s))))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'fix-unix-detection (add-after 'unpack 'use-code-for-new-poppler
;; ps2eps.pl uses the "gswin32c" ghostscript executable on Windows, (lambda _
;; and the "gs" ghostscript executable on Unix. It detects Unix by (copy-file "texk/web2c/pdftexdir/pdftoepdf-newpoppler.cc"
;; checking for the existence of the /usr/bin directory. Since "texk/web2c/pdftexdir/pdftoepdf.cc")
;; GuixSD does not have /usr/bin, it is also detected as Windows. (copy-file "texk/web2c/pdftexdir/pdftosrc-newpoppler.cc"
(lambda _ "texk/web2c/pdftexdir/pdftosrc.cc")
(substitute* "utils/ps2eps/ps2eps-src/bin/ps2eps.pl" #t))
(("gswin32c") "gs")) (add-after 'unpack 'fix-unix-detection
#t)) ;; ps2eps.pl uses the "gswin32c" ghostscript executable on Windows,
(add-after 'install 'postint ;; and the "gs" ghostscript executable on Unix. It detects Unix by
(lambda* (#:key inputs outputs #:allow-other-keys #:rest args) ;; checking for the existence of the /usr/bin directory. Since
(let* ((out (assoc-ref outputs "out")) ;; GuixSD does not have /usr/bin, it is also detected as Windows.
(share (string-append out "/share")) (lambda _
(texlive-extra (assoc-ref inputs "texlive-extra-src")) (substitute* "utils/ps2eps/ps2eps-src/bin/ps2eps.pl"
(unpack (assoc-ref %standard-phases 'unpack)) (("gswin32c") "gs"))
(patch-source-shebangs #t))
(assoc-ref %standard-phases 'patch-source-shebangs))) (add-after 'install 'postint
;; Create symbolic links for the latex variants and their (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
;; man pages. (let* ((out (assoc-ref outputs "out"))
(with-directory-excursion (string-append out "/bin/") (share (string-append out "/share"))
(for-each symlink (texlive-extra (assoc-ref inputs "texlive-extra-src"))
'("pdftex" "pdftex" "xetex" "luatex") (unpack (assoc-ref %standard-phases 'unpack))
'("latex" "pdflatex" "xelatex" "lualatex"))) (patch-source-shebangs
(with-directory-excursion (string-append share "/man/man1/") (assoc-ref %standard-phases 'patch-source-shebangs)))
(symlink "luatex.1" "lualatex.1")) ;; Create symbolic links for the latex variants and their
;; Unpack texlive-extra and install tlpkg. ;; man pages.
(mkdir "texlive-extra") (with-directory-excursion (string-append out "/bin/")
(with-directory-excursion "texlive-extra" (for-each symlink
(apply unpack (list #:source texlive-extra)) '("pdftex" "pdftex" "xetex" "luatex")
(apply patch-source-shebangs (list #:source texlive-extra)) '("latex" "pdflatex" "xelatex" "lualatex")))
(invoke "mv" "tlpkg" share)) (with-directory-excursion (string-append share "/man/man1/")
;; texlua shebangs are not patched by the patch-source-shebangs (symlink "luatex.1" "lualatex.1"))
;; phase because the texlua executable does not exist at that ;; Unpack texlive-extra and install tlpkg.
;; time. (mkdir "texlive-extra")
(setenv "PATH" (string-append (getenv "PATH") ":" out "/bin")) (with-directory-excursion "texlive-extra"
(with-directory-excursion out (apply unpack (list #:source texlive-extra))
(patch-source-shebangs)))))))) (apply patch-source-shebangs (list #:source texlive-extra))
(invoke "mv" "tlpkg" share))
;; texlua shebangs are not patched by the patch-source-shebangs
;; phase because the texlua executable does not exist at that
;; time.
(setenv "PATH" (string-append (getenv "PATH") ":" out "/bin"))
(with-directory-excursion out
(patch-source-shebangs))))))))
(synopsis "TeX Live, a package of the TeX typesetting system") (synopsis "TeX Live, a package of the TeX typesetting system")
(description (description
"TeX Live provides a comprehensive TeX document production system. "TeX Live provides a comprehensive TeX document production system.
@ -3926,7 +3932,7 @@ directly generate PDF documents instead of DVI.")
(define texlive-texmf (define texlive-texmf
(package (package
(name "texlive-texmf") (name "texlive-texmf")
(version "2017") (version "20180414")
(source texlive-texmf-src) (source texlive-texmf-src)
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
@ -3998,7 +4004,7 @@ This package contains the complete tree of texmf-dist data.")
(define-public texlive (define-public texlive
(package (package
(name "texlive") (name "texlive")
(version "2017") (version "20180414")
(source #f) (source #f)
(build-system trivial-build-system) (build-system trivial-build-system)
(inputs `(("bash" ,bash) ; for wrap-program (inputs `(("bash" ,bash) ; for wrap-program