From 4b42f9501284ad66d4de04f5b94bdaf412008d5d Mon Sep 17 00:00:00 2001 Message-Id: <4b42f9501284ad66d4de04f5b94bdaf412008d5d.1694806866.git.striness@tilde.club> In-Reply-To: <73b2dfe98591073104fd069622ede2acab0c7655.1694806866.git.striness@tilde.club> References: <73b2dfe98591073104fd069622ede2acab0c7655.1694806866.git.striness@tilde.club> From: Ulf Herrman Date: Fri, 15 Sep 2023 08:31:58 -0500 Subject: [PATCH 3/5] build-system: include all argument packages in bag args explicitly. Deep package transformations currently miss several implicit input packages because they are introduced via the bag->derivation builder procedure. This is the case with, for example, qtbase in qt-build-system. This can be avoided by ensuring that those arguments are always explicitly specified in the bag arguments list. Notably, this is also the case for the guile used by the generated build script, so every single build system that uses gexp->derivation needs to be modified. * guix/build-system/agda.scm (lower): include guile in bag arguments. * guix/build-system/android-ndk.scm (lower): include guile in bag arguments. * guix/build-system/ant.scm (lower): include guile in bag arguments. * guix/build-system/asdf.scm (lower, lower/source): include guile in bag arguments. * guix/build-system/cargo.scm (lower): include guile in bag arguments. * guix/build-system/chicken.scm (lower): include guile in bag arguments. * guix/build-system/clojure.scm (lower): include guile in bag arguments. * guix/build-system/cmake.scm (lower): include guile in bag arguments. * guix/build-system/copy.scm (lower): include guile in bag arguments. * guix/build-system/dub.scm (lower): include guile in bag arguments. * guix/build-system/dune.scm (lower): include guile in bag arguments. * guix/build-system/elm.scm (lower): include guile in bag arguments. * guix/build-system/emacs.scm (lower): include guile in bag arguments. * guix/build-system/font.scm (lower): include guile in bag arguments. * guix/build-system/glib-or-gtk.scm (lower): include guile in bag arguments. * guix/build-system/gnu.scm (lower): include guile in bag arguments. * guix/build-system/go.scm (lower): include guile in bag arguments. * guix/build-system/guile.scm (lower): include guile in bag arguments. * guix/build-system/haskell.scm (lower): include guile in bag arguments. * guix/build-system/julia.scm (lower): include guile in bag arguments. * guix/build-system/linux-module.scm (lower): include guile in bag arguments. * guix/build-system/maven.scm (lower): include guile in bag arguments. * guix/build-system/meson.scm (lower): include guile in bag arguments. * guix/build-system/minify.scm (lower): include guile in bag arguments. * guix/build-system/node.scm (lower): include guile in bag arguments. * guix/build-system/ocaml.scm (lower): include guile in bag arguments. * guix/build-system/perl.scm (lower): include guile in bag arguments. * guix/build-system/pyproject.scm (lower): include guile in bag arguments. * guix/build-system/python.scm (lower): include guile in bag arguments. * guix/build-system/qt.scm (lower): include guile and qtbase in bag arguments. * guix/build-system/r.scm (lower): include guile in bag arguments. * guix/build-system/rakudo.scm (lower): include guile in bag arguments. * guix/build-system/rebar.scm (lower): include guile in bag arguments. * guix/build-system/renpy.scm (lower): include guile in bag arguments. * guix/build-system/ruby.scm (lower): include guile in bag arguments. * guix/build-system/scons.scm (lower): include guile in bag arguments. * guix/build-system/texlive.scm (lower): include guile in bag arguments. * guix/build-system/tree-sitter.scm (lower): include guile in bag arguments. * guix/build-system/trivial.scm (lower): include guile in bag arguments. --- guix/build-system/agda.scm | 6 +++++- guix/build-system/android-ndk.scm | 6 +++++- guix/build-system/ant.scm | 6 +++++- guix/build-system/asdf.scm | 12 ++++++++++-- guix/build-system/cargo.scm | 6 +++++- guix/build-system/chicken.scm | 6 +++++- guix/build-system/clojure.scm | 7 +++++-- guix/build-system/cmake.scm | 6 +++++- guix/build-system/copy.scm | 6 +++++- guix/build-system/dub.scm | 6 +++++- guix/build-system/dune.scm | 5 ++++- guix/build-system/elm.scm | 6 +++++- guix/build-system/emacs.scm | 6 +++++- guix/build-system/font.scm | 6 +++++- guix/build-system/glib-or-gtk.scm | 6 +++++- guix/build-system/gnu.scm | 6 +++++- guix/build-system/go.scm | 6 +++++- guix/build-system/guile.scm | 5 ++++- guix/build-system/haskell.scm | 4 +++- guix/build-system/julia.scm | 6 +++++- guix/build-system/linux-module.scm | 6 +++++- guix/build-system/maven.scm | 6 +++++- guix/build-system/meson.scm | 6 +++++- guix/build-system/minify.scm | 6 +++++- guix/build-system/node.scm | 6 +++++- guix/build-system/ocaml.scm | 6 +++++- guix/build-system/perl.scm | 6 +++++- guix/build-system/pyproject.scm | 6 +++++- guix/build-system/python.scm | 6 +++++- guix/build-system/qt.scm | 7 ++++++- guix/build-system/r.scm | 6 +++++- guix/build-system/rakudo.scm | 6 +++++- guix/build-system/rebar.scm | 6 +++++- guix/build-system/renpy.scm | 6 +++++- guix/build-system/ruby.scm | 6 +++++- guix/build-system/scons.scm | 6 +++++- guix/build-system/texlive.scm | 6 +++++- guix/build-system/tree-sitter.scm | 6 +++++- guix/build-system/trivial.scm | 3 ++- guix/build-system/waf.scm | 6 +++++- 40 files changed, 199 insertions(+), 42 deletions(-) diff --git a/guix/build-system/agda.scm b/guix/build-system/agda.scm index 64983dff60..511f1f11b5 100644 --- a/guix/build-system/agda.scm +++ b/guix/build-system/agda.scm @@ -47,6 +47,7 @@ (define %default-modules (define* (lower name #:key source inputs native-inputs outputs system target (agda (default-agda)) + (guile (default-guile)) gnu-and-haskell? #:allow-other-keys #:rest arguments) @@ -73,7 +74,10 @@ (define* (lower name ,@native-inputs)) (outputs outputs) (build agda-build) - (arguments (strip-keyword-arguments private-keywords arguments))))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile)))))) (define* (agda-build name inputs #:key diff --git a/guix/build-system/android-ndk.scm b/guix/build-system/android-ndk.scm index 047f884b19..064aacceaa 100644 --- a/guix/build-system/android-ndk.scm +++ b/guix/build-system/android-ndk.scm @@ -82,6 +82,7 @@ (define* (android-ndk-build name inputs (define* (lower name #:key source inputs native-inputs outputs system target + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -106,7 +107,10 @@ (define* (lower name ,@native-inputs)) (outputs outputs) (build android-ndk-build) - (arguments (strip-keyword-arguments private-keywords arguments))))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile)))))) (define android-ndk-build-system (build-system diff --git a/guix/build-system/ant.scm b/guix/build-system/ant.scm index cfb033f6a5..d4998b26e1 100644 --- a/guix/build-system/ant.scm +++ b/guix/build-system/ant.scm @@ -69,6 +69,7 @@ (define* (lower name (jdk (default-jdk)) (ant (default-ant)) (zip (default-zip)) + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -92,7 +93,10 @@ (define* (lower name ,@native-inputs)) (outputs outputs) (build ant-build) - (arguments (strip-keyword-arguments private-keywords arguments))))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile)))))) (define* (ant-build name inputs #:key diff --git a/guix/build-system/asdf.scm b/guix/build-system/asdf.scm index cd041eed4f..1adbe7d996 100644 --- a/guix/build-system/asdf.scm +++ b/guix/build-system/asdf.scm @@ -73,6 +73,7 @@ (define (default-lisp implementation) (define* (lower/source name #:key source inputs outputs native-inputs system target + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME" @@ -91,7 +92,10 @@ (define* (lower/source name (build-inputs native-inputs) (outputs outputs) (build asdf-build/source) - (arguments (strip-keyword-arguments private-keywords arguments))))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile)))))) (define* (asdf-build/source name inputs #:key source outputs @@ -245,6 +249,7 @@ (define (lower lisp-type) (lambda* (name #:key source inputs outputs native-inputs system target (lisp (default-lisp (string->symbol lisp-type))) + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME" @@ -264,7 +269,10 @@ (define (lower lisp-type) ,@native-inputs)) (outputs outputs) (build (asdf-build lisp-type)) - (arguments (strip-keyword-arguments private-keywords arguments)))))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile))))))) (define (asdf-build lisp-type) (lambda* (name inputs diff --git a/guix/build-system/cargo.scm b/guix/build-system/cargo.scm index 912400a191..84efea019e 100644 --- a/guix/build-system/cargo.scm +++ b/guix/build-system/cargo.scm @@ -238,6 +238,7 @@ (define* (lower name (rust (default-rust)) (cargo-inputs '()) (cargo-development-inputs '()) + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -264,7 +265,10 @@ (define* (lower name ,@native-inputs)) (outputs outputs) (build cargo-build) - (arguments (strip-keyword-arguments private-keywords arguments))))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile)))))) (define cargo-build-system (build-system diff --git a/guix/build-system/chicken.scm b/guix/build-system/chicken.scm index 9f518e66e6..ac1c5804ac 100644 --- a/guix/build-system/chicken.scm +++ b/guix/build-system/chicken.scm @@ -53,6 +53,7 @@ (define (default-chicken) (define* (lower name #:key source inputs native-inputs outputs system target (chicken (default-chicken)) + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -77,7 +78,10 @@ (define* (lower name ,@native-inputs)) (outputs outputs) (build chicken-build) - (arguments (strip-keyword-arguments private-keywords arguments))))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile)))))) (define* (chicken-build name inputs #:key diff --git a/guix/build-system/clojure.scm b/guix/build-system/clojure.scm index fb897356bc..921edab912 100644 --- a/guix/build-system/clojure.scm +++ b/guix/build-system/clojure.scm @@ -75,6 +75,7 @@ (define* (lower name (clojure (force %default-clojure)) (jdk (force %default-jdk)) (zip (force %default-zip)) + (guile (default-guile)) outputs system #:allow-other-keys #:rest arguments) @@ -98,8 +99,10 @@ (define* (lower name ,@native-inputs)) (outputs outputs) (build clojure-build) - (arguments (strip-keyword-arguments private-keywords - arguments)))))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile))))))) (define* (clojure-build name inputs #:key diff --git a/guix/build-system/cmake.scm b/guix/build-system/cmake.scm index aa187c9844..8db841992c 100644 --- a/guix/build-system/cmake.scm +++ b/guix/build-system/cmake.scm @@ -57,6 +57,7 @@ (define (default-cmake target) (define* (lower name #:key source inputs native-inputs outputs system target (cmake (default-cmake target)) + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -93,7 +94,10 @@ (define* (lower name '())) (outputs outputs) (build (if target cmake-cross-build cmake-build)) - (arguments (strip-keyword-arguments private-keywords arguments)))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile))))) (define* (cmake-build name inputs #:key guile source diff --git a/guix/build-system/copy.scm b/guix/build-system/copy.scm index d58931b33c..2507d77bcc 100644 --- a/guix/build-system/copy.scm +++ b/guix/build-system/copy.scm @@ -57,6 +57,7 @@ (define (default-glibc) (define* (lower name #:key source inputs native-inputs outputs system target (glibc (default-glibc)) + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME from the given arguments." @@ -75,7 +76,10 @@ (define* (lower name (build-inputs native-inputs) (outputs outputs) (build copy-build) - (arguments (strip-keyword-arguments private-keywords arguments)))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile))))) (define* (copy-build name inputs #:key diff --git a/guix/build-system/dub.scm b/guix/build-system/dub.scm index b4011cdb83..1b9f21b052 100644 --- a/guix/build-system/dub.scm +++ b/guix/build-system/dub.scm @@ -106,6 +106,7 @@ (define* (lower name (dub (default-dub)) (pkg-config (default-pkg-config)) (ld-gold-wrapper (default-ld-gold-wrapper)) + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -131,7 +132,10 @@ (define* (lower name ,@native-inputs)) (outputs outputs) (build dub-build) - (arguments (strip-keyword-arguments private-keywords arguments))))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile)))))) (define dub-build-system (build-system diff --git a/guix/build-system/dune.scm b/guix/build-system/dune.scm index c45f308349..bad523b9eb 100644 --- a/guix/build-system/dune.scm +++ b/guix/build-system/dune.scm @@ -57,6 +57,7 @@ (define* (lower name (dune (default-dune)) (ocaml (ocaml:default-ocaml)) (findlib (ocaml:default-findlib)) + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -92,7 +93,9 @@ (define* (lower name (build dune-build) (arguments (append `(#:dune-release-flags ,dune-release-flags) - (strip-keyword-arguments private-keywords arguments))))))) + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile)))))))) (define* (dune-build name inputs #:key diff --git a/guix/build-system/elm.scm b/guix/build-system/elm.scm index f5321f811b..1c2b4a003e 100644 --- a/guix/build-system/elm.scm +++ b/guix/build-system/elm.scm @@ -119,6 +119,7 @@ (define* (lower name #:key source inputs native-inputs outputs system target (implicit-elm-package-inputs? #t) (elm (default-elm)) + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -165,7 +166,10 @@ (define* (lower name ,@(standard-packages))) (outputs outputs) (build elm-build) - (arguments (strip-keyword-arguments private-keywords arguments)))))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile))))))) (define* (elm-build name inputs #:key diff --git a/guix/build-system/emacs.scm b/guix/build-system/emacs.scm index ebf97a5344..4ab2883769 100644 --- a/guix/build-system/emacs.scm +++ b/guix/build-system/emacs.scm @@ -57,6 +57,7 @@ (define (default-emacs) (define* (lower name #:key source inputs native-inputs outputs system target (emacs (default-emacs)) + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -78,7 +79,10 @@ (define* (lower name ,@native-inputs)) (outputs outputs) (build emacs-build) - (arguments (strip-keyword-arguments private-keywords arguments))))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile)))))) (define* (emacs-build name inputs #:key source diff --git a/guix/build-system/font.scm b/guix/build-system/font.scm index c57c304f52..018b5c69dd 100644 --- a/guix/build-system/font.scm +++ b/guix/build-system/font.scm @@ -44,6 +44,7 @@ (define %font-build-system-modules (define* (lower name #:key source inputs native-inputs outputs system target + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -69,7 +70,10 @@ (define* (lower name ("xz" xz)))))) (outputs outputs) (build font-build) - (arguments (strip-keyword-arguments private-keywords arguments)))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile))))) (define* (font-build name inputs #:key source diff --git a/guix/build-system/glib-or-gtk.scm b/guix/build-system/glib-or-gtk.scm index 726d19efad..f8d5a0fa24 100644 --- a/guix/build-system/glib-or-gtk.scm +++ b/guix/build-system/glib-or-gtk.scm @@ -87,6 +87,7 @@ (define* (lower name (implicit-inputs? #t) (implicit-cross-inputs? #t) (strip-binaries? #t) + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -120,7 +121,10 @@ (define* (lower name '())) (outputs outputs) (build (if target glib-or-gtk-cross-build glib-or-gtk-build)) - (arguments (strip-keyword-arguments private-keywords arguments)))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile))))) (define* (glib-or-gtk-build name inputs #:key guile source diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm index c1aa187c42..7945efa1c3 100644 --- a/guix/build-system/gnu.scm +++ b/guix/build-system/gnu.scm @@ -278,6 +278,7 @@ (define* (lower name #:key source inputs native-inputs outputs target (implicit-inputs? #t) (implicit-cross-inputs? #t) (strip-binaries? #t) system + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME from the given arguments." @@ -319,7 +320,10 @@ (define* (lower name outputs (delete "debug" outputs))) (build (if target gnu-cross-build gnu-build)) - (arguments (strip-keyword-arguments private-keywords arguments)))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile))))) (define %license-file-regexp ;; Regexp matching license files. diff --git a/guix/build-system/go.scm b/guix/build-system/go.scm index 0a9761aac7..e27633b624 100644 --- a/guix/build-system/go.scm +++ b/guix/build-system/go.scm @@ -120,6 +120,7 @@ (define (make-go-std) (define* (lower name #:key source inputs native-inputs outputs system target (go (default-go)) + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -164,7 +165,10 @@ (define* (lower name (outputs outputs) (build (if target go-cross-build go-build)) - (arguments (strip-keyword-arguments private-keywords arguments)))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile))))) (define* (go-build name inputs #:key diff --git a/guix/build-system/guile.scm b/guix/build-system/guile.scm index 1bd292e267..49d8cc77a7 100644 --- a/guix/build-system/guile.scm +++ b/guix/build-system/guile.scm @@ -68,7 +68,10 @@ (define* (lower name '()))) (outputs outputs) (build (if target guile-cross-build guile-build)) - (arguments (strip-keyword-arguments private-keywords arguments)))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) (default-guile)))))) (define %compile-flags ;; Flags passed to 'guild compile' by default. We choose a common diff --git a/guix/build-system/haskell.scm b/guix/build-system/haskell.scm index f8568e33db..b860550998 100644 --- a/guix/build-system/haskell.scm +++ b/guix/build-system/haskell.scm @@ -77,6 +77,7 @@ (define* (lower name #:key source inputs native-inputs outputs system target (haskell (default-haskell)) cabal-revision + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -122,7 +123,8 @@ (define* (lower name (match (package-transitive-propagated-inputs pkg) (((propagated-names . _) ...) (cons name propagated-names)))))) - extra-directories)))))))) + extra-directories))) + ((#:guile _ #t) guile)))))) (define* (haskell-build name inputs #:key source diff --git a/guix/build-system/julia.scm b/guix/build-system/julia.scm index b5521e38e4..b4fc7f6576 100644 --- a/guix/build-system/julia.scm +++ b/guix/build-system/julia.scm @@ -53,6 +53,7 @@ (define (default-julia) (define* (lower name #:key source inputs native-inputs outputs system target (julia (default-julia)) + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -74,7 +75,10 @@ (define* (lower name ,@native-inputs)) (outputs outputs) (build julia-build) - (arguments (strip-keyword-arguments private-keywords arguments))))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile)))))) (define* (julia-build name inputs #:key source diff --git a/guix/build-system/linux-module.scm b/guix/build-system/linux-module.scm index e46195b53c..d286ea9cee 100644 --- a/guix/build-system/linux-module.scm +++ b/guix/build-system/linux-module.scm @@ -112,6 +112,7 @@ (define* (lower name #:key source inputs native-inputs outputs system target (linux (default-linux)) + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -148,7 +149,10 @@ (define* (lower name '())) (outputs outputs) (build (if target linux-module-build-cross linux-module-build)) - (arguments (strip-keyword-arguments private-keywords arguments)))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile))))) (define* (linux-module-build name inputs #:key diff --git a/guix/build-system/maven.scm b/guix/build-system/maven.scm index 4bbeaed6a4..b7734a1a07 100644 --- a/guix/build-system/maven.scm +++ b/guix/build-system/maven.scm @@ -116,6 +116,7 @@ (define* (lower name (maven-plugins (default-maven-plugins)) (local-packages '()) (exclude %default-exclude) + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -139,7 +140,10 @@ (define* (lower name ,@native-inputs)) (outputs outputs) (build maven-build) - (arguments (strip-keyword-arguments private-keywords arguments))))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile)))))) (define* (maven-build name inputs #:key diff --git a/guix/build-system/meson.scm b/guix/build-system/meson.scm index 7c617bffb0..13e2e87b58 100644 --- a/guix/build-system/meson.scm +++ b/guix/build-system/meson.scm @@ -125,6 +125,7 @@ (define* (lower name (meson (default-meson)) (ninja (default-ninja)) (glib-or-gtk? #f) + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -156,7 +157,10 @@ (define* (lower name '())) (outputs outputs) (build (if target meson-cross-build meson-build)) - (arguments (strip-keyword-arguments private-keywords arguments)))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile))))) (define* (meson-build name inputs #:key diff --git a/guix/build-system/minify.scm b/guix/build-system/minify.scm index 787235deeb..384748908c 100644 --- a/guix/build-system/minify.scm +++ b/guix/build-system/minify.scm @@ -50,6 +50,7 @@ (define (default-uglify-js) (define* (lower name #:key source inputs native-inputs outputs system (uglify-js (default-uglify-js)) + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -68,7 +69,10 @@ (define* (lower name ,@native-inputs)) (outputs outputs) (build minify-build) - (arguments (strip-keyword-arguments private-keywords arguments)))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile))))) (define* (minify-build name inputs #:key diff --git a/guix/build-system/node.scm b/guix/build-system/node.scm index 3f73390809..0b1c1f1ddd 100644 --- a/guix/build-system/node.scm +++ b/guix/build-system/node.scm @@ -48,6 +48,7 @@ (define (default-node) (define* (lower name #:key source inputs native-inputs outputs system target (node (default-node)) + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -74,7 +75,10 @@ (define* (lower name ,@native-inputs)) (outputs outputs) (build node-build) - (arguments (strip-keyword-arguments private-keywords arguments))))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile)))))) (define* (node-build name inputs #:key diff --git a/guix/build-system/ocaml.scm b/guix/build-system/ocaml.scm index 582d00b4cd..91dda0c391 100644 --- a/guix/build-system/ocaml.scm +++ b/guix/build-system/ocaml.scm @@ -229,6 +229,7 @@ (define* (lower name #:key source inputs native-inputs outputs system target (ocaml (default-ocaml)) (findlib (default-findlib)) + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -251,7 +252,10 @@ (define* (lower name ,@(standard-packages))) (outputs outputs) (build ocaml-build) - (arguments (strip-keyword-arguments private-keywords arguments))))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile)))))) (define* (ocaml-build name inputs #:key diff --git a/guix/build-system/perl.scm b/guix/build-system/perl.scm index 7c6deb34bf..99e952a531 100644 --- a/guix/build-system/perl.scm +++ b/guix/build-system/perl.scm @@ -58,6 +58,7 @@ (define* (lower name #:key source inputs native-inputs outputs system target (perl (default-perl)) + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -99,7 +100,10 @@ (define* (lower name (build (if target perl-cross-build perl-build)) - (arguments (strip-keyword-arguments private-keywords arguments)))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile))))) (define* (perl-build name inputs #:key source diff --git a/guix/build-system/pyproject.scm b/guix/build-system/pyproject.scm index 2a2c3af3f3..41b4d2c23f 100644 --- a/guix/build-system/pyproject.scm +++ b/guix/build-system/pyproject.scm @@ -60,6 +60,7 @@ (define sanity-check.py (define* (lower name #:key source inputs native-inputs outputs system target (python (default-python)) + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -82,7 +83,10 @@ (define* (lower name ,@native-inputs)) (outputs (append outputs '(wheel))) (build pyproject-build) - (arguments (strip-keyword-arguments private-keywords arguments))))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile)))))) (define* (pyproject-build name inputs #:key source diff --git a/guix/build-system/python.scm b/guix/build-system/python.scm index cca009fb28..f8657662af 100644 --- a/guix/build-system/python.scm +++ b/guix/build-system/python.scm @@ -142,6 +142,7 @@ (define (strip-python2-variant p) (define* (lower name #:key source inputs native-inputs outputs system target (python (default-python)) + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -164,7 +165,10 @@ (define* (lower name ,@native-inputs)) (outputs outputs) (build python-build) - (arguments (strip-keyword-arguments private-keywords arguments))))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile)))))) (define* (python-build name inputs #:key source diff --git a/guix/build-system/qt.scm b/guix/build-system/qt.scm index 978aed0fc1..97f870a698 100644 --- a/guix/build-system/qt.scm +++ b/guix/build-system/qt.scm @@ -80,6 +80,7 @@ (define* (lower name #:key source inputs native-inputs outputs system target (cmake (default-cmake)) (qtbase (default-qtbase)) + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -116,7 +117,11 @@ (define* (lower name '())) (outputs outputs) (build (if target qt-cross-build qt-build)) - (arguments (strip-keyword-arguments private-keywords arguments)))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:qtbase _ #t) qtbase) + ((#:guile _ #t) guile))))) (define* (qt-build name inputs diff --git a/guix/build-system/r.scm b/guix/build-system/r.scm index 657346bea3..ed70d7b758 100644 --- a/guix/build-system/r.scm +++ b/guix/build-system/r.scm @@ -79,6 +79,7 @@ (define (default-r) (define* (lower name #:key source inputs native-inputs outputs system target (r (default-r)) + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -100,7 +101,10 @@ (define* (lower name ,@native-inputs)) (outputs outputs) (build r-build) - (arguments (strip-keyword-arguments private-keywords arguments))))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile)))))) (define* (r-build name inputs #:key diff --git a/guix/build-system/rakudo.scm b/guix/build-system/rakudo.scm index 3b30fdfd0e..654b0c362b 100644 --- a/guix/build-system/rakudo.scm +++ b/guix/build-system/rakudo.scm @@ -68,6 +68,7 @@ (define* (lower name (zef (default-zef)) (with-prove6? #t) (with-zef? #t) + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -95,7 +96,10 @@ (define* (lower name ,@native-inputs)) (outputs outputs) (build rakudo-build) - (arguments (strip-keyword-arguments private-keywords arguments))))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile)))))) (define* (rakudo-build name inputs #:key diff --git a/guix/build-system/rebar.scm b/guix/build-system/rebar.scm index de1294ec3f..e89f82b768 100644 --- a/guix/build-system/rebar.scm +++ b/guix/build-system/rebar.scm @@ -74,6 +74,7 @@ (define* (lower name #:key source inputs native-inputs outputs system target (rebar (default-rebar3)) (erlang (default-erlang)) + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME from the given arguments." @@ -95,7 +96,10 @@ (define* (lower name ,@(standard-packages))) (outputs outputs) (build rebar-build) - (arguments (strip-keyword-arguments private-keywords arguments))))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile)))))) (define* (rebar-build name inputs #:key diff --git a/guix/build-system/renpy.scm b/guix/build-system/renpy.scm index 3039e3c63b..75d546fedc 100644 --- a/guix/build-system/renpy.scm +++ b/guix/build-system/renpy.scm @@ -49,6 +49,7 @@ (define %renpy-build-system-modules (define* (lower name #:key source inputs native-inputs outputs system target (renpy (default-renpy)) + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -70,7 +71,10 @@ (define* (lower name ,@native-inputs)) (outputs outputs) (build renpy-build) - (arguments (strip-keyword-arguments private-keywords arguments))))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile)))))) (define* (renpy-build name inputs #:key diff --git a/guix/build-system/ruby.scm b/guix/build-system/ruby.scm index a3793a9381..be8df2a93c 100644 --- a/guix/build-system/ruby.scm +++ b/guix/build-system/ruby.scm @@ -50,6 +50,7 @@ (define (default-ruby) (define* (lower name #:key source inputs native-inputs outputs system target (ruby (default-ruby)) + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -71,7 +72,10 @@ (define* (lower name ,@native-inputs)) (outputs outputs) (build ruby-build) - (arguments (strip-keyword-arguments private-keywords arguments))))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile)))))) (define* (ruby-build name inputs #:key source diff --git a/guix/build-system/scons.scm b/guix/build-system/scons.scm index 046ddef740..95c75c817f 100644 --- a/guix/build-system/scons.scm +++ b/guix/build-system/scons.scm @@ -50,6 +50,7 @@ (define (default-scons) (define* (lower name #:key source inputs native-inputs outputs system target (scons (default-scons)) + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -71,7 +72,10 @@ (define* (lower name ,@native-inputs)) (outputs outputs) (build scons-build) - (arguments (strip-keyword-arguments private-keywords arguments))))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile)))))) (define* (scons-build name inputs #:key diff --git a/guix/build-system/texlive.scm b/guix/build-system/texlive.scm index 88372faa58..941fa37b5f 100644 --- a/guix/build-system/texlive.scm +++ b/guix/build-system/texlive.scm @@ -98,6 +98,7 @@ (define* (lower name system target (texlive-latex-bin? #true) (texlive-bin (default-texlive-bin)) + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -122,7 +123,10 @@ (define* (lower name ,@native-inputs)) (outputs outputs) (build texlive-build) - (arguments (strip-keyword-arguments private-keywords arguments)))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile))))) (define* (texlive-build name inputs #:key diff --git a/guix/build-system/tree-sitter.scm b/guix/build-system/tree-sitter.scm index 21c4eb35b2..1ea0c58817 100644 --- a/guix/build-system/tree-sitter.scm +++ b/guix/build-system/tree-sitter.scm @@ -38,6 +38,7 @@ (define %tree-sitter-build-system-modules (define* (lower name #:key source inputs native-inputs outputs system target + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME from the given arguments." @@ -87,7 +88,10 @@ (define* (lower name (("out") (cons "js" outputs)) (_ outputs))) (build (if target tree-sitter-cross-build tree-sitter-build)) - (arguments (strip-keyword-arguments private-keywords arguments)))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile))))) (define* (tree-sitter-build name inputs #:key diff --git a/guix/build-system/trivial.scm b/guix/build-system/trivial.scm index e08884baf1..37798cbf7a 100644 --- a/guix/build-system/trivial.scm +++ b/guix/build-system/trivial.scm @@ -26,7 +26,8 @@ (define-module (guix build-system trivial) (define* (lower name #:key source inputs native-inputs outputs system target - guile builder (modules '()) allowed-references) + (guile (default-guile)) builder (modules '()) + allowed-references) "Return a bag for NAME." (bag (name name) diff --git a/guix/build-system/waf.scm b/guix/build-system/waf.scm index 91b3d0d100..abb87156c7 100644 --- a/guix/build-system/waf.scm +++ b/guix/build-system/waf.scm @@ -47,6 +47,7 @@ (define %waf-build-system-modules (define* (lower name #:key source inputs native-inputs outputs system target (python (default-python)) + (guile (default-guile)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -68,7 +69,10 @@ (define* (lower name ,@native-inputs)) (outputs outputs) (build waf-build) ; only change compared to 'lower' in python.scm - (arguments (strip-keyword-arguments private-keywords arguments))))) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:guile _ #t) guile)))))) (define* (waf-build name inputs #:key source -- 2.40.1