civodul pushed a commit to branch master
in repository guix.
commit 916c6e5716bd14cb328f7dcce5405ba9100bb908
Author: Ludovic Courtès <[email protected]>
AuthorDate: Thu May 4 12:43:53 2023 +0200
profiles: 'texlive-font-maps' gracefully handles lack of texlive inputs.
Fixes <https://issues.guix.gnu.org/63043>.
* guix/profiles.scm (texlive-font-maps): Define 'texlive-inputs'.
[build]: Use it.
Return #f when TEXLIVE-INPUTS is empty.
---
guix/profiles.scm | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/guix/profiles.scm b/guix/profiles.scm
index a7445c2ed8..6467e464c8 100644
--- a/guix/profiles.scm
+++ b/guix/profiles.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013-2022 Ludovic Courtès <[email protected]>
+;;; Copyright © 2013-2023 Ludovic Courtès <[email protected]>
;;; Copyright © 2013 Nikita Karetnikov <[email protected]>
;;; Copyright © 2014, 2016 Alex Kost <[email protected]>
;;; Copyright © 2015 Mark H Weaver <[email protected]>
@@ -1787,6 +1787,8 @@ MANIFEST."
(cons (gexp-input thing output)
(append-map entry->texlive-input deps))
'()))))
+ (define texlive-inputs
+ (append-map entry->texlive-input (manifest-entries manifest)))
(define texlive-bin
(module-ref (resolve-interface '(gnu packages tex)) 'texlive-bin))
(define coreutils
@@ -1810,8 +1812,7 @@ MANIFEST."
;; that TeX live can resolve the parent and grandparent directories
;; correctly. There might be a more elegant way to accomplish this.
(union-build "/tmp/texlive"
- '#$(append-map entry->texlive-input
- (manifest-entries manifest))
+ '#$texlive-inputs
#:create-all-directories? #t
#:log-port (%make-void-port "w"))
@@ -1868,7 +1869,7 @@ MANIFEST."
(install-file (string-append b "/ls-R") a))))))
(mlet %store-monad ((texlive-base (manifest-lookup-package manifest
"texlive-base")))
- (if texlive-base
+ (if (and texlive-base (pair? texlive-inputs))
(gexp->derivation "texlive-font-maps" build
#:substitutable? #f
#:local-build? #t