* [bug#74909] [PATCH 1/3] build/guile-build-system: Remove trailing #t in phases.
2024-12-16 6:07 [bug#74909] [PATCH 0/3] Make guile-build-system packages reproducible Maxim Cournoyer
@ 2024-12-16 6:28 ` Maxim Cournoyer
2024-12-16 6:28 ` [bug#74909] [PATCH 2/3] build/guile: Disable parallel build for now Maxim Cournoyer
2024-12-16 6:28 ` [bug#74909] [PATCH 3/3] build/guile-build-system: Fix byte-compilation warnings Maxim Cournoyer
2 siblings, 0 replies; 4+ messages in thread
From: Maxim Cournoyer @ 2024-12-16 6:28 UTC (permalink / raw)
To: 74909; +Cc: Maxim Cournoyer, Maxim Cournoyer
* guix/build/guile-build-system.scm (set-locale-path): Delete trailing #t.
(invoke-each, build, install-documentation): Likewise.
Change-Id: I7a0d035b9bef2160856e141642dee70974c571db
---
guix/build/guile-build-system.scm | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/guix/build/guile-build-system.scm b/guix/build/guile-build-system.scm
index 8927da224a..37a1654ce4 100644
--- a/guix/build/guile-build-system.scm
+++ b/guix/build/guile-build-system.scm
@@ -76,8 +76,7 @@ (define* (set-locale-path #:key inputs native-inputs
(match (assoc-ref (or native-inputs inputs) "locales")
(#f #t)
(locales
- (setenv "GUIX_LOCPATH" (string-append locales "/lib/locale"))
- #t)))
+ (setenv "GUIX_LOCPATH" (string-append locales "/lib/locale")))))
(define* (invoke-each commands
#:key (max-processes (current-processor-count))
@@ -112,8 +111,7 @@ (define* (invoke-each commands
(lambda ()
(primitive-exit 127))))
(pid
- (hashv-set! processes pid command)
- #t)))
+ (hashv-set! processes pid command))))
(let loop ((commands commands)
(running 0)
@@ -208,8 +206,7 @@ (define* (build #:key outputs inputs native-inputs
flags)))
source-files)
#:max-processes (parallel-job-count)
- #:report-progress report-build-progress))
- #t))
+ #:report-progress report-build-progress))))
(define* (install-documentation #:key outputs
(documentation-file-regexp
@@ -220,8 +217,7 @@ (define* (install-documentation #:key outputs
(doc (string-append out "/share/doc/"
(strip-store-file-name out))))
(for-each (cut install-file <> doc)
- (find-files "." documentation-file-regexp))
- #t))
+ (find-files "." documentation-file-regexp))))
(define %standard-phases
(modify-phases gnu:%standard-phases
--
2.46.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [bug#74909] [PATCH 2/3] build/guile: Disable parallel build for now.
2024-12-16 6:07 [bug#74909] [PATCH 0/3] Make guile-build-system packages reproducible Maxim Cournoyer
2024-12-16 6:28 ` [bug#74909] [PATCH 1/3] build/guile-build-system: Remove trailing #t in phases Maxim Cournoyer
@ 2024-12-16 6:28 ` Maxim Cournoyer
2024-12-16 6:28 ` [bug#74909] [PATCH 3/3] build/guile-build-system: Fix byte-compilation warnings Maxim Cournoyer
2 siblings, 0 replies; 4+ messages in thread
From: Maxim Cournoyer @ 2024-12-16 6:28 UTC (permalink / raw)
To: 74909; +Cc: Maxim Cournoyer, Maxim Cournoyer
Following discussions in bug #74204.
* guix/build-system/guile.scm (guile-build): Add a #:parallel-build? flag,
defaulting to #f for now.
(guile-cross-build): Likewise.
* guix/build/guile-build-system.scm (build): Honor it.
Change-Id: Ibf12ac098e9dcea83da7b9685796e501df606c6c
---
guix/build-system/guile.scm | 11 +++++++++++
guix/build/guile-build-system.scm | 6 +++++-
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/guix/build-system/guile.scm b/guix/build-system/guile.scm
index ee59bb15f2..df6988a1b7 100644
--- a/guix/build-system/guile.scm
+++ b/guix/build-system/guile.scm
@@ -85,6 +85,10 @@ (define* (guile-build name inputs
(source-directory ".")
not-compiled-file-regexp
(scheme-file-regexp %scheme-file-regexp)
+ ;; FIXME: Turn on parallel building of Guile modules by
+ ;; default after the non-determinism issues in the Guile byte
+ ;; compiler are resolved (see bug #20272).
+ (parallel-build? #f)
(compile-flags %compile-flags)
(imported-modules %guile-build-system-modules)
(modules '((guix build guile-build-system)
@@ -101,6 +105,7 @@ (define* (guile-build name inputs
#:source-directory #$source-directory
#:scheme-file-regexp #$scheme-file-regexp
#:not-compiled-file-regexp #$not-compiled-file-regexp
+ #:parallel-build? #$parallel-build?
#:compile-flags #$compile-flags
#:phases #$phases
#:system #$system
@@ -132,6 +137,11 @@ (define* (guile-cross-build name
(source-directory ".")
(scheme-file-regexp %scheme-file-regexp)
not-compiled-file-regexp
+ ;; FIXME: Turn on parallel building of Guile
+ ;; modules by default after the non-determinism
+ ;; issues in the Guile byte compiler are resolved
+ ;; (see bug #20272).
+ (parallel-build? #f)
(compile-flags %compile-flags)
(imported-modules %guile-build-system-modules)
(modules '((guix build guile-build-system)
@@ -159,6 +169,7 @@ (define* (guile-cross-build name
#:source-directory #$source-directory
#:scheme-file-regexp #$scheme-file-regexp
#:not-compiled-file-regexp #$not-compiled-file-regexp
+ #:parallel-build? #$parallel-build?
#:compile-flags #$compile-flags
#:inputs %build-target-inputs
#:native-inputs %build-host-inputs
diff --git a/guix/build/guile-build-system.scm b/guix/build/guile-build-system.scm
index 37a1654ce4..b497573c0a 100644
--- a/guix/build/guile-build-system.scm
+++ b/guix/build/guile-build-system.scm
@@ -145,6 +145,10 @@ (define* (report-build-progress total completed
(define* (build #:key outputs inputs native-inputs
(source-directory ".")
(compile-flags '())
+ ;; FIXME: Turn on parallel building of Guile modules by
+ ;; default after the non-determinism issues in the Guile byte
+ ;; compiler are resolved (see bug #20272).
+ (parallel-build? #f)
(scheme-file-regexp %scheme-file-regexp)
(not-compiled-file-regexp #f)
target
@@ -205,7 +209,7 @@ (define* (build #:key outputs inputs native-inputs
(string-append source-directory "/" file)
flags)))
source-files)
- #:max-processes (parallel-job-count)
+ #:max-processes (if parallel-build? (parallel-job-count) 1)
#:report-progress report-build-progress))))
(define* (install-documentation #:key outputs
--
2.46.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [bug#74909] [PATCH 3/3] build/guile-build-system: Fix byte-compilation warnings.
2024-12-16 6:07 [bug#74909] [PATCH 0/3] Make guile-build-system packages reproducible Maxim Cournoyer
2024-12-16 6:28 ` [bug#74909] [PATCH 1/3] build/guile-build-system: Remove trailing #t in phases Maxim Cournoyer
2024-12-16 6:28 ` [bug#74909] [PATCH 2/3] build/guile: Disable parallel build for now Maxim Cournoyer
@ 2024-12-16 6:28 ` Maxim Cournoyer
2 siblings, 0 replies; 4+ messages in thread
From: Maxim Cournoyer @ 2024-12-16 6:28 UTC (permalink / raw)
To: 74909; +Cc: Maxim Cournoyer, Maxim Cournoyer
* guix/build/guile-build-system.scm: Hide 'delete' from (guix build utils), to
avoid shadowing the builtin.
(invoke-each): Replace current-processor-count with parallel-job-count. The
former would require importing (ice-9 threads).
Change-Id: I7cde3305b9017bfec52ffe50ed124e21cbdceb25
---
guix/build/guile-build-system.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/guix/build/guile-build-system.scm b/guix/build/guile-build-system.scm
index b497573c0a..d2198b6715 100644
--- a/guix/build/guile-build-system.scm
+++ b/guix/build/guile-build-system.scm
@@ -18,7 +18,7 @@
(define-module (guix build guile-build-system)
#:use-module ((guix build gnu-build-system) #:prefix gnu:)
- #:use-module (guix build utils)
+ #:use-module ((guix build utils) #:hide (delete))
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (ice-9 match)
@@ -79,7 +79,7 @@ (define* (set-locale-path #:key inputs native-inputs
(setenv "GUIX_LOCPATH" (string-append locales "/lib/locale")))))
(define* (invoke-each commands
- #:key (max-processes (current-processor-count))
+ #:key (max-processes (parallel-job-count))
report-progress)
"Run each command in COMMANDS in a separate process, using up to
MAX-PROCESSES processes in parallel. Call REPORT-PROGRESS at each step.
--
2.46.0
^ permalink raw reply related [flat|nested] 4+ messages in thread