guix-devel/gnu/packages/patches/dmd-getpw.patch

20 lines
591 B
Diff
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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