Package: guix-patches;
Reported by: Nicolas Graves <ngraves <at> ngraves.fr>
Date: Thu, 24 Apr 2025 22:46:02 UTC
Severity: normal
Tags: patch
Done: Christopher Baines <mail <at> cbaines.net>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 78050 in the body.
You can then email your comments to 78050 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
guix-patches <at> gnu.org
:bug#78050
; Package guix-patches
.
(Thu, 24 Apr 2025 22:46:02 GMT) Full text and rfc822 format available.Nicolas Graves <ngraves <at> ngraves.fr>
:guix-patches <at> gnu.org
.
(Thu, 24 Apr 2025 22:46:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: guix-patches <at> gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH 0/5] build-system improvements Date: Fri, 25 Apr 2025 00:42:10 +0200
This is an excerpt of 68315's independent build-system improvements. It should not cause any rebuilds, it is for the most part convenience/readibility improvements. Nicolas Graves (5): build-system: gnu: Improve gnu-cross-build style. build-system: glib-or-gtk: Improve glib-or-gtk-cross-build style. build-system: waf: Improve waf-build style. build-system: ruby: Improve ruby-cross-build style. build-system: android-ndk: Improve style. guix/build-system/android-ndk.scm | 14 ++++- guix/build-system/glib-or-gtk.scm | 89 ++++++++++++++-------------- guix/build-system/gnu.scm | 96 ++++++++++++++++--------------- guix/build-system/ruby.scm | 37 ++++++------ guix/build-system/waf.scm | 32 ++++++----- 5 files changed, 141 insertions(+), 127 deletions(-) -- 2.49.0
guix-patches <at> gnu.org
:bug#78050
; Package guix-patches
.
(Fri, 25 Apr 2025 00:06:01 GMT) Full text and rfc822 format available.Message #8 received at 78050 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 78050 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH 1/5] build-system: gnu: Improve gnu-cross-build style. Date: Fri, 25 Apr 2025 02:04:46 +0200
* guix/build-system/gnu.scm (gnu-cross-build): Use with-imported-modules around the gnu-cross-build builder gexp. Change-Id: I47246571b1d84a82a67a8c289fd5ad4b5a3b5aeb --- guix/build-system/gnu.scm | 96 ++++++++++++++++++++------------------- 1 file changed, 49 insertions(+), 47 deletions(-) diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm index 3a314d34b72..a71162c3005 100644 --- a/guix/build-system/gnu.scm +++ b/guix/build-system/gnu.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012-2024 Ludovic Courtès <ludo <at> gnu.org> +;;; Copyright © 2024 Nicolas Graves <ngraves <at> ngraves.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -520,59 +521,60 @@ (define* (gnu-cross-build name cross-built inputs, and NATIVE-INPUTS are inputs that run on the build platform." (define builder - #~(begin - (use-modules #$@(sexp->gexp modules)) + (with-imported-modules imported-modules + #~(begin + (use-modules #$@(sexp->gexp modules)) - (define %build-host-inputs - #+(input-tuples->gexp build-inputs)) + (define %build-host-inputs + #+(input-tuples->gexp build-inputs)) - (define %build-target-inputs - (append #$(input-tuples->gexp host-inputs) - #+(input-tuples->gexp target-inputs))) + (define %build-target-inputs + (append #$(input-tuples->gexp host-inputs) + #+(input-tuples->gexp target-inputs))) - (define %build-inputs - (append %build-host-inputs %build-target-inputs)) + (define %build-inputs + (append %build-host-inputs %build-target-inputs)) - (define %outputs - #$(outputs->gexp outputs)) + (define %outputs + #$(outputs->gexp outputs)) - (gnu-build #:source #+source - #:system #$system - #:build #$build - #:target #$target - #:outputs %outputs - #:inputs %build-target-inputs - #:native-inputs %build-host-inputs - #:search-paths '#$(sexp->gexp - (map search-path-specification->sexp - search-paths)) - #:native-search-paths '#$(sexp->gexp - (map - search-path-specification->sexp - native-search-paths)) - #:phases #$(if (pair? phases) - (sexp->gexp phases) - phases) - #:locale #$locale - #:separate-from-pid1? #$separate-from-pid1? - #:bootstrap-scripts #$bootstrap-scripts - #:configure-flags #$configure-flags - #:make-flags #$make-flags - #:out-of-source? #$out-of-source? - #:tests? #$tests? - #:test-target #$test-target - #:parallel-build? #$parallel-build? - #:parallel-tests? #$parallel-tests? - #:patch-shebangs? #$patch-shebangs? - #:license-file-regexp #$license-file-regexp - #:strip-binaries? #$strip-binaries? - #:validate-runpath? #$validate-runpath? - #:make-dynamic-linker-cache? #$make-dynamic-linker-cache? - #:license-file-regexp #$license-file-regexp - #:strip-flags #$strip-flags - #:strip-directories #$strip-directories))) + (gnu-build #:source #+source + #:system #$system + #:build #$build + #:target #$target + #:outputs %outputs + #:inputs %build-target-inputs + #:native-inputs %build-host-inputs + #:search-paths '#$(sexp->gexp + (map search-path-specification->sexp + search-paths)) + #:native-search-paths '#$(sexp->gexp + (map + search-path-specification->sexp + native-search-paths)) + #:phases #$(if (pair? phases) + (sexp->gexp phases) + phases) + #:locale #$locale + #:separate-from-pid1? #$separate-from-pid1? + #:bootstrap-scripts #$bootstrap-scripts + #:configure-flags #$configure-flags + #:make-flags #$make-flags + #:out-of-source? #$out-of-source? + #:tests? #$tests? + #:test-target #$test-target + #:parallel-build? #$parallel-build? + #:parallel-tests? #$parallel-tests? + #:patch-shebangs? #$patch-shebangs? + #:license-file-regexp #$license-file-regexp + #:strip-binaries? #$strip-binaries? + #:validate-runpath? #$validate-runpath? + #:make-dynamic-linker-cache? #$make-dynamic-linker-cache? + #:license-file-regexp #$license-file-regexp + #:strip-flags #$strip-flags + #:strip-directories #$strip-directories)))) - (mlet %store-monad ((guile (package->derivation (or guile (default-guile)) + (mlet %store-monad ((guile (package->derivation (or guile (default-guile)) system #:graft? #f))) (gexp->derivation name builder #:system system -- 2.49.0
guix-patches <at> gnu.org
:bug#78050
; Package guix-patches
.
(Fri, 25 Apr 2025 00:06:02 GMT) Full text and rfc822 format available.Message #11 received at 78050 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 78050 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH 3/5] build-system: waf: Improve waf-build style. Date: Fri, 25 Apr 2025 02:04:48 +0200
* guix/build-system/waf.scm (waf-build): Use with-imported-modules around the waf-build builder gexp. Change-Id: Id242046eb4bfef90dba60d7c3b1b68597ddf502e --- guix/build-system/waf.scm | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/guix/build-system/waf.scm b/guix/build-system/waf.scm index 5f246155141..4ca293ffd89 100644 --- a/guix/build-system/waf.scm +++ b/guix/build-system/waf.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Ricardo Wurmus <rekado <at> elephly.net> +;;; Copyright © 2024 Nicolas Graves <ngraves <at> ngraves.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -86,22 +87,23 @@ (define* (waf-build name inputs "Build SOURCE with INPUTS. This assumes that SOURCE provides a 'waf' file as its build system." (define build - #~(begin - (use-modules #$@(sexp->gexp modules)) + (with-imported-modules imported-modules + #~(begin + (use-modules #$@(sexp->gexp modules)) - #$(with-build-variables inputs outputs - #~(waf-build #:name #$name - #:source #+source - #:configure-flags #$configure-flags - #:system #$system - #:test-target #$test-target - #:tests? #$tests? - #:phases #$phases - #:outputs %outputs - #:search-paths '#$(sexp->gexp - (map search-path-specification->sexp - search-paths)) - #:inputs %build-inputs)))) + #$(with-build-variables inputs outputs + #~(waf-build #:name #$name + #:source #+source + #:configure-flags #$configure-flags + #:system #$system + #:test-target #$test-target + #:tests? #$tests? + #:phases #$phases + #:outputs %outputs + #:search-paths '#$(sexp->gexp + (map search-path-specification->sexp + search-paths)) + #:inputs %build-inputs))))) (mlet %store-monad ((guile (package->derivation (or guile (default-guile)) system #:graft? #f))) -- 2.49.0
guix-patches <at> gnu.org
:bug#78050
; Package guix-patches
.
(Fri, 25 Apr 2025 00:06:02 GMT) Full text and rfc822 format available.Message #14 received at 78050 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 78050 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH 2/5] build-system: glib-or-gtk: Improve glib-or-gtk-cross-build style. Date: Fri, 25 Apr 2025 02:04:47 +0200
* guix/build-system/glib-or-gtk.scm (glib-or-gtk-cross-build): Use with-imported-modules around the glib-or-gtk-cross-build builder gexp. Change-Id: I8eaa032ffc0a3f8dbf02c96a4ecee85475c32111 --- guix/build-system/glib-or-gtk.scm | 89 +++++++++++++++---------------- 1 file changed, 44 insertions(+), 45 deletions(-) diff --git a/guix/build-system/glib-or-gtk.scm b/guix/build-system/glib-or-gtk.scm index 6c69a950e81..c912adab4aa 100644 --- a/guix/build-system/glib-or-gtk.scm +++ b/guix/build-system/glib-or-gtk.scm @@ -225,55 +225,55 @@ (define* (glib-or-gtk-cross-build name disallowed-references) "Cross-build SOURCE with INPUTS. See GNU-BUILD for more details." (define builder - #~(begin - (use-modules #$@(sexp->gexp modules)) + (with-imported-modules imported-modules + #~(begin + (use-modules #$@(sexp->gexp modules)) - (define %build-host-inputs - #+(input-tuples->gexp build-inputs)) + (define %build-host-inputs + #+(input-tuples->gexp build-inputs)) - (define %build-target-inputs - (append #$(input-tuples->gexp host-inputs) - #+(input-tuples->gexp target-inputs))) + (define %build-target-inputs + (append #$(input-tuples->gexp host-inputs) + #+(input-tuples->gexp target-inputs))) - (define %build-inputs - (append %build-host-inputs %build-target-inputs)) + (define %build-inputs + (append %build-host-inputs %build-target-inputs)) - (define %outputs - #$(outputs->gexp outputs)) - - (glib-or-gtk-build #:source #+source - #:system #$system - #:build #$build - #:target #$target - #:outputs %outputs - #:inputs %build-target-inputs - #:native-inputs %build-host-inputs - #:search-paths '#$(sexp->gexp - (map search-path-specification->sexp - search-paths)) - #:native-search-paths '#$(sexp->gexp - (map search-path-specification->sexp - native-search-paths)) - #:phases #$(if (pair? phases) - (sexp->gexp phases) - phases) - #:glib-or-gtk-wrap-excluded-outputs - #$glib-or-gtk-wrap-excluded-outputs - #:configure-flags #$configure-flags - #:make-flags #$make-flags - #:out-of-source? #$out-of-source? - #:tests? #$tests? - #:test-target #$test-target - #:parallel-build? #$parallel-build? - #:parallel-tests? #$parallel-tests? - #:validate-runpath? #$validate-runpath? - #:make-dynamic-linker-cache? #$make-dynamic-linker-cache? - #:patch-shebangs? #$patch-shebangs? - #:strip-binaries? #$strip-binaries? - #:strip-flags #$strip-flags - #:strip-directories - #$strip-directories))) + (define %outputs + #$(outputs->gexp outputs)) + (glib-or-gtk-build #:source #+source + #:system #$system + #:build #$build + #:target #$target + #:outputs %outputs + #:inputs %build-target-inputs + #:native-inputs %build-host-inputs + #:search-paths '#$(sexp->gexp + (map search-path-specification->sexp + search-paths)) + #:native-search-paths '#$(sexp->gexp + (map search-path-specification->sexp + native-search-paths)) + #:phases #$(if (pair? phases) + (sexp->gexp phases) + phases) + #:glib-or-gtk-wrap-excluded-outputs + #$glib-or-gtk-wrap-excluded-outputs + #:configure-flags #$configure-flags + #:make-flags #$make-flags + #:out-of-source? #$out-of-source? + #:tests? #$tests? + #:test-target #$test-target + #:parallel-build? #$parallel-build? + #:parallel-tests? #$parallel-tests? + #:validate-runpath? #$validate-runpath? + #:make-dynamic-linker-cache? #$make-dynamic-linker-cache? + #:patch-shebangs? #$patch-shebangs? + #:strip-binaries? #$strip-binaries? + #:strip-flags #$strip-flags + #:strip-directories + #$strip-directories)))) (mlet %store-monad ((guile (package->derivation (or guile (default-guile)) system #:graft? #f))) @@ -281,7 +281,6 @@ (define %outputs #:system system #:target target #:graft? #f - #:modules imported-modules #:allowed-references allowed-references #:disallowed-references disallowed-references #:guile-for-build guile))) -- 2.49.0
guix-patches <at> gnu.org
:bug#78050
; Package guix-patches
.
(Fri, 25 Apr 2025 00:06:03 GMT) Full text and rfc822 format available.Message #17 received at 78050 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 78050 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH 4/5] build-system: ruby: Improve ruby-cross-build style. Date: Fri, 25 Apr 2025 02:04:49 +0200
* guix/build-system/ruby.scm (ruby-cross-build): Use with-imported-modules around the ruby-cross-build builder gexp. Change-Id: I1051124f034f2082ccef531e9bcf37913d5a9449 --- guix/build-system/ruby.scm | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/guix/build-system/ruby.scm b/guix/build-system/ruby.scm index 33aab5f7190..f258ade6e75 100644 --- a/guix/build-system/ruby.scm +++ b/guix/build-system/ruby.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 David Thompson <davet <at> gnu.org> ;;; Copyright © 2014, 2015, 2021 Ludovic Courtès <ludo <at> gnu.org> +;;; Copyright © 2024 Nicolas Graves <ngraves <at> ngraves.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -88,24 +89,25 @@ (define* (ruby-build name inputs (guix build utils)))) "Build SOURCE using RUBY and INPUTS." (define build - #~(begin - (use-modules #$@(sexp->gexp modules)) + (with-imported-modules imported-modules + #~(begin + (use-modules #$@(sexp->gexp modules)) - #$(with-build-variables inputs outputs - #~(ruby-build #:name #$name - #:source #+source - #:system #$system - #:gem-flags #$gem-flags - #:test-target #$test-target - #:tests? #$tests? - #:phases #$(if (pair? phases) - (sexp->gexp phases) - phases) - #:outputs %outputs - #:search-paths '#$(sexp->gexp - (map search-path-specification->sexp - search-paths)) - #:inputs %build-inputs)))) + #$(with-build-variables inputs outputs + #~(ruby-build #:name #$name + #:source #+source + #:system #$system + #:gem-flags #$gem-flags + #:test-target #$test-target + #:tests? #$tests? + #:phases #$(if (pair? phases) + (sexp->gexp phases) + phases) + #:outputs %outputs + #:search-paths '#$(sexp->gexp + (map search-path-specification->sexp + search-paths)) + #:inputs %build-inputs))))) (mlet %store-monad ((guile (package->derivation (or guile (default-guile)) system #:graft? #f))) @@ -113,7 +115,6 @@ (define build #:system system #:target #f #:graft? #f - #:modules imported-modules #:guile-for-build guile))) (define ruby-build-system -- 2.49.0
guix-patches <at> gnu.org
:bug#78050
; Package guix-patches
.
(Fri, 25 Apr 2025 00:06:03 GMT) Full text and rfc822 format available.Message #20 received at 78050 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 78050 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH 5/5] build-system: android-ndk: Improve style. Date: Fri, 25 Apr 2025 02:04:50 +0200
Like in other build-systems, make proper procedures to resolve the build-system build-inputs bindings. * guix/build-system/android-ndk.scm (default-android-build, default-android-googletest): Add procedures. (lower): Use them. --- guix/build-system/android-ndk.scm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/guix/build-system/android-ndk.scm b/guix/build-system/android-ndk.scm index b8cd56b8719..565ec1d3632 100644 --- a/guix/build-system/android-ndk.scm +++ b/guix/build-system/android-ndk.scm @@ -33,6 +33,16 @@ (define %android-ndk-build-system-modules `((guix build android-ndk-build-system) ,@%default-gnu-imported-modules)) +(define (default-android-build) + ;; Lazily resolve the binding to avoid a circular dependency. + (let ((android (resolve-interface '(gnu packages android)))) + (module-ref android 'android-make-stub))) + +(define (default-android-googletest) + ;; Lazily resolve the binding to avoid a circular dependency. + (let ((android (resolve-interface '(gnu packages android)))) + (module-ref android 'android-googletest))) + (define* (android-ndk-build name inputs #:key source @@ -100,8 +110,8 @@ (define private-keywords ;; Keep the standard inputs of 'gnu-build-system' ,@(standard-packages))) - (build-inputs `(("android-build" ,(module-ref (resolve-interface '(gnu packages android)) 'android-make-stub)) - ("android-googletest" ,(module-ref (resolve-interface '(gnu packages android)) 'android-googletest)) + (build-inputs `(("android-build" ,(default-android-build)) + ("android-googletest" ,(default-android-googletest)) ,@native-inputs)) (outputs outputs) (build android-ndk-build) -- 2.49.0
guix-patches <at> gnu.org
:bug#78050
; Package guix-patches
.
(Fri, 25 Apr 2025 09:29:01 GMT) Full text and rfc822 format available.Message #23 received at 78050 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 78050 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v2 1/5] build-system: gnu: Improve gnu-cross-build style. Date: Fri, 25 Apr 2025 11:26:30 +0200
* guix/build-system/gnu.scm (gnu-cross-build): Use with-imported-modules around the gnu-cross-build builder gexp. Change-Id: I47246571b1d84a82a67a8c289fd5ad4b5a3b5aeb --- guix/build-system/gnu.scm | 97 ++++++++++++++++++++------------------- 1 file changed, 49 insertions(+), 48 deletions(-) diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm index 3a314d34b72..8f0883956e3 100644 --- a/guix/build-system/gnu.scm +++ b/guix/build-system/gnu.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012-2024 Ludovic Courtès <ludo <at> gnu.org> +;;; Copyright © 2024 Nicolas Graves <ngraves <at> ngraves.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -520,65 +521,65 @@ (define* (gnu-cross-build name cross-built inputs, and NATIVE-INPUTS are inputs that run on the build platform." (define builder - #~(begin - (use-modules #$@(sexp->gexp modules)) + (with-imported-modules imported-modules + #~(begin + (use-modules #$@(sexp->gexp modules)) - (define %build-host-inputs - #+(input-tuples->gexp build-inputs)) + (define %build-host-inputs + #+(input-tuples->gexp build-inputs)) - (define %build-target-inputs - (append #$(input-tuples->gexp host-inputs) - #+(input-tuples->gexp target-inputs))) + (define %build-target-inputs + (append #$(input-tuples->gexp host-inputs) + #+(input-tuples->gexp target-inputs))) - (define %build-inputs - (append %build-host-inputs %build-target-inputs)) + (define %build-inputs + (append %build-host-inputs %build-target-inputs)) - (define %outputs - #$(outputs->gexp outputs)) + (define %outputs + #$(outputs->gexp outputs)) - (gnu-build #:source #+source - #:system #$system - #:build #$build - #:target #$target - #:outputs %outputs - #:inputs %build-target-inputs - #:native-inputs %build-host-inputs - #:search-paths '#$(sexp->gexp - (map search-path-specification->sexp - search-paths)) - #:native-search-paths '#$(sexp->gexp - (map - search-path-specification->sexp - native-search-paths)) - #:phases #$(if (pair? phases) - (sexp->gexp phases) - phases) - #:locale #$locale - #:separate-from-pid1? #$separate-from-pid1? - #:bootstrap-scripts #$bootstrap-scripts - #:configure-flags #$configure-flags - #:make-flags #$make-flags - #:out-of-source? #$out-of-source? - #:tests? #$tests? - #:test-target #$test-target - #:parallel-build? #$parallel-build? - #:parallel-tests? #$parallel-tests? - #:patch-shebangs? #$patch-shebangs? - #:license-file-regexp #$license-file-regexp - #:strip-binaries? #$strip-binaries? - #:validate-runpath? #$validate-runpath? - #:make-dynamic-linker-cache? #$make-dynamic-linker-cache? - #:license-file-regexp #$license-file-regexp - #:strip-flags #$strip-flags - #:strip-directories #$strip-directories))) + (gnu-build #:source #+source + #:system #$system + #:build #$build + #:target #$target + #:outputs %outputs + #:inputs %build-target-inputs + #:native-inputs %build-host-inputs + #:search-paths '#$(sexp->gexp + (map search-path-specification->sexp + search-paths)) + #:native-search-paths '#$(sexp->gexp + (map + search-path-specification->sexp + native-search-paths)) + #:phases #$(if (pair? phases) + (sexp->gexp phases) + phases) + #:locale #$locale + #:separate-from-pid1? #$separate-from-pid1? + #:bootstrap-scripts #$bootstrap-scripts + #:configure-flags #$configure-flags + #:make-flags #$make-flags + #:out-of-source? #$out-of-source? + #:tests? #$tests? + #:test-target #$test-target + #:parallel-build? #$parallel-build? + #:parallel-tests? #$parallel-tests? + #:patch-shebangs? #$patch-shebangs? + #:license-file-regexp #$license-file-regexp + #:strip-binaries? #$strip-binaries? + #:validate-runpath? #$validate-runpath? + #:make-dynamic-linker-cache? #$make-dynamic-linker-cache? + #:license-file-regexp #$license-file-regexp + #:strip-flags #$strip-flags + #:strip-directories #$strip-directories)))) - (mlet %store-monad ((guile (package->derivation (or guile (default-guile)) + (mlet %store-monad ((guile (package->derivation (or guile (default-guile)) system #:graft? #f))) (gexp->derivation name builder #:system system #:target target #:graft? #f - #:modules imported-modules #:substitutable? substitutable? #:allowed-references allowed-references #:disallowed-references disallowed-references -- 2.49.0
guix-patches <at> gnu.org
:bug#78050
; Package guix-patches
.
(Fri, 25 Apr 2025 09:29:02 GMT) Full text and rfc822 format available.Message #26 received at 78050 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 78050 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v2 0/5] build-system improvements Date: Fri, 25 Apr 2025 11:26:29 +0200
Looks like I did forget a #:modules imported-modules line removal on the first patch, submitting again. QA looks like it indeed didn't cause any rebuilds, which is a good sign ;) Nicolas Graves (5): build-system: gnu: Improve gnu-cross-build style. build-system: glib-or-gtk: Improve glib-or-gtk-cross-build style. build-system: waf: Improve waf-build style. build-system: ruby: Improve ruby-cross-build style. build-system: android-ndk: Improve style. guix/build-system/android-ndk.scm | 14 ++++- guix/build-system/glib-or-gtk.scm | 89 ++++++++++++++-------------- guix/build-system/gnu.scm | 97 ++++++++++++++++--------------- guix/build-system/ruby.scm | 37 ++++++------ guix/build-system/waf.scm | 32 +++++----- 5 files changed, 141 insertions(+), 128 deletions(-) -- 2.49.0
guix-patches <at> gnu.org
:bug#78050
; Package guix-patches
.
(Fri, 25 Apr 2025 09:29:02 GMT) Full text and rfc822 format available.Message #29 received at 78050 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 78050 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v2 2/5] build-system: glib-or-gtk: Improve glib-or-gtk-cross-build style. Date: Fri, 25 Apr 2025 11:26:31 +0200
* guix/build-system/glib-or-gtk.scm (glib-or-gtk-cross-build): Use with-imported-modules around the glib-or-gtk-cross-build builder gexp. Change-Id: I8eaa032ffc0a3f8dbf02c96a4ecee85475c32111 --- guix/build-system/glib-or-gtk.scm | 89 +++++++++++++++---------------- 1 file changed, 44 insertions(+), 45 deletions(-) diff --git a/guix/build-system/glib-or-gtk.scm b/guix/build-system/glib-or-gtk.scm index 6c69a950e81..c912adab4aa 100644 --- a/guix/build-system/glib-or-gtk.scm +++ b/guix/build-system/glib-or-gtk.scm @@ -225,55 +225,55 @@ (define* (glib-or-gtk-cross-build name disallowed-references) "Cross-build SOURCE with INPUTS. See GNU-BUILD for more details." (define builder - #~(begin - (use-modules #$@(sexp->gexp modules)) + (with-imported-modules imported-modules + #~(begin + (use-modules #$@(sexp->gexp modules)) - (define %build-host-inputs - #+(input-tuples->gexp build-inputs)) + (define %build-host-inputs + #+(input-tuples->gexp build-inputs)) - (define %build-target-inputs - (append #$(input-tuples->gexp host-inputs) - #+(input-tuples->gexp target-inputs))) + (define %build-target-inputs + (append #$(input-tuples->gexp host-inputs) + #+(input-tuples->gexp target-inputs))) - (define %build-inputs - (append %build-host-inputs %build-target-inputs)) + (define %build-inputs + (append %build-host-inputs %build-target-inputs)) - (define %outputs - #$(outputs->gexp outputs)) - - (glib-or-gtk-build #:source #+source - #:system #$system - #:build #$build - #:target #$target - #:outputs %outputs - #:inputs %build-target-inputs - #:native-inputs %build-host-inputs - #:search-paths '#$(sexp->gexp - (map search-path-specification->sexp - search-paths)) - #:native-search-paths '#$(sexp->gexp - (map search-path-specification->sexp - native-search-paths)) - #:phases #$(if (pair? phases) - (sexp->gexp phases) - phases) - #:glib-or-gtk-wrap-excluded-outputs - #$glib-or-gtk-wrap-excluded-outputs - #:configure-flags #$configure-flags - #:make-flags #$make-flags - #:out-of-source? #$out-of-source? - #:tests? #$tests? - #:test-target #$test-target - #:parallel-build? #$parallel-build? - #:parallel-tests? #$parallel-tests? - #:validate-runpath? #$validate-runpath? - #:make-dynamic-linker-cache? #$make-dynamic-linker-cache? - #:patch-shebangs? #$patch-shebangs? - #:strip-binaries? #$strip-binaries? - #:strip-flags #$strip-flags - #:strip-directories - #$strip-directories))) + (define %outputs + #$(outputs->gexp outputs)) + (glib-or-gtk-build #:source #+source + #:system #$system + #:build #$build + #:target #$target + #:outputs %outputs + #:inputs %build-target-inputs + #:native-inputs %build-host-inputs + #:search-paths '#$(sexp->gexp + (map search-path-specification->sexp + search-paths)) + #:native-search-paths '#$(sexp->gexp + (map search-path-specification->sexp + native-search-paths)) + #:phases #$(if (pair? phases) + (sexp->gexp phases) + phases) + #:glib-or-gtk-wrap-excluded-outputs + #$glib-or-gtk-wrap-excluded-outputs + #:configure-flags #$configure-flags + #:make-flags #$make-flags + #:out-of-source? #$out-of-source? + #:tests? #$tests? + #:test-target #$test-target + #:parallel-build? #$parallel-build? + #:parallel-tests? #$parallel-tests? + #:validate-runpath? #$validate-runpath? + #:make-dynamic-linker-cache? #$make-dynamic-linker-cache? + #:patch-shebangs? #$patch-shebangs? + #:strip-binaries? #$strip-binaries? + #:strip-flags #$strip-flags + #:strip-directories + #$strip-directories)))) (mlet %store-monad ((guile (package->derivation (or guile (default-guile)) system #:graft? #f))) @@ -281,7 +281,6 @@ (define %outputs #:system system #:target target #:graft? #f - #:modules imported-modules #:allowed-references allowed-references #:disallowed-references disallowed-references #:guile-for-build guile))) -- 2.49.0
guix-patches <at> gnu.org
:bug#78050
; Package guix-patches
.
(Fri, 25 Apr 2025 09:29:03 GMT) Full text and rfc822 format available.Message #32 received at 78050 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 78050 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v2 3/5] build-system: waf: Improve waf-build style. Date: Fri, 25 Apr 2025 11:26:32 +0200
* guix/build-system/waf.scm (waf-build): Use with-imported-modules around the waf-build builder gexp. Change-Id: Id242046eb4bfef90dba60d7c3b1b68597ddf502e --- guix/build-system/waf.scm | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/guix/build-system/waf.scm b/guix/build-system/waf.scm index 5f246155141..4ca293ffd89 100644 --- a/guix/build-system/waf.scm +++ b/guix/build-system/waf.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Ricardo Wurmus <rekado <at> elephly.net> +;;; Copyright © 2024 Nicolas Graves <ngraves <at> ngraves.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -86,22 +87,23 @@ (define* (waf-build name inputs "Build SOURCE with INPUTS. This assumes that SOURCE provides a 'waf' file as its build system." (define build - #~(begin - (use-modules #$@(sexp->gexp modules)) + (with-imported-modules imported-modules + #~(begin + (use-modules #$@(sexp->gexp modules)) - #$(with-build-variables inputs outputs - #~(waf-build #:name #$name - #:source #+source - #:configure-flags #$configure-flags - #:system #$system - #:test-target #$test-target - #:tests? #$tests? - #:phases #$phases - #:outputs %outputs - #:search-paths '#$(sexp->gexp - (map search-path-specification->sexp - search-paths)) - #:inputs %build-inputs)))) + #$(with-build-variables inputs outputs + #~(waf-build #:name #$name + #:source #+source + #:configure-flags #$configure-flags + #:system #$system + #:test-target #$test-target + #:tests? #$tests? + #:phases #$phases + #:outputs %outputs + #:search-paths '#$(sexp->gexp + (map search-path-specification->sexp + search-paths)) + #:inputs %build-inputs))))) (mlet %store-monad ((guile (package->derivation (or guile (default-guile)) system #:graft? #f))) -- 2.49.0
guix-patches <at> gnu.org
:bug#78050
; Package guix-patches
.
(Fri, 25 Apr 2025 09:29:03 GMT) Full text and rfc822 format available.Message #35 received at 78050 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 78050 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v2 4/5] build-system: ruby: Improve ruby-cross-build style. Date: Fri, 25 Apr 2025 11:26:33 +0200
* guix/build-system/ruby.scm (ruby-cross-build): Use with-imported-modules around the ruby-cross-build builder gexp. Change-Id: I1051124f034f2082ccef531e9bcf37913d5a9449 --- guix/build-system/ruby.scm | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/guix/build-system/ruby.scm b/guix/build-system/ruby.scm index 33aab5f7190..f258ade6e75 100644 --- a/guix/build-system/ruby.scm +++ b/guix/build-system/ruby.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 David Thompson <davet <at> gnu.org> ;;; Copyright © 2014, 2015, 2021 Ludovic Courtès <ludo <at> gnu.org> +;;; Copyright © 2024 Nicolas Graves <ngraves <at> ngraves.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -88,24 +89,25 @@ (define* (ruby-build name inputs (guix build utils)))) "Build SOURCE using RUBY and INPUTS." (define build - #~(begin - (use-modules #$@(sexp->gexp modules)) + (with-imported-modules imported-modules + #~(begin + (use-modules #$@(sexp->gexp modules)) - #$(with-build-variables inputs outputs - #~(ruby-build #:name #$name - #:source #+source - #:system #$system - #:gem-flags #$gem-flags - #:test-target #$test-target - #:tests? #$tests? - #:phases #$(if (pair? phases) - (sexp->gexp phases) - phases) - #:outputs %outputs - #:search-paths '#$(sexp->gexp - (map search-path-specification->sexp - search-paths)) - #:inputs %build-inputs)))) + #$(with-build-variables inputs outputs + #~(ruby-build #:name #$name + #:source #+source + #:system #$system + #:gem-flags #$gem-flags + #:test-target #$test-target + #:tests? #$tests? + #:phases #$(if (pair? phases) + (sexp->gexp phases) + phases) + #:outputs %outputs + #:search-paths '#$(sexp->gexp + (map search-path-specification->sexp + search-paths)) + #:inputs %build-inputs))))) (mlet %store-monad ((guile (package->derivation (or guile (default-guile)) system #:graft? #f))) @@ -113,7 +115,6 @@ (define build #:system system #:target #f #:graft? #f - #:modules imported-modules #:guile-for-build guile))) (define ruby-build-system -- 2.49.0
guix-patches <at> gnu.org
:bug#78050
; Package guix-patches
.
(Fri, 25 Apr 2025 09:29:04 GMT) Full text and rfc822 format available.Message #38 received at 78050 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 78050 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v2 5/5] build-system: android-ndk: Improve style. Date: Fri, 25 Apr 2025 11:26:34 +0200
Like in other build-systems, make proper procedures to resolve the build-system build-inputs bindings. * guix/build-system/android-ndk.scm (default-android-build, default-android-googletest): Add procedures. (lower): Use them. --- guix/build-system/android-ndk.scm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/guix/build-system/android-ndk.scm b/guix/build-system/android-ndk.scm index b8cd56b8719..565ec1d3632 100644 --- a/guix/build-system/android-ndk.scm +++ b/guix/build-system/android-ndk.scm @@ -33,6 +33,16 @@ (define %android-ndk-build-system-modules `((guix build android-ndk-build-system) ,@%default-gnu-imported-modules)) +(define (default-android-build) + ;; Lazily resolve the binding to avoid a circular dependency. + (let ((android (resolve-interface '(gnu packages android)))) + (module-ref android 'android-make-stub))) + +(define (default-android-googletest) + ;; Lazily resolve the binding to avoid a circular dependency. + (let ((android (resolve-interface '(gnu packages android)))) + (module-ref android 'android-googletest))) + (define* (android-ndk-build name inputs #:key source @@ -100,8 +110,8 @@ (define private-keywords ;; Keep the standard inputs of 'gnu-build-system' ,@(standard-packages))) - (build-inputs `(("android-build" ,(module-ref (resolve-interface '(gnu packages android)) 'android-make-stub)) - ("android-googletest" ,(module-ref (resolve-interface '(gnu packages android)) 'android-googletest)) + (build-inputs `(("android-build" ,(default-android-build)) + ("android-googletest" ,(default-android-googletest)) ,@native-inputs)) (outputs outputs) (build android-ndk-build) -- 2.49.0
guix-patches <at> gnu.org
:bug#78050
; Package guix-patches
.
(Mon, 28 Apr 2025 07:22:02 GMT) Full text and rfc822 format available.Message #41 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Christopher Baines <mail <at> cbaines.net> To: Nicolas Graves via Guix-patches via <guix-patches <at> gnu.org> Cc: 78050-done <at> debbugs.gnu.org, Nicolas Graves <ngraves <at> ngraves.fr> Subject: Re: [bug#78050] [PATCH v2 0/5] build-system improvements Date: Mon, 28 Apr 2025 08:21:09 +0100
[Message part 1 (text/plain, inline)]
Nicolas Graves via Guix-patches via <guix-patches <at> gnu.org> writes: > Looks like I did forget a #:modules imported-modules line removal on > the first patch, submitting again. QA looks like it indeed didn't > cause any rebuilds, which is a good sign ;) Indeed, I've gone ahead and pushed these to master as ac026164be3a7d70307d56bac76225b2ed99c1ab. Chris
[signature.asc (application/pgp-signature, inline)]
Christopher Baines <mail <at> cbaines.net>
:Nicolas Graves <ngraves <at> ngraves.fr>
:Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Mon, 26 May 2025 11:24:11 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.