From 916c6e5716bd14cb328f7dcce5405ba9100bb908 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 4 May 2023 12:43:53 +0200 Subject: profiles: 'texlive-font-maps' gracefully handles lack of texlive inputs. Fixes . * 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 +;;; Copyright © 2013-2023 Ludovic Courtès ;;; Copyright © 2013 Nikita Karetnikov ;;; Copyright © 2014, 2016 Alex Kost ;;; Copyright © 2015 Mark H Weaver @@ -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 -- cgit v1.2.3