Subject: bug#34118: closed (Re: [bug#34118] [PATCH] guix: Add guard to texlive-configuration profile hook.)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 18 Jan 2019 16:20:03 +0000

Your bug report

#34118: [PATCH] guix: Add guard to texlive-configuration profile hook.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
34118: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=34118
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#34118] [PATCH] guix: Add guard to texlive-configuration profile hook.
From: Christopher Baines <[email-masked]>
To: Ludovic Courtès <[email-masked]>
Cc: [email-masked]
Date: Fri, 18 Jan 2019 16:19:11 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

Ludovic Courtès <[email-masked]> writes:

> Hello,
>
> Christopher Baines <[email-masked]> skribis:
>
>> It is possible to generate a profile where this hook will crash, as the
>> texmf.cnf file does not exist to be patched by substitute*. A simple example
>> is the profile just containing texlive-fonts-txfonts.
>>
>> * guix/profiles.scm (texlive-configuration): Check that the texmf.cnf file
>> exists before trying to change it.
>
> LGTM, thanks!

Great, I've pushed this to master now.

Subject: [PATCH] guix: Add guard to texlive-configuration profile hook.
From: Christopher Baines <[email-masked]>
To: [email-masked]
Date: Thu, 17 Jan 2019 21:02:17 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

It is possible to generate a profile where this hook will crash, as the
texmf.cnf file does not exist to be patched by substitute*. A simple example
is the profile just containing texlive-fonts-txfonts.

* guix/profiles.scm (texlive-configuration): Check that the texmf.cnf file
exists before trying to change it.
---
 guix/profiles.scm | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/guix/profiles.scm b/guix/profiles.scm
index d22539bdb2..598e0acf62 100644
--- a/guix/profiles.scm
+++ b/guix/profiles.scm
@@ -1363,12 +1363,15 @@ MANIFEST."
                                       (manifest-entries manifest))
                        #:create-all-directories? #t
                        #:log-port (%make-void-port "w"))
-          (substitute* (string-append #$output
-                                      "/share/texmf-dist/web2c/texmf.cnf")
-            (("^TEXMFROOT = .*")
-             (string-append "TEXMFROOT = " #$output "/share\n"))
-            (("^TEXMF = .*")
-             "TEXMF = $TEXMFROOT/share/texmf-dist\n"))
+          (let ((texmf.cnf (string-append
+                            #$output
+                            "/share/texmf-dist/web2c/texmf.cnf")))
+            (when (file-exists? texmf.cnf)
+              (substitute* texmf.cnf
+                (("^TEXMFROOT = .*")
+                 (string-append "TEXMFROOT = " #$output "/share\n"))
+                (("^TEXMF = .*")
+                 "TEXMF = $TEXMFROOT/share/texmf-dist\n"))))
           #t)))
 
     (with-monad %store-monad
-- 
2.20.1