diff options
author | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2023-08-09 10:45:42 +0200 |
---|---|---|
committer | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2023-08-09 18:27:10 +0200 |
commit | 3481a5cb37cacbb54f74a2b1fa52ffc5c972b09f (patch) | |
tree | d188c8e5e51eff6df956feb103ec4330d3d5881e /guix | |
parent | 210bbf9c59355218fec1484a686cc2ecdc218506 (diff) | |
download | guix-patches-3481a5cb37cacbb54f74a2b1fa52ffc5c972b09f.tar guix-patches-3481a5cb37cacbb54f74a2b1fa52ffc5c972b09f.tar.gz |
guix: profiles: Do not raise error on incomplete TeX Live setups.
* guix/profiles.scm (texlive-font-maps): Check if TEXLIVE-SCRIPTS is present
in the manifest before trying to generate font maps.
Diffstat (limited to 'guix')
-rw-r--r-- | guix/profiles.scm | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/guix/profiles.scm b/guix/profiles.scm index c62d7f4d22..2bd6477cf8 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -1787,6 +1787,11 @@ MANIFEST." (cons (gexp-input thing output) (append-map entry->texlive-input deps)) '())))) + (define texlive-scripts-entry? + (match-lambda + (($ <manifest-entry> name version output thing deps) + (or (string=? "texlive-scripts" name) + (any texlive-scripts-entry? deps))))) (define texlive-inputs (append-map entry->texlive-input (manifest-entries manifest))) (define texlive-scripts @@ -1887,9 +1892,11 @@ MANIFEST." (copy-recursively a b) (invoke mktexlsr b) (install-file (string-append b "/ls-R") a)))))) - (with-monad %store-monad - (if (pair? texlive-inputs) + ;; `texlive-scripts' brings essential files to generate font maps. + ;; Therefore, it must be present in the profile. This check prevents + ;; incomplete modular TeX Live installations to generate errors. + (if (any texlive-scripts-entry? (manifest-entries manifest)) (gexp->derivation "texlive-font-maps" build #:substitutable? #f #:local-build? #t |