summaryrefslogtreecommitdiff
path: root/gnu/packages/elm.scm
diff options
context:
space:
mode:
authorPhilip McGrath <philip@philipmcgrath.com>2022-05-18 14:11:10 -0400
committerLudovic Courtès <ludo@gnu.org>2022-05-22 01:07:55 +0200
commitb6c0f18dee39d0adb2b8e7019e3d7cc5be9f933d (patch)
treefb6b81565d15eabca3e26e004733feb39a9204eb /gnu/packages/elm.scm
parent9885c2fd07a26a48a40e0fda859a1c9ae0b3e973 (diff)
gnu: Add elm-todomvc.
* gnu/packages/elm.scm (elm-todomvc): New variable. * doc/guix.texi (Build Systems)[elm-build-system]: Mention it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/elm.scm')
-rw-r--r--gnu/packages/elm.scm53
1 files changed, 53 insertions, 0 deletions
diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm
index d515d68e8f..9d3a58bcb5 100644
--- a/gnu/packages/elm.scm
+++ b/gnu/packages/elm.scm
@@ -487,3 +487,56 @@ you.")
on the @code{marked} project, which focuses on speed.")
(license license:bsd-3)))
+(define-public elm-todomvc
+ (let ((commit "f236e7e56941c7705aba6e42cb020ff515fe3290")
+ (revision "1"))
+ (package
+ (name "elm-todomvc")
+ (version (git-version "1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/evancz/elm-todomvc")
+ (commit commit)))
+ (sha256
+ (base32 "0g37bglzshkf79s4n7aq9ib44h5qn8ng7n72sh2xslgd20h05nfw"))
+ (file-name (git-file-name name version))))
+ (inputs (list elm-browser elm-core elm-html elm-json))
+ (build-system elm-build-system)
+ (arguments
+ (list
+ #:modules
+ `((srfi srfi-26)
+ ,@%elm-default-modules)
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'stage)
+ (replace 'configure
+ patch-application-dependencies)
+ (replace 'build
+ (lambda* (#:key native-inputs inputs #:allow-other-keys)
+ (invoke (search-input-file (or native-inputs inputs)
+ "/bin/elm")
+ "make"
+ "src/Main.elm"
+ "--output=elm.js")))
+ (replace 'install
+ (lambda args
+ (let* ((out-dir #$output)
+ (dest-dir
+ (string-append out-dir
+ "/share/"
+ (strip-store-file-name out-dir))))
+ (for-each (cut install-file <> dest-dir)
+ `("elm.js"
+ "index.html"
+ "style.css"
+ "README.md")))))
+ (delete 'validate-compiled))))
+ (home-page "https://github.com/evancz/elm-todomvc")
+ (synopsis "TodoMVC in Elm")
+ (description "This is the official Elm implementation of
+@url{https://todomvc.com,TodoMVC}, a simple to-do--list application used to
+compare front-end web frameworks.")
+ (license license:bsd-3))))