guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/14: self: Compile guix-packages-base in chunks of 10 files.


From: guix-commits
Subject: 01/14: self: Compile guix-packages-base in chunks of 10 files.
Date: Mon, 18 Sep 2023 02:19:46 -0400 (EDT)

janneke pushed a commit to branch hurd-team
in repository guix.

commit 66ea1a1cc18743defc29460a9a1500ea7f46d5dc
Author: Janneke Nieuwenhuizen <janneke@gnu.org>
AuthorDate: Mon Sep 18 08:09:50 2023 +0200

    self: Compile guix-packages-base in chunks of 10 files.
    
    This greatly increases the chances for `guix pull' to succeed on the Hurd, 
see
    <https://issues.guix.gnu.org/65456>.
    
    * guix/self.scm (compiled-modules)[process-directory]: Move hardcoded size 
to
    keyword parameter #:size.  Set it to 10 when compiling "guix-packages-base".
---
 guix/self.scm | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/guix/self.scm b/guix/self.scm
index d2300052d8..b8b9b9fe37 100644
--- a/guix/self.scm
+++ b/guix/self.scm
@@ -1245,14 +1245,13 @@ containing MODULE-FILES and possibly other files as 
well."
                     (* 100. (/ completed total)) total)
             (force-output))
 
-          (define (process-directory directory files output)
-            (let* ((size 25)                      ;compile max 25 files a time
-                   (chunks (unfold
-                            (lambda (seed) (< (length seed) size)) ;p
-                            (cute take <> size)                    ;f
-                            (cute drop <> size)                    ;g
-                            files                                  ;seed
-                            list)))                                ;tail
+          (define* (process-directory directory files output #:key (size 25))
+            (let ((chunks (unfold
+                           (lambda (seed) (< (length seed) size)) ;p
+                           (cute take <> size)                    ;f
+                           (cute drop <> size)                    ;g
+                           files                                  ;seed
+                           list)))                                ;tail
               (for-each
                (lambda (chunk)
                  ;; Hide compilation warnings.
@@ -1290,7 +1289,8 @@ containing MODULE-FILES and possibly other files as well."
 
           (mkdir #$output)
           (chdir #+module-tree)
-          (process-directory "." '#+module-files #$output)
+          (let ((size (if (equal? #$name "guix-packages-base") 10 25)))
+            (process-directory "." '#+module-files #$output #:size size))
           (newline))))
 
   (computed-file name build



reply via email to

[Prev in Thread] Current Thread [Next in Thread]