diff --git a/guix/profiles.scm b/guix/profiles.scm index 03333785f9..41f3e25bb3 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -1786,6 +1786,8 @@ (define entry->texlive-input (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 @@ -1809,8 +1811,7 @@ (define build ;; 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")) @@ -1867,7 +1868,7 @@ (define build (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