[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#55030] [PATCH 05/30] build-system/elm: Add implicit Elm inputs.
From: |
Philip McGrath |
Subject: |
[bug#55030] [PATCH 05/30] build-system/elm: Add implicit Elm inputs. |
Date: |
Tue, 19 Apr 2022 19:31:49 -0400 |
* guix/build-system/elm.scm (default-elm-core): New variable.
(default-elm-json): Likewise
(lower): Use them as implicit inputs when applicable.
---
guix/build-system/elm.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/guix/build-system/elm.scm b/guix/build-system/elm.scm
index bf77df6519..046e6e0a1f 100644
--- a/guix/build-system/elm.scm
+++ b/guix/build-system/elm.scm
@@ -75,6 +75,18 @@ (define (default-elm)
(let ((elm (resolve-interface '(gnu packages elm))))
(module-ref elm 'elm)))
+(define (default-elm-core)
+ "Return the default elm-core package."
+ ;; 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)
+ "Return the default elm-json package."
+ ;; Lazily resolve the binding to avoid a circular dependency.
+ (let ((elm (resolve-interface '(gnu packages elm))))
+ (module-ref elm 'elm-json)))
+
(define* (lower name
#:key source inputs native-inputs outputs system target
(implicit-elm-package-inputs? #t)
@@ -99,6 +111,26 @@ (define private-keywords
'())
,@inputs
("elm" ,elm)
+ ,@(cond
+ (implicit-elm-package-inputs?
+ ;; These are needed for elm-build-system even if not actually
+ ;; needed by the package being built. But "elm/json" is often
+ ;; present in practice, and "elm/core" always is: only add the
+ ;; default packages if no suitable inputs have been given
explicitly.
+ (filter-map (match-lambda
+ ((name get-default)
+ (cond
+ ((find (match-lambda
+ ((_ pkg . _)
+ (equal? name (package-upstream-name
pkg))))
+ inputs)
+ #f)
+ (else
+ `(,name ,(get-default))))))
+ `(("elm/core" ,default-elm-core)
+ ("elm/json" ,default-elm-json))))
+ (else
+ '()))
;; TODO: probably don't need most of (standard-packages)
,@(standard-packages)))
(outputs outputs)
--
2.32.0
- [bug#55030] [PATCH 04/30] gnu: Add elm-core and elm-json., (continued)
- [bug#55030] [PATCH 04/30] gnu: Add elm-core and elm-json., Philip McGrath, 2022/04/19
- [bug#55030] [PATCH 09/30] gnu: Add elm-time., Philip McGrath, 2022/04/19
- [bug#55030] [PATCH 10/30] gnu: Add elm-url., Philip McGrath, 2022/04/19
- [bug#55030] [PATCH 02/30] gnu: elm: Rename package to match the command., Philip McGrath, 2022/04/19
- [bug#55030] [PATCH 03/30] guix: Add elm-build-system and 'guix import elm'., Philip McGrath, 2022/04/19
- [bug#55030] [PATCH 12/30] gnu: Add elm-bytes., Philip McGrath, 2022/04/19
- [bug#55030] [PATCH 14/30] gnu: Add elm-http., Philip McGrath, 2022/04/19
- [bug#55030] [PATCH 08/30] gnu: Add elm-svg., Philip McGrath, 2022/04/19
- [bug#55030] [PATCH 11/30] gnu: Add elm-browser., Philip McGrath, 2022/04/19
- [bug#55030] [PATCH 15/30] gnu: Add elm-parser., Philip McGrath, 2022/04/19
- [bug#55030] [PATCH 05/30] build-system/elm: Add implicit Elm inputs.,
Philip McGrath <=
- [bug#55030] [PATCH 06/30] gnu: Add elm-virtual-dom., Philip McGrath, 2022/04/19
- [bug#55030] [PATCH 07/30] gnu: Add elm-html., Philip McGrath, 2022/04/19
- [bug#55030] [PATCH 13/30] gnu: Add elm-file., Philip McGrath, 2022/04/19
- [bug#55030] [PATCH 26/30] gnu: Add elm-justinmimbs-time-extra., Philip McGrath, 2022/04/19
- [bug#55030] [PATCH 25/30] gnu: Add elm-justinmimbs-date., Philip McGrath, 2022/04/19
- [bug#55030] [PATCH 20/30] gnu: Add elm-debois-elm-dom., Philip McGrath, 2022/04/19
- [bug#55030] [PATCH 24/30] gnu: Add elm-danhandrea-elm-time-extra., Philip McGrath, 2022/04/19
- [bug#55030] [PATCH 19/30] gnu: Add elm-todomvc., Philip McGrath, 2022/04/19
- [bug#55030] [PATCH 17/30] gnu: Add elm-explorations-markdown., Philip McGrath, 2022/04/19
- [bug#55030] [PATCH 22/30] gnu: Add elm-explorations-test., Philip McGrath, 2022/04/19