From 15c5f1a2c20b21de0f19f42db1ccab4c42117ebb Mon Sep 17 00:00:00 2001 From: Janneke Nieuwenhuizen Date: Mon, 18 Sep 2023 08:09:50 +0200 Subject: 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 . * 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(-) (limited to 'guix') 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 -- cgit v1.2.3