[PATCH 0/3] Make guile-build-system packages reproducible.

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(-)

Toggle diff (69 lines)

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

Read more here: Source link