gnu: texlive-texmf: Improve package style.

* gnu/packages/tex.scm (texlive-texmf)[version]: Inherit from TEXLIVE-BIN.
[source]: Use autonomous origin instead of relying on another layer.
[inputs]: Remove labels.  Sort alphabetically.
[arguments]: Use G-expressions.  Remove trailing #T from phases.
(texlive-texmf-src): Remove variable.
This commit is contained in:
Nicolas Goaziou 2023-05-28 16:48:30 +02:00
parent f4dadc5b49
commit dddb774ec4
No known key found for this signature in database
GPG key ID: DA00B4F048E92F2D

View file

@ -194,13 +194,6 @@ (define texlive-extra-src
(sha256 (base32 (sha256 (base32
"171kg1n9zapw3d2g47d8l0cywa99bl9m54xkqvp9625ks22z78s6")))) "171kg1n9zapw3d2g47d8l0cywa99bl9m54xkqvp9625ks22z78s6"))))
(define texlive-texmf-src
(origin
(method url-fetch)
(uri "ftp://tug.org/historic/systems/texlive/2021/texlive-20210325-texmf.tar.xz")
(sha256 (base32
"070gczcm1h9rx29w2f02xd3nhd84c4k28nfmm8qgp69yq8vd84pz"))))
(define-public texlive-bin (define-public texlive-bin
(package (package
(name "texlive-bin") (name "texlive-bin")
@ -8657,51 +8650,57 @@ (define-deprecated-package texlive-generic-pdftex texlive-pdftex)
(define texlive-texmf (define texlive-texmf
(package (package
(name "texlive-texmf") (name "texlive-texmf")
(version "20210325") (version (package-version texlive-bin))
(source texlive-texmf-src) (source (origin
(build-system gnu-build-system) (method url-fetch)
(inputs (uri (string-append "ftp://tug.org/historic/systems/texlive/"
`(("texlive-bin" ,texlive-bin) (string-take version 4)
("lua" ,lua) "/texlive-" version "-texmf.tar.xz"))
("perl" ,perl) (sha256
("python" ,python) (base32
("ruby" ,ruby) "070gczcm1h9rx29w2f02xd3nhd84c4k28nfmm8qgp69yq8vd84pz"))))
("tcsh" ,tcsh))) (build-system gnu-build-system)
(arguments (inputs
`(#:modules ((guix build gnu-build-system) (list lua
(guix build utils) perl
(srfi srfi-26)) python
ruby
tcsh
texlive-bin))
(arguments
(list
#:modules '((guix build gnu-build-system)
(guix build utils)
(srfi srfi-26))
;; This package takes 4 GiB, which we can't afford to distribute from ;; This package takes 4 GiB, which we can't afford to distribute from
;; our servers. ;; our servers.
#:substitutable? #f #:substitutable? #f
#:phases #:phases
(modify-phases (map (cut assq <> %standard-phases) #~(modify-phases (map (cut assq <> %standard-phases)
'(set-paths unpack patch-source-shebangs)) '(set-paths unpack patch-source-shebangs))
(add-after 'unpack 'unset-environment-variables (add-after 'unpack 'unset-environment-variables
(lambda _ (lambda _
(unsetenv "TEXMF") (unsetenv "TEXMF")
(unsetenv "TEXMFCNF") (unsetenv "TEXMFCNF")))
#t))
(add-after 'patch-source-shebangs 'install (add-after 'patch-source-shebangs 'install
(lambda* (#:key outputs #:allow-other-keys) (lambda _
(let ((share (string-append (assoc-ref outputs "out") "/share"))) (let ((share (string-append #$output "/share")))
(mkdir-p share) (mkdir-p share)
(invoke "mv" "texmf-dist" share)))) (invoke "mv" "texmf-dist" share))))
(add-after 'install 'texmf-config (add-after 'install 'texmf-config
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda _
(let* ((out (assoc-ref outputs "out")) (let* ((share (string-append #$output "/share"))
(share (string-append out "/share"))
(texmfroot (string-append share "/texmf-dist/web2c")) (texmfroot (string-append share "/texmf-dist/web2c"))
(texmfcnf (string-append texmfroot "/texmf.cnf")) (texmfcnf (string-append texmfroot "/texmf.cnf"))
(fmtutilcnf (string-append texmfroot "/fmtutil.cnf")) (fmtutilcnf (string-append texmfroot "/fmtutil.cnf"))
(texlive-bin (assoc-ref inputs "texlive-bin")) (texlive-bin #$(this-package-input "texlive-bin"))
(texbin (string-append texlive-bin "/bin")) (texbin (string-append texlive-bin "/bin"))
(tlpkg (string-append texlive-bin "/share/tlpkg"))) (tlpkg (string-append texlive-bin "/share/tlpkg")))
;; LuaJIT is not ported to powerpc64* yet. ;; LuaJIT is not ported to powerpc64* yet.
(if ,(target-ppc64le?) (if #$(target-ppc64le?)
(substitute* fmtutilcnf (substitute* fmtutilcnf
(("^(luajittex|luajithbtex|mfluajit)" m) (("^(luajittex|luajithbtex|mfluajit)" m)
(string-append "#! " m)))) (string-append "#! " m))))
@ -8714,7 +8713,7 @@ (define texlive-texmf
(("!!\\$TEXMFLOCAL") "$TEXMFLOCAL")) (("!!\\$TEXMFLOCAL") "$TEXMFLOCAL"))
;; Register paths in texmfcnf.lua, needed for context. ;; Register paths in texmfcnf.lua, needed for context.
(substitute* (string-append texmfroot "/texmfcnf.lua") (substitute* (string-append texmfroot "/texmfcnf.lua")
(("selfautodir:") out) (("selfautodir:") #$output)
(("selfautoparent:") (string-append share "/"))) (("selfautoparent:") (string-append share "/")))
;; Set path to TeXLive Perl modules ;; Set path to TeXLive Perl modules
(setenv "PERL5LIB" (setenv "PERL5LIB"
@ -8726,17 +8725,17 @@ (define texlive-texmf
(invoke "updmap-sys" "--nohash" "--syncwithtrees") (invoke "updmap-sys" "--nohash" "--syncwithtrees")
(invoke "mktexlsr") (invoke "mktexlsr")
(invoke "fmtutil-sys" "--all"))))))) (invoke "fmtutil-sys" "--all")))))))
(properties `((max-silent-time . 9600))) ; don't time out while grafting (properties `((max-silent-time . 9600))) ; don't time out while grafting
(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.
It includes all the major TeX-related programs, macro packages, and fonts It includes all the major TeX-related programs, macro packages, and fonts
that are free software, including support for many languages around the that are free software, including support for many languages around the
world. world.
This package contains the complete tree of texmf-dist data.") This package contains the complete tree of texmf-dist data.")
(license (license:fsf-free "https://www.tug.org/texlive/copying.html")) (license (license:fsf-free "https://www.tug.org/texlive/copying.html"))
(home-page "https://www.tug.org/texlive/"))) (home-page "https://www.tug.org/texlive/")))
(define-public texlive (define-public texlive
(package (package