mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
build-system: Introduce @* macro for lazy module resolution.
* guix/build-system.scm (@*): New macro for runtime module resolution. * guix/build-system/agda.scm (default-agda): Use @* instead of resolve-interface and module-ref. * guix/build-system/android-ndk.scm (default-android-build, default-android-googletest): Likewise. * guix/build-system/ant.scm (default-jdk, default-ant, default-zip): Likewise. * guix/build-system/cargo.scm (default-rust): Likewise. * guix/build-system/chicken.scm (default-chicken): Likewise. * guix/build-system/composer.scm (default-php, default-composer-classloader): Likewise. * guix/build-system/dub.scm (default-ldc, default-dub, default-pkg-config, default-ld-gold-wrapper): Likewise. * guix/build-system/elm.scm (default-elm, default-elm-core, default-elm-json): Likewise. * guix/build-system/emacs.scm (default-emacs): Likewise. * guix/build-system/glib-or-gtk.scm (default-glib): Likewise. * guix/build-system/go.scm (default-go, default-gccgo, make-go-std): Likewise. * guix/build-system/haskell.scm (default-haskell): Likewise. * guix/build-system/julia.scm (default-julia): Likewise. * guix/build-system/linux-module.scm (default-linux): Likewise. * guix/build-system/luanti.scm (default-optipng, default-luanti, default-luanti-game, default-xvfb-run): Likewise. Remove otherwise unused individual plugin accessor functions. * guix/build-system/maven.scm (default-maven, default-jdk, default-maven-plugins): Likewise. Remove otherwise unused individual plugin accessor functions. * guix/build-system/meson.scm (default-ninja, default-meson): Likewise. * guix/build-system/minify.scm (default-esbuild): Use @* instead of resolve-interface and module-ref. * guix/build-system/mix.scm (default-elixir-hex, default-rebar3, default-elixir): Likewise. * guix/build-system/node.scm (default-node): Likewise. * guix/build-system/ocaml.scm (default-ocaml, default-findlib, default-dune-build-system, default-ocaml4.07, default-ocaml4.07-findlib ,default-ocaml4.07-dune, default-ocaml4.09, default-ocaml4.09-findlib, default-ocaml4.09-dune, default-ocaml5.0, default-ocaml5.0-findlib, default-ocaml5.0-dune): Likewise. * guix/build-system/perl.scm (default-perl): Likewise. * guix/build-system/pyproject.scm (default-python): Likewise. * guix/build-system/qt.scm (default-qtbase): Likewise. * guix/build-system/r.scm (default-r): Likewise. * guix/build-system/rakudo.scm (default-rakudo, default-prove6, default-zef): Likewise. * guix/build-system/rebar.scm (default-rebar3, default-erlang): Likewise. * guix/build-system/renpy.scm (default-renpy): Likewise. * guix/build-system/ruby.scm (default-ruby): Likewise. * guix/build-system/scons.scm (default-scons): Likewise. * guix/build-system/texlive.scm (default-texlive-bin, texlive-latex-bin): Likewise. * guix/build-system/tree-sitter.scm (default-guile-json, default-node, default-tree-sitter, default-tree-sitter-cli): Likewise. * guix/build-system/vim.scm (default-vim, default-neovim): Likewise. * guix/build-system/zig.scm (default-zig): Likewise. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
97f6cc4389
commit
4a33614dd9
35 changed files with 134 additions and 298 deletions
|
@ -20,7 +20,9 @@
|
||||||
#:use-module (guix records)
|
#:use-module (guix records)
|
||||||
#:use-module (srfi srfi-1)
|
#:use-module (srfi srfi-1)
|
||||||
#:use-module (ice-9 match)
|
#:use-module (ice-9 match)
|
||||||
#:export (build-system
|
#:export (@*
|
||||||
|
|
||||||
|
build-system
|
||||||
build-system?
|
build-system?
|
||||||
build-system-name
|
build-system-name
|
||||||
build-system-description
|
build-system-description
|
||||||
|
@ -42,6 +44,10 @@
|
||||||
|
|
||||||
build-system-with-c-toolchain))
|
build-system-with-c-toolchain))
|
||||||
|
|
||||||
|
(define-syntax-rule (@* module name)
|
||||||
|
"Like (@ MODULE NAME), but resolves at run time."
|
||||||
|
(module-ref (resolve-interface 'module) 'name))
|
||||||
|
|
||||||
(define-record-type* <build-system> build-system make-build-system
|
(define-record-type* <build-system> build-system make-build-system
|
||||||
build-system?
|
build-system?
|
||||||
(name build-system-name) ; symbol
|
(name build-system-name) ; symbol
|
||||||
|
|
|
@ -33,8 +33,7 @@
|
||||||
|
|
||||||
(define (default-agda)
|
(define (default-agda)
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
;; Lazily resolve the binding to avoid a circular dependency.
|
||||||
(let ((agda (resolve-interface '(gnu packages agda))))
|
(@* (gnu packages agda) agda))
|
||||||
(module-ref agda 'agda)))
|
|
||||||
|
|
||||||
(define %agda-build-system-modules
|
(define %agda-build-system-modules
|
||||||
`((guix build agda-build-system)
|
`((guix build agda-build-system)
|
||||||
|
|
|
@ -35,15 +35,12 @@
|
||||||
`((guix build android-ndk-build-system)
|
`((guix build android-ndk-build-system)
|
||||||
,@%default-gnu-imported-modules))
|
,@%default-gnu-imported-modules))
|
||||||
|
|
||||||
|
;; Lazily resolve bindings to avoid circular dependencies.
|
||||||
(define (default-android-build)
|
(define (default-android-build)
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
(@* (gnu packages android) android-make-stub))
|
||||||
(let ((android (resolve-interface '(gnu packages android))))
|
|
||||||
(module-ref android 'android-make-stub)))
|
|
||||||
|
|
||||||
(define (default-android-googletest)
|
(define (default-android-googletest)
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
(@* (gnu packages android) android-googletest))
|
||||||
(let ((android (resolve-interface '(gnu packages android))))
|
|
||||||
(module-ref android 'android-googletest)))
|
|
||||||
|
|
||||||
(define* (android-ndk-build name inputs
|
(define* (android-ndk-build name inputs
|
||||||
#:key
|
#:key
|
||||||
|
|
|
@ -45,23 +45,18 @@
|
||||||
(guix build java-utils)
|
(guix build java-utils)
|
||||||
,@%default-gnu-imported-modules))
|
,@%default-gnu-imported-modules))
|
||||||
|
|
||||||
|
;; Lazily resolve bindings to avoid a circular dependencies.
|
||||||
(define (default-jdk)
|
(define (default-jdk)
|
||||||
"Return the default JDK package."
|
"Return the default JDK package, resolved lazily."
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
(@* (gnu packages java) icedtea))
|
||||||
(let ((jdk-mod (resolve-interface '(gnu packages java))))
|
|
||||||
(module-ref jdk-mod 'icedtea)))
|
|
||||||
|
|
||||||
(define (default-ant)
|
(define (default-ant)
|
||||||
"Return the default Ant package."
|
"Return the default Ant package, resolved lazily."
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
(@* (gnu packages java) ant))
|
||||||
(let ((jdk-mod (resolve-interface '(gnu packages java))))
|
|
||||||
(module-ref jdk-mod 'ant)))
|
|
||||||
|
|
||||||
(define (default-zip)
|
(define (default-zip)
|
||||||
"Return the default ZIP package."
|
"Return the default ZIP package, resolved lazily."
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
(@* (gnu packages compression) zip))
|
||||||
(let ((zip-mod (resolve-interface '(gnu packages compression))))
|
|
||||||
(module-ref zip-mod 'zip)))
|
|
||||||
|
|
||||||
(define* (lower name
|
(define* (lower name
|
||||||
#:key source inputs native-inputs outputs system target
|
#:key source inputs native-inputs outputs system target
|
||||||
|
|
|
@ -108,10 +108,8 @@ unavailable."
|
||||||
'()))))
|
'()))))
|
||||||
|
|
||||||
(define (default-rust target)
|
(define (default-rust target)
|
||||||
"Return the default Rust package."
|
"Return the default Rust package, resolved lazily."
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
(@* (gnu packages rust) rust))
|
||||||
(let ((rust (resolve-interface '(gnu packages rust))))
|
|
||||||
(module-ref rust 'rust)))
|
|
||||||
|
|
||||||
(define (default-rust-sysroot target)
|
(define (default-rust-sysroot target)
|
||||||
"Return the default Rust sysroot for <target>."
|
"Return the default Rust sysroot for <target>."
|
||||||
|
|
|
@ -46,9 +46,7 @@ EXTENSION is the file name extension, such as '.tar.gz'."
|
||||||
|
|
||||||
(define (default-chicken)
|
(define (default-chicken)
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
;; Lazily resolve the binding to avoid a circular dependency.
|
||||||
;; TODO is this actually needed in every build system?
|
(@* (gnu packages chicken) chicken))
|
||||||
(let ((chicken (resolve-interface '(gnu packages chicken))))
|
|
||||||
(module-ref chicken 'chicken)))
|
|
||||||
|
|
||||||
(define* (lower name
|
(define* (lower name
|
||||||
#:key source inputs native-inputs outputs system target
|
#:key source inputs native-inputs outputs system target
|
||||||
|
|
|
@ -40,23 +40,18 @@
|
||||||
;;
|
;;
|
||||||
;; Code:
|
;; Code:
|
||||||
|
|
||||||
|
;; Lazily resolve bindings to avoid circular dependencies.
|
||||||
(define (default-php)
|
(define (default-php)
|
||||||
"Return the default PHP package."
|
"Return the default PHP package, resolved lazily."
|
||||||
|
(@* (gnu packages php) php))
|
||||||
;; Do not use `@' to avoid introducing circular dependencies.
|
|
||||||
(let ((module (resolve-interface '(gnu packages php))))
|
|
||||||
(module-ref module 'php)))
|
|
||||||
|
|
||||||
(define (default-findclass)
|
(define (default-findclass)
|
||||||
"Return the default findclass script."
|
"Return the default findclass script."
|
||||||
(search-auxiliary-file "findclass.php"))
|
(search-auxiliary-file "findclass.php"))
|
||||||
|
|
||||||
(define (default-composer-classloader)
|
(define (default-composer-classloader)
|
||||||
"Return the default composer-classloader package."
|
"Return the default composer-classloader package, resolved lazily."
|
||||||
|
(@* (gnu packages php-xyz) composer-classloader))
|
||||||
;; Do not use `@' to avoid introducing circular dependencies.
|
|
||||||
(let ((module (resolve-interface '(gnu packages php-xyz))))
|
|
||||||
(module-ref module 'composer-classloader)))
|
|
||||||
|
|
||||||
(define %composer-build-system-modules
|
(define %composer-build-system-modules
|
||||||
;; Build-side modules imported by default.
|
;; Build-side modules imported by default.
|
||||||
|
|
|
@ -31,30 +31,20 @@
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
#:export (dub-build-system))
|
#:export (dub-build-system))
|
||||||
|
|
||||||
|
;; Lazily resolve bindings to avoid a circular dependencies.
|
||||||
(define (default-ldc)
|
(define (default-ldc)
|
||||||
"Return the default ldc package."
|
(@* (gnu packages dlang) ldc))
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
|
||||||
(let ((ldc (resolve-interface '(gnu packages dlang))))
|
|
||||||
(module-ref ldc 'ldc)))
|
|
||||||
|
|
||||||
(define (default-dub)
|
(define (default-dub)
|
||||||
"Return the default dub package."
|
(@* (gnu packages dlang) dub))
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
|
||||||
(let ((ldc (resolve-interface '(gnu packages dlang))))
|
|
||||||
(module-ref ldc 'dub)))
|
|
||||||
|
|
||||||
(define (default-pkg-config)
|
(define (default-pkg-config)
|
||||||
"Return the default pkg-config package."
|
(@* (gnu packages pkg-config) pkg-config))
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
|
||||||
(let ((pkg-config (resolve-interface '(gnu packages pkg-config))))
|
|
||||||
(module-ref pkg-config 'pkg-config)))
|
|
||||||
|
|
||||||
(define (default-ld-gold-wrapper)
|
(define (default-ld-gold-wrapper)
|
||||||
"Return the default ld-gold-wrapper package."
|
|
||||||
;; LDC doesn't work with Guix's default (BFD) linker.
|
;; LDC doesn't work with Guix's default (BFD) linker.
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
;; Lazily resolve the binding to avoid a circular dependency.
|
||||||
(let ((commencement (resolve-interface '(gnu packages commencement))))
|
(@* (gnu packages commencement) ld-gold-wrapper))
|
||||||
(module-ref commencement 'ld-gold-wrapper)))
|
|
||||||
|
|
||||||
(define %dub-build-system-modules
|
(define %dub-build-system-modules
|
||||||
;; Build-side modules imported by default.
|
;; Build-side modules imported by default.
|
||||||
|
|
|
@ -97,23 +97,15 @@ given VERSION with sha256 checksum HASH."
|
||||||
(guix build json)
|
(guix build json)
|
||||||
(guix build union)))
|
(guix build union)))
|
||||||
|
|
||||||
|
;; Lazily resolve bindings to avoid circular dependencies.
|
||||||
(define (default-elm)
|
(define (default-elm)
|
||||||
"Return the default Elm package for builds."
|
(@* (gnu packages elm) elm-sans-reactor))
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
|
||||||
(let ((elm (resolve-interface '(gnu packages elm))))
|
|
||||||
(module-ref elm 'elm-sans-reactor)))
|
|
||||||
|
|
||||||
(define (default-elm-core)
|
(define (default-elm-core)
|
||||||
"Return the default elm-core package."
|
(@* (gnu packages elm) elm-core))
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
|
||||||
(let ((elm (resolve-interface '(gnu packages elm))))
|
|
||||||
(module-ref elm 'elm-core)))
|
|
||||||
|
|
||||||
(define (default-elm-json)
|
(define (default-elm-json)
|
||||||
"Return the default elm-json package."
|
(@* (gnu packages elm) elm-json))
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
|
||||||
(let ((elm (resolve-interface '(gnu packages elm))))
|
|
||||||
(module-ref elm 'elm-json)))
|
|
||||||
|
|
||||||
(define* (lower name
|
(define* (lower name
|
||||||
#:key source inputs native-inputs outputs system target
|
#:key source inputs native-inputs outputs system target
|
||||||
|
|
|
@ -49,10 +49,8 @@
|
||||||
,@%default-gnu-imported-modules))
|
,@%default-gnu-imported-modules))
|
||||||
|
|
||||||
(define (default-emacs)
|
(define (default-emacs)
|
||||||
"Return the default Emacs package."
|
"Return the default Emacs package, resolved lazily."
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
(@* (gnu packages emacs) emacs-minimal))
|
||||||
(let ((emacs-mod (resolve-interface '(gnu packages emacs))))
|
|
||||||
(module-ref emacs-mod 'emacs-minimal)))
|
|
||||||
|
|
||||||
(define* (lower name
|
(define* (lower name
|
||||||
#:key source inputs native-inputs outputs system target
|
#:key source inputs native-inputs outputs system target
|
||||||
|
|
|
@ -77,10 +77,8 @@
|
||||||
|
|
||||||
(define (default-glib)
|
(define (default-glib)
|
||||||
"Return the default glib package from which we use
|
"Return the default glib package from which we use
|
||||||
\"glib-compile-schemas\"."
|
\"glib-compile-schemas\", resolved lazily."
|
||||||
;; Do not use `@' to avoid introducing circular dependencies.
|
(@* (gnu packages glib) glib))
|
||||||
(let ((module (resolve-interface '(gnu packages glib))))
|
|
||||||
(module-ref module 'glib)))
|
|
||||||
|
|
||||||
(define* (lower name
|
(define* (lower name
|
||||||
#:key source inputs native-inputs outputs system target
|
#:key source inputs native-inputs outputs system target
|
||||||
|
|
|
@ -130,17 +130,13 @@ commit hash and its date rather than a proper release tag."
|
||||||
,@%default-gnu-imported-modules))
|
,@%default-gnu-imported-modules))
|
||||||
|
|
||||||
(define (default-go)
|
(define (default-go)
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
(@* (gnu packages golang) go))
|
||||||
(let ((go (resolve-interface '(gnu packages golang))))
|
|
||||||
(module-ref go 'go)))
|
|
||||||
|
|
||||||
(define (default-gccgo)
|
(define (default-gccgo)
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
(@* (gnu packages gcc) gccgo-12))
|
||||||
(let ((gcc (resolve-interface '(gnu packages gcc))))
|
|
||||||
(module-ref gcc 'gccgo-12)))
|
|
||||||
|
|
||||||
(define (make-go-std)
|
(define (make-go-std)
|
||||||
(module-ref (resolve-interface '(gnu packages golang)) 'make-go-std))
|
(@* (gnu packages golang) make-go-std))
|
||||||
|
|
||||||
(define* (lower name
|
(define* (lower name
|
||||||
#:key source inputs native-inputs outputs system target
|
#:key source inputs native-inputs outputs system target
|
||||||
|
|
|
@ -58,10 +58,8 @@ to NAME and VERSION."
|
||||||
,@%default-gnu-imported-modules))
|
,@%default-gnu-imported-modules))
|
||||||
|
|
||||||
(define (default-haskell)
|
(define (default-haskell)
|
||||||
"Return the default Haskell package."
|
"Return the default Haskell package, resolved lazily."
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
(@* (gnu packages haskell) ghc))
|
||||||
(let ((haskell (resolve-interface '(gnu packages haskell))))
|
|
||||||
(module-ref haskell 'ghc)))
|
|
||||||
|
|
||||||
(define (source-url->revision-url url revision)
|
(define (source-url->revision-url url revision)
|
||||||
"Convert URL (a Hackage source URL) to the URL for the Cabal file at
|
"Convert URL (a Hackage source URL) to the URL for the Cabal file at
|
||||||
|
|
|
@ -45,10 +45,8 @@
|
||||||
,@%default-gnu-imported-modules))
|
,@%default-gnu-imported-modules))
|
||||||
|
|
||||||
(define (default-julia)
|
(define (default-julia)
|
||||||
"Return the default Julia package."
|
"Return the default Julia package, resolved lazily."
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
(@* (gnu packages julia) julia))
|
||||||
(let ((julia-mod (resolve-interface '(gnu packages julia))))
|
|
||||||
(module-ref julia-mod 'julia)))
|
|
||||||
|
|
||||||
(define* (lower name
|
(define* (lower name
|
||||||
#:key source inputs native-inputs outputs system target
|
#:key source inputs native-inputs outputs system target
|
||||||
|
|
|
@ -45,11 +45,8 @@
|
||||||
,@%default-gnu-imported-modules))
|
,@%default-gnu-imported-modules))
|
||||||
|
|
||||||
(define (default-linux)
|
(define (default-linux)
|
||||||
"Return the default Linux package."
|
"Return the default Linux package, resolved lazily."
|
||||||
|
(@* (gnu packages linux) linux-libre))
|
||||||
;; Do not use `@' to avoid introducing circular dependencies.
|
|
||||||
(let ((module (resolve-interface '(gnu packages linux))))
|
|
||||||
(module-ref module 'linux-libre)))
|
|
||||||
|
|
||||||
(define (system->arch system)
|
(define (system->arch system)
|
||||||
(platform-linux-architecture (lookup-platform-by-target-or-system system)))
|
(platform-linux-architecture (lookup-platform-by-target-or-system system)))
|
||||||
|
|
|
@ -30,20 +30,6 @@
|
||||||
;;
|
;;
|
||||||
;; Code:
|
;; Code:
|
||||||
|
|
||||||
;; Lazily resolve the bindings to avoid circular dependencies.
|
|
||||||
(define (default-optipng)
|
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
|
||||||
(module-ref (resolve-interface '(gnu packages image)) 'optipng))
|
|
||||||
|
|
||||||
(define (default-luanti)
|
|
||||||
(module-ref (resolve-interface '(gnu packages luanti)) 'luanti))
|
|
||||||
|
|
||||||
(define (default-luanti-game)
|
|
||||||
(module-ref (resolve-interface '(gnu packages luanti)) 'minetest-game))
|
|
||||||
|
|
||||||
(define (default-xvfb-run)
|
|
||||||
(module-ref (resolve-interface '(gnu packages xorg)) 'xvfb-run))
|
|
||||||
|
|
||||||
(define %luanti-build-system-modules
|
(define %luanti-build-system-modules
|
||||||
;; Build-side modules imported by default.
|
;; Build-side modules imported by default.
|
||||||
`((guix build luanti-build-system)
|
`((guix build luanti-build-system)
|
||||||
|
@ -57,11 +43,12 @@
|
||||||
|
|
||||||
(define (standard-luanti-packages)
|
(define (standard-luanti-packages)
|
||||||
"Return the list of (NAME PACKAGE OUTPUT) or (NAME PACKAGE) tuples of
|
"Return the list of (NAME PACKAGE OUTPUT) or (NAME PACKAGE) tuples of
|
||||||
standard packages used as implicit inputs of the Luanti build system."
|
standard packages used as implicit inputs of the Luanti build system,
|
||||||
`(("xvfb-run" ,(default-xvfb-run))
|
resolved lazily."
|
||||||
("optipng" ,(default-optipng))
|
`(("xvfb-run" ,(@* (gnu packages xorg) xvfb-run))
|
||||||
("luanti" ,(default-luanti))
|
("optipng" ,(@* (gnu packages image) optipng))
|
||||||
("luanti-game" ,(default-luanti-game))
|
("luanti" ,(@* (gnu packages luanti) luanti))
|
||||||
|
("luanti-game" ,(@* (gnu packages luanti) minetest-game))
|
||||||
,@(filter (lambda (input)
|
,@(filter (lambda (input)
|
||||||
(member (car input)
|
(member (car input)
|
||||||
'("libc" "tar" "gzip" "bzip2" "xz" "locales")))
|
'("libc" "tar" "gzip" "bzip2" "xz" "locales")))
|
||||||
|
|
|
@ -49,61 +49,22 @@
|
||||||
,@%default-gnu-imported-modules))
|
,@%default-gnu-imported-modules))
|
||||||
|
|
||||||
(define (default-maven)
|
(define (default-maven)
|
||||||
"Return the default maven package."
|
"Return the default maven package, resolved lazily."
|
||||||
|
(@* (gnu packages maven) maven))
|
||||||
;; Do not use `@' to avoid introducing circular dependencies.
|
|
||||||
(let ((module (resolve-interface '(gnu packages maven))))
|
|
||||||
(module-ref module 'maven)))
|
|
||||||
|
|
||||||
(define (default-maven-compiler-plugin)
|
|
||||||
"Return the default maven compiler plugin package."
|
|
||||||
;; Do not use `@' to avoid introducing circular dependencies.
|
|
||||||
(let ((module (resolve-interface '(gnu packages maven))))
|
|
||||||
(module-ref module 'maven-compiler-plugin)))
|
|
||||||
|
|
||||||
(define (default-maven-jar-plugin)
|
|
||||||
"Return the default maven jar plugin package."
|
|
||||||
;; Do not use `@' to avoid introducing circular dependencies.
|
|
||||||
(let ((module (resolve-interface '(gnu packages maven))))
|
|
||||||
(module-ref module 'maven-jar-plugin)))
|
|
||||||
|
|
||||||
(define (default-maven-resources-plugin)
|
|
||||||
"Return the default maven resources plugin package."
|
|
||||||
;; Do not use `@' to avoid introducing circular dependencies.
|
|
||||||
(let ((module (resolve-interface '(gnu packages maven))))
|
|
||||||
(module-ref module 'maven-resources-plugin)))
|
|
||||||
|
|
||||||
(define (default-maven-surefire-plugin)
|
|
||||||
"Return the default maven surefire plugin package."
|
|
||||||
;; Do not use `@' to avoid introducing circular dependencies.
|
|
||||||
(let ((module (resolve-interface '(gnu packages maven))))
|
|
||||||
(module-ref module 'maven-surefire-plugin)))
|
|
||||||
|
|
||||||
(define (default-java-surefire-junit4)
|
|
||||||
"Return the default surefire junit4 provider package."
|
|
||||||
;; Do not use `@' to avoid introducing circular dependencies.
|
|
||||||
(let ((module (resolve-interface '(gnu packages maven))))
|
|
||||||
(module-ref module 'java-surefire-junit4)))
|
|
||||||
|
|
||||||
(define (default-maven-install-plugin)
|
|
||||||
"Return the default maven install plugin package."
|
|
||||||
;; Do not use `@' to avoid introducing circular dependencies.
|
|
||||||
(let ((module (resolve-interface '(gnu packages maven))))
|
|
||||||
(module-ref module 'maven-install-plugin)))
|
|
||||||
|
|
||||||
(define (default-jdk)
|
(define (default-jdk)
|
||||||
"Return the default JDK package."
|
"Return the default JDK package, resolved lazily."
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
(@* (gnu packages java) icedtea))
|
||||||
(let ((jdk-mod (resolve-interface '(gnu packages java))))
|
|
||||||
(module-ref jdk-mod 'icedtea)))
|
|
||||||
|
|
||||||
(define (default-maven-plugins)
|
(define (default-maven-plugins)
|
||||||
`(("maven-compiler-plugin" ,(default-maven-compiler-plugin))
|
"Return the default maven plugins, resolved lazily."
|
||||||
("maven-jar-plugin" ,(default-maven-jar-plugin))
|
`(("maven-compiler-plugin" ,(@* (gnu packages maven) maven-compiler-plugin))
|
||||||
("maven-resources-plugin" ,(default-maven-resources-plugin))
|
("maven-jar-plugin" ,(@* (gnu packages maven) maven-jar-plugin))
|
||||||
("maven-surefire-plugin" ,(default-maven-surefire-plugin))
|
("maven-surefire-plugin" ,(@* (gnu packages maven) maven-surefire-plugin))
|
||||||
("java-surefire-junit4" ,(default-java-surefire-junit4))
|
("java-surefire-junit4" ,(@* (gnu packages maven) java-surefire-junit4))
|
||||||
("maven-install-plugin" ,(default-maven-install-plugin))))
|
("maven-install-plugin" ,(@* (gnu packages maven) maven-install-plugin))
|
||||||
|
("maven-resources-plugin"
|
||||||
|
,(@* (gnu packages maven) maven-resources-plugin))))
|
||||||
|
|
||||||
(define %default-exclude
|
(define %default-exclude
|
||||||
`(("org.apache.maven.plugins" .
|
`(("org.apache.maven.plugins" .
|
||||||
|
|
|
@ -134,16 +134,12 @@ TRIPLET."
|
||||||
,@%glib-or-gtk-build-system-modules))
|
,@%glib-or-gtk-build-system-modules))
|
||||||
|
|
||||||
(define (default-ninja)
|
(define (default-ninja)
|
||||||
"Return the default ninja package."
|
"Return the default ninja package, resolved lazily."
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
(@* (gnu packages ninja) ninja/pinned))
|
||||||
(let ((module (resolve-interface '(gnu packages ninja))))
|
|
||||||
(module-ref module 'ninja/pinned)))
|
|
||||||
|
|
||||||
(define (default-meson)
|
(define (default-meson)
|
||||||
"Return the default meson package."
|
"Return the default meson package, resolved lazily."
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
(@* (gnu packages build-tools) meson))
|
||||||
(let ((module (resolve-interface '(gnu packages build-tools))))
|
|
||||||
(module-ref module 'meson)))
|
|
||||||
|
|
||||||
(define* (lower name
|
(define* (lower name
|
||||||
#:key source inputs native-inputs outputs system target
|
#:key source inputs native-inputs outputs system target
|
||||||
|
|
|
@ -43,9 +43,7 @@
|
||||||
|
|
||||||
(define (default-esbuild)
|
(define (default-esbuild)
|
||||||
"Return the default package to minify JavaScript source files."
|
"Return the default package to minify JavaScript source files."
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
(@* (gnu packages web) esbuild))
|
||||||
(let ((mod (resolve-interface '(gnu packages web))))
|
|
||||||
(module-ref mod 'esbuild)))
|
|
||||||
|
|
||||||
(define* (lower name
|
(define* (lower name
|
||||||
#:key source inputs native-inputs outputs system
|
#:key source inputs native-inputs outputs system
|
||||||
|
@ -54,7 +52,7 @@
|
||||||
#:rest arguments)
|
#:rest arguments)
|
||||||
"Return a bag for NAME."
|
"Return a bag for NAME."
|
||||||
(define private-keywords
|
(define private-keywords
|
||||||
'(#:target #:inputs #:native-inputs))
|
'(#:target #:inputs #:native-inputs #:esbuild))
|
||||||
|
|
||||||
(bag
|
(bag
|
||||||
(name name)
|
(name name)
|
||||||
|
|
|
@ -39,16 +39,13 @@
|
||||||
#:export (mix-build-system hexpm-uri))
|
#:export (mix-build-system hexpm-uri))
|
||||||
|
|
||||||
(define (default-elixir-hex)
|
(define (default-elixir-hex)
|
||||||
(let ((elixir (resolve-interface '(gnu packages elixir))))
|
(@* (gnu packages elixir) elixir-hex))
|
||||||
(module-ref elixir 'elixir-hex)))
|
|
||||||
|
|
||||||
(define (default-rebar3)
|
(define (default-rebar3)
|
||||||
(let ((erlang (resolve-interface '(gnu packages erlang))))
|
(@* (gnu packages erlang) rebar3))
|
||||||
(module-ref erlang 'rebar3)))
|
|
||||||
|
|
||||||
(define (default-elixir)
|
(define (default-elixir)
|
||||||
(let ((elixir (resolve-interface '(gnu packages elixir))))
|
(@* (gnu packages elixir) elixir))
|
||||||
(module-ref elixir 'elixir)))
|
|
||||||
|
|
||||||
(define* (strip-prefix name #:optional (prefix "elixir-"))
|
(define* (strip-prefix name #:optional (prefix "elixir-"))
|
||||||
"Return NAME without the prefix PREFIX."
|
"Return NAME without the prefix PREFIX."
|
||||||
|
|
|
@ -44,10 +44,8 @@
|
||||||
,@%default-gnu-imported-modules))
|
,@%default-gnu-imported-modules))
|
||||||
|
|
||||||
(define (default-node)
|
(define (default-node)
|
||||||
"Return the default Node package."
|
"Return the default Node package, resolved lazily."
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
(@* (gnu packages node) node-lts))
|
||||||
(let ((node (resolve-interface '(gnu packages node))))
|
|
||||||
(module-ref node 'node-lts)))
|
|
||||||
|
|
||||||
(define* (lower name
|
(define* (lower name
|
||||||
#:key source inputs native-inputs outputs system target
|
#:key source inputs native-inputs outputs system target
|
||||||
|
|
|
@ -68,61 +68,43 @@
|
||||||
,@%default-gnu-imported-modules))
|
,@%default-gnu-imported-modules))
|
||||||
|
|
||||||
(define (default-ocaml)
|
(define (default-ocaml)
|
||||||
"Return the default OCaml package."
|
"Return the default OCaml package, resolved lazily."
|
||||||
|
(@* (gnu packages ocaml) ocaml))
|
||||||
;; Do not use `@' to avoid introducing circular dependencies.
|
|
||||||
(let ((module (resolve-interface '(gnu packages ocaml))))
|
|
||||||
(module-ref module 'ocaml)))
|
|
||||||
|
|
||||||
(define (default-findlib)
|
(define (default-findlib)
|
||||||
"Return the default OCaml-findlib package."
|
"Return the default OCaml-findlib package, resolved lazily."
|
||||||
|
(@* (gnu packages ocaml) ocaml-findlib))
|
||||||
;; Do not use `@' to avoid introducing circular dependencies.
|
|
||||||
(let ((module (resolve-interface '(gnu packages ocaml))))
|
|
||||||
(module-ref module 'ocaml-findlib)))
|
|
||||||
|
|
||||||
(define (default-dune-build-system)
|
(define (default-dune-build-system)
|
||||||
"Return the dune-build-system."
|
"Return the dune-build-system, resolved lazily."
|
||||||
|
(@* (guix build-system dune) dune-build-system))
|
||||||
;; Do not use `@' to avoid introducing circular dependencies.
|
|
||||||
(let ((module (resolve-interface '(guix build-system dune))))
|
|
||||||
(module-ref module 'dune-build-system)))
|
|
||||||
|
|
||||||
(define (default-ocaml4.07)
|
(define (default-ocaml4.07)
|
||||||
(let ((ocaml (resolve-interface '(gnu packages ocaml))))
|
(@* (gnu packages ocaml) ocaml-4.07))
|
||||||
(module-ref ocaml 'ocaml-4.07)))
|
|
||||||
|
|
||||||
(define (default-ocaml4.07-findlib)
|
(define (default-ocaml4.07-findlib)
|
||||||
(let ((module (resolve-interface '(gnu packages ocaml))))
|
(@* (gnu packages ocaml) ocaml4.07-findlib))
|
||||||
(module-ref module 'ocaml4.07-findlib)))
|
|
||||||
|
|
||||||
(define (default-ocaml4.07-dune)
|
(define (default-ocaml4.07-dune)
|
||||||
(let ((module (resolve-interface '(gnu packages ocaml))))
|
(@* (gnu packages ocaml) ocaml4.07-dune))
|
||||||
(module-ref module 'ocaml4.07-dune)))
|
|
||||||
|
|
||||||
(define (default-ocaml4.09)
|
(define (default-ocaml4.09)
|
||||||
(let ((ocaml (resolve-interface '(gnu packages ocaml))))
|
(@* (gnu packages ocaml) ocaml-4.09))
|
||||||
(module-ref ocaml 'ocaml-4.09)))
|
|
||||||
|
|
||||||
(define (default-ocaml4.09-findlib)
|
(define (default-ocaml4.09-findlib)
|
||||||
(let ((module (resolve-interface '(gnu packages ocaml))))
|
(@* (gnu packages ocaml) ocaml4.09-findlib))
|
||||||
(module-ref module 'ocaml4.09-findlib)))
|
|
||||||
|
|
||||||
(define (default-ocaml4.09-dune)
|
(define (default-ocaml4.09-dune)
|
||||||
(let ((module (resolve-interface '(gnu packages ocaml))))
|
(@* (gnu packages ocaml) ocaml4.09-dune))
|
||||||
(module-ref module 'ocaml4.09-dune)))
|
|
||||||
|
|
||||||
(define (default-ocaml5.0)
|
(define (default-ocaml5.0)
|
||||||
(let ((ocaml (resolve-interface '(gnu packages ocaml))))
|
(@* (gnu packages ocaml) ocaml-5.0))
|
||||||
(module-ref ocaml 'ocaml-5.0)))
|
|
||||||
|
|
||||||
(define (default-ocaml5.0-findlib)
|
(define (default-ocaml5.0-findlib)
|
||||||
(let ((module (resolve-interface '(gnu packages ocaml))))
|
(@* (gnu packages ocaml) ocaml5.0-findlib))
|
||||||
(module-ref module 'ocaml5.0-findlib)))
|
|
||||||
|
|
||||||
(define (default-ocaml5.0-dune)
|
(define (default-ocaml5.0-dune)
|
||||||
(let ((module (resolve-interface '(gnu packages ocaml))))
|
(@* (gnu packages ocaml) ocaml5.0-dune))
|
||||||
(module-ref module 'ocaml5.0-dune)))
|
|
||||||
|
|
||||||
(define* (package-with-explicit-ocaml ocaml findlib dune old-prefix new-prefix
|
(define* (package-with-explicit-ocaml ocaml findlib dune old-prefix new-prefix
|
||||||
#:key variant-property)
|
#:key variant-property)
|
||||||
|
|
|
@ -48,11 +48,8 @@
|
||||||
,@%default-gnu-imported-modules))
|
,@%default-gnu-imported-modules))
|
||||||
|
|
||||||
(define (default-perl)
|
(define (default-perl)
|
||||||
"Return the default Perl package."
|
"Return the default Perl package, resolved lazily."
|
||||||
|
(@* (gnu packages perl) perl))
|
||||||
;; Do not use `@' to avoid introducing circular dependencies.
|
|
||||||
(let ((module (resolve-interface '(gnu packages perl))))
|
|
||||||
(module-ref module 'perl)))
|
|
||||||
|
|
||||||
(define* (lower name
|
(define* (lower name
|
||||||
#:key source inputs native-inputs outputs
|
#:key source inputs native-inputs outputs
|
||||||
|
|
|
@ -51,15 +51,13 @@
|
||||||
,@%python-build-system-modules))
|
,@%python-build-system-modules))
|
||||||
|
|
||||||
(define (default-python)
|
(define (default-python)
|
||||||
"Return the default Python package."
|
"Return the default Python package, resolved lazily."
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
|
||||||
(let ((python (resolve-interface '(gnu packages python))))
|
|
||||||
;; We are using python-sans-pip-wrapper, because it does not contain
|
;; We are using python-sans-pip-wrapper, because it does not contain
|
||||||
;; setuptools. This allows us to skip the dependency on setuptools for
|
;; setuptools. This allows us to skip the dependency on setuptools for
|
||||||
;; packages which don’t need it. And it allows us to more easily swap
|
;; packages which don’t need it. And it allows us to more easily swap
|
||||||
;; out setuptools if a different version is required.
|
;; out setuptools if a different version is required.
|
||||||
;; Using python-toolchain here might cause dependency cycles.
|
;; Using python-toolchain here might cause dependency cycles.
|
||||||
(module-ref python 'python-sans-pip-wrapper)))
|
(@* (gnu packages python) python-sans-pip-wrapper))
|
||||||
|
|
||||||
;; TODO: On the next iteration of python-team, migrate the sanity-check to
|
;; TODO: On the next iteration of python-team, migrate the sanity-check to
|
||||||
;; importlib_metadata instead of setuptools.
|
;; importlib_metadata instead of setuptools.
|
||||||
|
|
|
@ -62,11 +62,8 @@
|
||||||
,@%cmake-build-system-modules))
|
,@%cmake-build-system-modules))
|
||||||
|
|
||||||
(define (default-qtbase)
|
(define (default-qtbase)
|
||||||
"Return the default qtbase package."
|
"Return the default qtbase package, resolved lazily."
|
||||||
|
(@* (gnu packages qt) qtbase-5))
|
||||||
;; Do not use `@' to avoid introducing circular dependencies.
|
|
||||||
(let ((module (resolve-interface '(gnu packages qt))))
|
|
||||||
(module-ref module 'qtbase-5)))
|
|
||||||
|
|
||||||
;; This barely is a copy from (guix build-system cmake), only adjusted to use
|
;; This barely is a copy from (guix build-system cmake), only adjusted to use
|
||||||
;; the variables defined here.
|
;; the variables defined here.
|
||||||
|
|
|
@ -71,10 +71,8 @@ release corresponding to NAME and VERSION."
|
||||||
,@%default-gnu-imported-modules))
|
,@%default-gnu-imported-modules))
|
||||||
|
|
||||||
(define (default-r)
|
(define (default-r)
|
||||||
"Return the default R package."
|
"Return the default R package, resolved lazily."
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
(@* (gnu packages statistics) r-minimal))
|
||||||
(let ((r-mod (resolve-interface '(gnu packages statistics))))
|
|
||||||
(module-ref r-mod 'r-minimal)))
|
|
||||||
|
|
||||||
(define* (lower name
|
(define* (lower name
|
||||||
#:key source inputs native-inputs outputs system target
|
#:key source inputs native-inputs outputs system target
|
||||||
|
|
|
@ -44,21 +44,16 @@
|
||||||
,@%default-gnu-imported-modules))
|
,@%default-gnu-imported-modules))
|
||||||
|
|
||||||
(define (default-rakudo)
|
(define (default-rakudo)
|
||||||
"Return the default Rakudo package."
|
"Return the default Rakudo package, resolved lazily."
|
||||||
|
(@* (gnu packages perl6) rakudo))
|
||||||
;; Do not use `@' to avoid introducing circular dependencies.
|
|
||||||
(let ((module (resolve-interface '(gnu packages perl6))))
|
|
||||||
(module-ref module 'rakudo)))
|
|
||||||
|
|
||||||
(define (default-prove6)
|
(define (default-prove6)
|
||||||
"Return the default perl6-tap-harness package for tests."
|
"Return the default perl6-tap-harness package for tests, resolved lazily."
|
||||||
(let ((module (resolve-interface '(gnu packages perl6))))
|
(@* (gnu packages perl6) perl6-tap-harness))
|
||||||
(module-ref module 'perl6-tap-harness)))
|
|
||||||
|
|
||||||
(define (default-zef)
|
(define (default-zef)
|
||||||
"Return the default perl6-zef package."
|
"Return the default perl6-zef package."
|
||||||
(let ((module (resolve-interface '(gnu packages perl6))))
|
(@* (gnu packages perl6) perl6-zef))
|
||||||
(module-ref module 'perl6-zef)))
|
|
||||||
|
|
||||||
(define* (lower name
|
(define* (lower name
|
||||||
#:key source inputs native-inputs outputs
|
#:key source inputs native-inputs outputs
|
||||||
|
|
|
@ -59,16 +59,12 @@ and VERSION."
|
||||||
,@%default-gnu-imported-modules))
|
,@%default-gnu-imported-modules))
|
||||||
|
|
||||||
(define (default-rebar3)
|
(define (default-rebar3)
|
||||||
"Return the default Rebar3 package."
|
"Return the default Rebar3 package, resolved lazily."
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
(@* (gnu packages erlang) rebar3))
|
||||||
(let ((erlang-mod (resolve-interface '(gnu packages erlang))))
|
|
||||||
(module-ref erlang-mod 'rebar3)))
|
|
||||||
|
|
||||||
(define (default-erlang)
|
(define (default-erlang)
|
||||||
"Return the default Erlang package."
|
"Return the default Erlang package, resolved lazily."
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
(@* (gnu packages erlang) erlang))
|
||||||
(let ((erlang-mod (resolve-interface '(gnu packages erlang))))
|
|
||||||
(module-ref erlang-mod 'erlang)))
|
|
||||||
|
|
||||||
(define* (lower name
|
(define* (lower name
|
||||||
#:key source inputs native-inputs outputs system target
|
#:key source inputs native-inputs outputs system target
|
||||||
|
|
|
@ -34,10 +34,8 @@
|
||||||
renpy-build-system))
|
renpy-build-system))
|
||||||
|
|
||||||
(define (default-renpy)
|
(define (default-renpy)
|
||||||
"Return the default Ren'py package."
|
"Return the default Ren'py package, resolved lazily."
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
(@* (gnu packages game-development) renpy))
|
||||||
(let ((module (resolve-interface '(gnu packages game-development))))
|
|
||||||
(module-ref module 'renpy)))
|
|
||||||
|
|
||||||
(define %renpy-build-system-modules
|
(define %renpy-build-system-modules
|
||||||
;; Build-side modules imported by default.
|
;; Build-side modules imported by default.
|
||||||
|
|
|
@ -43,10 +43,8 @@ NAME and VERSION."
|
||||||
,@%default-gnu-imported-modules))
|
,@%default-gnu-imported-modules))
|
||||||
|
|
||||||
(define (default-ruby)
|
(define (default-ruby)
|
||||||
"Return the default Ruby package."
|
"Return the default Ruby package, resolved lazily."
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
(@* (gnu packages ruby) ruby))
|
||||||
(let ((ruby (resolve-interface '(gnu packages ruby))))
|
|
||||||
(module-ref ruby 'ruby)))
|
|
||||||
|
|
||||||
(define* (lower name
|
(define* (lower name
|
||||||
#:key source inputs native-inputs outputs system target
|
#:key source inputs native-inputs outputs system target
|
||||||
|
|
|
@ -42,10 +42,8 @@
|
||||||
,@%default-gnu-imported-modules))
|
,@%default-gnu-imported-modules))
|
||||||
|
|
||||||
(define (default-scons)
|
(define (default-scons)
|
||||||
"Return the default SCons package."
|
"Return the default SCons package, resolved lazily."
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
(@* (gnu packages build-tools) scons))
|
||||||
(let ((build-tools (resolve-interface '(gnu packages build-tools))))
|
|
||||||
(module-ref build-tools 'scons)))
|
|
||||||
|
|
||||||
(define* (lower name
|
(define* (lower name
|
||||||
#:key source inputs native-inputs outputs system target
|
#:key source inputs native-inputs outputs system target
|
||||||
|
|
|
@ -54,16 +54,12 @@
|
||||||
,@%default-gnu-imported-modules))
|
,@%default-gnu-imported-modules))
|
||||||
|
|
||||||
(define (default-texlive-bin)
|
(define (default-texlive-bin)
|
||||||
"Return the default texlive-bin package."
|
"Return the default texlive-bin package, resolved lazily."
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
(@* (gnu packages tex) texlive-bin))
|
||||||
(let ((tex-mod (resolve-interface '(gnu packages tex))))
|
|
||||||
(module-ref tex-mod 'texlive-bin)))
|
|
||||||
|
|
||||||
(define (texlive-latex-bin)
|
(define (texlive-latex-bin)
|
||||||
"Return the default texlive-latex-bin package."
|
"Return the default texlive-latex-bin package, resolved lazily."
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
(@* (gnu packages tex) texlive-latex-bin))
|
||||||
(let ((tex-mod (resolve-interface '(gnu packages tex))))
|
|
||||||
(module-ref tex-mod 'texlive-latex-bin)))
|
|
||||||
|
|
||||||
(define* (lower name
|
(define* (lower name
|
||||||
#:key
|
#:key
|
||||||
|
|
|
@ -41,20 +41,16 @@
|
||||||
|
|
||||||
;; Lazily resolve the bindings to avoid circular dependencies.
|
;; Lazily resolve the bindings to avoid circular dependencies.
|
||||||
(define (default-guile-json)
|
(define (default-guile-json)
|
||||||
(let ((mod (resolve-interface '(gnu packages guile))))
|
(@* (gnu packages guile) guile-json-4))
|
||||||
(module-ref mod 'guile-json-4)))
|
|
||||||
|
|
||||||
(define (default-node)
|
(define (default-node)
|
||||||
(let ((mod (resolve-interface '(gnu packages node))))
|
(@* (gnu packages node) node-lts))
|
||||||
(module-ref mod 'node-lts)))
|
|
||||||
|
|
||||||
(define (default-tree-sitter)
|
(define (default-tree-sitter)
|
||||||
(let ((mod (resolve-interface '(gnu packages tree-sitter))))
|
(@* (gnu packages tree-sitter) tree-sitter))
|
||||||
(module-ref mod 'tree-sitter)))
|
|
||||||
|
|
||||||
(define (default-tree-sitter-cli)
|
(define (default-tree-sitter-cli)
|
||||||
(let ((mod (resolve-interface '(gnu packages tree-sitter))))
|
(@* (gnu packages tree-sitter) tree-sitter-cli))
|
||||||
(module-ref mod 'tree-sitter-cli)))
|
|
||||||
|
|
||||||
(define* (lower name
|
(define* (lower name
|
||||||
#:key source inputs native-inputs outputs system target
|
#:key source inputs native-inputs outputs system target
|
||||||
|
|
|
@ -45,15 +45,12 @@
|
||||||
,@%copy-build-system-modules))
|
,@%copy-build-system-modules))
|
||||||
|
|
||||||
(define (default-vim)
|
(define (default-vim)
|
||||||
"Return the default Vim package."
|
"Return the default Vim package, resolved lazily."
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
(@* (gnu packages vim) vim))
|
||||||
(let ((vim (resolve-interface '(gnu packages vim))))
|
|
||||||
(module-ref vim 'vim)))
|
|
||||||
|
|
||||||
(define (default-neovim)
|
(define (default-neovim)
|
||||||
"Return the default Neovim package."
|
"Return the default Neovim package, resolved lazily."
|
||||||
(let ((vim (resolve-interface '(gnu packages vim))))
|
(@* (gnu packages vim) neovim))
|
||||||
(module-ref vim 'neovim)))
|
|
||||||
|
|
||||||
(define* (lower name
|
(define* (lower name
|
||||||
#:key source
|
#:key source
|
||||||
|
|
|
@ -32,10 +32,8 @@
|
||||||
|
|
||||||
|
|
||||||
(define (default-zig)
|
(define (default-zig)
|
||||||
"Return the default zig package."
|
"Return the default zig package, resolved lazily."
|
||||||
;; Lazily resolve the binding to avoid a circular dependency.
|
(@* (gnu packages zig) zig))
|
||||||
(let ((zig (resolve-interface '(gnu packages zig))))
|
|
||||||
(module-ref zig 'zig)))
|
|
||||||
|
|
||||||
(define %zig-build-system-modules
|
(define %zig-build-system-modules
|
||||||
;; Build-side modules imported by default.
|
;; Build-side modules imported by default.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue