summary refs log tree commit diff
path: root/gnu/packages/elm.scm
diff options
context:
space:
mode:
authorPhilip McGrath <philip@philipmcgrath.com>2022-05-18 14:10:51 -0400
committerLudovic Courtès <ludo@gnu.org>2022-05-22 01:07:51 +0200
commitd16b2a1421716225c97a21442d3005d14ed87239 (patch)
treeb8c00a58dec284056e30a4a2133f68eac902a980 /gnu/packages/elm.scm
parentaefcfdd0ae2aa41adb3d1106752b6a291ef1d80f (diff)
downloadguix-d16b2a1421716225c97a21442d3005d14ed87239.tar.gz
gnu: Add elm-core and elm-json.
Both of these packages are needed for 'elm-build-system' to work.

* gnu/packages/elm.scm (elm-core, elm-json, elm-json-bootstrap): New
variables.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/elm.scm')
-rw-r--r--gnu/packages/elm.scm55
1 files changed, 55 insertions, 0 deletions
diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm
index 35bdcc65f5..4ad3a000cb 100644
--- a/gnu/packages/elm.scm
+++ b/gnu/packages/elm.scm
@@ -103,3 +103,58 @@ such as @command{elm make} and @command{elm repl}.")
 ;; The 'elm' package used to be called 'elm-compiler'.
 (define-public elm-compiler
   (deprecated-package "elm-compiler" elm))
+
+(define-public elm-core
+  (package
+    (name "elm-core")
+    (version "1.0.5")
+    (source
+     (elm-package-origin
+      "elm/core"
+      version
+      (base32 "0g3xbi8f9k5q45s95nx3jfvzwdf4b2n63a52wr4027d2xjx0pmvl")))
+    (build-system elm-build-system)
+    (inputs (list elm-json-bootstrap))
+    (arguments
+     (list #:implicit-elm-package-inputs? #f))
+    (home-page "https://package.elm-lang.org/packages/elm/core/1.0.5")
+    (synopsis "Elm's standard libraries")
+    (description "Every Elm project needs this package!")
+    (license license:bsd-3)))
+
+(define-public elm-json
+  (package
+    (name "elm-json")
+    (version "1.1.3")
+    (source
+     (elm-package-origin
+      "elm/json"
+      version
+      (base32 "1hx986yqw1v2bpkrh6brszl8n8awwg1s8zi7v5qg0p1rqwvjlicz")))
+    (build-system elm-build-system)
+    (propagated-inputs (list elm-core))
+    (arguments
+     (list #:implicit-elm-package-inputs? #f))
+    (home-page "https://package.elm-lang.org/packages/elm/json/1.1.3")
+    (synopsis "Encode and decode JSON values in Elm")
+    (description
+     "This package helps you convert between Elm values and JSON values.")
+    (license license:bsd-3)))
+
+(define-public elm-json-bootstrap
+  ;; elm/core doesn't depend on elm/json,
+  ;; but elm-build-system's strategy for building it
+  ;; (and everything else) does
+  (hidden-package
+   (package
+     (inherit elm-json)
+     (name "elm-json-bootstrap")
+     (properties '((upstream-name . "elm/json")))
+     (propagated-inputs '())
+     (arguments
+      (list #:phases
+            #~(modify-phases %standard-phases
+                (delete 'configure)
+                (delete 'build)
+                (delete 'validate-compiled))
+            #:implicit-elm-package-inputs? #f)))))