guix-commits
[Top][All Lists]
Advanced

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

branch master updated: self: Compile guix-packages-base in chunks of 10


From: guix-commits
Subject: branch master updated: self: Compile guix-packages-base in chunks of 10 files.
Date: Tue, 19 Sep 2023 05:03:30 -0400

This is an automated email from the git hooks/post-receive script.

janneke pushed a commit to branch master
in repository guix.

The following commit(s) were added to refs/heads/master by this push:
     new 15c5f1a2c2 self: Compile guix-packages-base in chunks of 10 files.
15c5f1a2c2 is described below

commit 15c5f1a2c20b21de0f19f42db1ccab4c42117ebb
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 fixes or 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]