~ruther/guix-local

ref: 59c51be2900b896d87b2393faecfef732d015e34 guix-local/gnu/packages/patches/dmd-getpw.patch -rw-r--r-- 591 bytes
59c51be2 — Ludovic Courtès build: Get the canonical $HOME name when testing 'guix package'. 11 years ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
When bootstrapping and running as PID 1, /etc/{passwd,shadow} may be unavailable.
Gracefully handle that.

diff --git a/modules/dmd/support.scm b/modules/dmd/support.scm
index 9b592c5..602e409 100644
--- a/modules/dmd/support.scm
+++ b/modules/dmd/support.scm
@@ -151,7 +151,10 @@ There is NO WARRANTY, to the extent permitted by law.")))
 
 
 ;; Home directory of the user.
-(define user-homedir (passwd:dir (getpwuid (getuid))))
+(define user-homedir
+  (or (false-if-exception (passwd:dir (getpwuid (getuid))))
+      (getenv "HOME")
+      "/"))
 
 ;; Logfile.
 (define default-logfile