summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--guix/build/gnu-build-system.scm9
1 files changed, 6 insertions, 3 deletions
diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm
index fca77f474c..af64b3b61f 100644
--- a/guix/build/gnu-build-system.scm
+++ b/guix/build/gnu-build-system.scm
@@ -156,7 +156,11 @@ working directory."
         ;; Preserve timestamps (set to the Epoch) on the copied tree so that
         ;; things work deterministically.
         (copy-recursively source "."
-                          #:keep-mtime? #t))
+                          #:keep-mtime? #t)
+        ;; Make the source checkout files writable, for convenience.
+        (for-each (lambda (f)
+                    (false-if-exception (make-file-writable f)))
+                  (find-files ".")))
       (begin
         (cond
          ((string-suffix? ".zip" source)
@@ -170,8 +174,7 @@ working directory."
             (when command
               (invoke command "--decompress" name)))))
         ;; Attempt to change into child directory.
-        (and=> (first-subdirectory ".") chdir)))
-  (for-each make-file-writable (find-files ".")))
+        (and=> (first-subdirectory ".") chdir))))
 
 (define* (bootstrap #:key bootstrap-scripts
                     #:allow-other-keys)