| 1 | |
| 2 | |
| 3 | |
| 4 | |
| 5 | |
| 6 | |
| 7 | |
| 8 | |
| 9 | |
| 10 | |
| 11 | |
| 12 | |
| 13 | |
| 14 | |
| 15 | |
| 16 | |
| 17 | |
| 18 | |
| 19 | |
| 20 | |
| 21 |
|
| 22 | (define-module (gnu packages elm)
|
| 23 | #:use-module (gnu packages)
|
| 24 | #:use-module (gnu packages haskell)
|
| 25 | #:use-module (gnu packages haskell-check)
|
| 26 | #:use-module (gnu packages haskell-crypto)
|
| 27 | #:use-module (gnu packages haskell-xyz)
|
| 28 | #:use-module (gnu packages haskell-web)
|
| 29 | #:use-module (guix build-system haskell)
|
| 30 | #:use-module (guix build-system elm)
|
| 31 | #:use-module (guix gexp)
|
| 32 | #:use-module (guix git-download)
|
| 33 | #:use-module ((guix licenses) #:prefix license:)
|
| 34 | #:use-module (guix packages))
|
| 35 |
|
| 36 | |
| 37 | |
| 38 | |
| 39 | |
| 40 | |
| 41 | |
| 42 | |
| 43 | (define %reactor-root-base
|
| 44 | "share/elm/reactor-")
|
| 45 | (define-public elm-sans-reactor
|
| 46 | (package
|
| 47 | (name "elm-sans-reactor")
|
| 48 | (version "0.19.1")
|
| 49 | (source
|
| 50 | (origin
|
| 51 | (method git-fetch)
|
| 52 | (file-name (git-file-name name version))
|
| 53 | (uri (git-reference
|
| 54 | (url "https://github.com/elm/compiler/")
|
| 55 | (commit version)))
|
| 56 | (sha256
|
| 57 | (base32 "1rdg3xp3js9xadclk3cdypkscm5wahgsfmm4ldcw3xswzhw6ri8w"))
|
| 58 | (patches
|
| 59 | (search-patches "elm-bump-ansi-wl-pprint-dependency-fix-build.patch"
|
| 60 | "elm-ghc9.2.patch"
|
| 61 | "elm-offline-package-registry.patch"
|
| 62 | "elm-reactor-static-files.patch"))))
|
| 63 | (build-system haskell-build-system)
|
| 64 | (arguments
|
| 65 | (list
|
| 66 | #:configure-flags
|
| 67 | #~(list (string-append "--ghc-option=-DGUIX_REACTOR_STATIC_REL_ROOT="
|
| 68 | "\"../" #$%reactor-root-base
|
| 69 | #$(package-version this-package)
|
| 70 | "\""))
|
| 71 | #:phases
|
| 72 | #~(modify-phases %standard-phases
|
| 73 | (add-before 'configure 'update-constraints
|
| 74 | (lambda _
|
| 75 | (substitute* "elm.cabal"
|
| 76 | (("(ansi-terminal|bytestring|containers|network|HTTP|http-client|language-glsl)\\s+[^,]+" all dep)
|
| 77 | dep)))))))
|
| 78 | (inputs
|
| 79 | (list ghc-ansi-terminal
|
| 80 | ghc-ansi-wl-pprint
|
| 81 | ghc-edit-distance
|
| 82 | ghc-filelock
|
| 83 | ghc-http
|
| 84 | ghc-http-client
|
| 85 | ghc-http-client-tls
|
| 86 | ghc-http-types
|
| 87 | ghc-language-glsl
|
| 88 | ghc-logict
|
| 89 | ghc-network
|
| 90 | ghc-raw-strings-qq
|
| 91 | ghc-scientific
|
| 92 | ghc-sha
|
| 93 | ghc-snap-core
|
| 94 | ghc-snap-server
|
| 95 | ghc-unordered-containers
|
| 96 | ghc-utf8-string
|
| 97 | ghc-vector
|
| 98 | ghc-zip-archive))
|
| 99 | (home-page "https://elm-lang.org")
|
| 100 | (synopsis "Minimal variant of @command{elm}")
|
| 101 | (description
|
| 102 | "This package provides a version of the Elm compiler without support for
|
| 103 | the @command{elm reactor} development command.")
|
| 104 | (license license:bsd-3)))
|
| 105 |
|
| 106 | (define-public elm
|
| 107 | (package
|
| 108 | (name "elm")
|
| 109 | (version (package-version elm-sans-reactor))
|
| 110 | (source (package-source elm-sans-reactor))
|
| 111 | (native-inputs (list elm-sans-reactor))
|
| 112 | (inputs (list elm-sans-reactor
|
| 113 | elm-browser
|
| 114 | elm-core
|
| 115 | elm-html
|
| 116 | elm-http
|
| 117 | elm-json
|
| 118 | elm-project-metadata-utils
|
| 119 | elm-svg
|
| 120 | elm-explorations-markdown))
|
| 121 | (build-system elm-build-system)
|
| 122 | (arguments
|
| 123 | (list
|
| 124 | #:modules
|
| 125 | `((srfi srfi-26)
|
| 126 | ,@%elm-default-modules)
|
| 127 | #:phases
|
| 128 | #~(modify-phases %standard-phases
|
| 129 | (delete 'stage)
|
| 130 | (replace 'configure
|
| 131 | (lambda* (#:key native-inputs inputs #:allow-other-keys)
|
| 132 | (with-directory-excursion "reactor"
|
| 133 | (patch-application-dependencies))))
|
| 134 | (replace 'build
|
| 135 | (lambda* (#:key native-inputs inputs #:allow-other-keys)
|
| 136 | (with-directory-excursion "reactor"
|
| 137 | (invoke (search-input-file (or native-inputs inputs)
|
| 138 | "/bin/elm")
|
| 139 | "make"
|
| 140 | "--optimize"
|
| 141 | "src/NotFound.elm"
|
| 142 | "src/Errors.elm"
|
| 143 | "src/Index.elm"))))
|
| 144 | (replace 'install
|
| 145 | (lambda* (#:key inputs #:allow-other-keys)
|
| 146 | (let* ((out-dir #$output)
|
| 147 | (bin-dir (string-append out-dir "/bin"))
|
| 148 | (reactor-dir (string-append out-dir
|
| 149 | "/"
|
| 150 | #$%reactor-root-base
|
| 151 | (getenv "GUIX_ELM_VERSION")))
|
| 152 | (reactor-subdir (string-append reactor-dir "/_elm")))
|
| 153 | |
| 154 | |
| 155 | |
| 156 | (install-file (search-input-file inputs |
| 157 | "/bin/elm")
|
| 158 | bin-dir)
|
| 159 | (install-file "reactor/assets/favicon.ico" reactor-dir)
|
| 160 | (for-each (cut install-file <> reactor-subdir)
|
| 161 | '("reactor/elm.js"
|
| 162 | "reactor/assets/styles.css"
|
| 163 | |
| 164 | |
| 165 | |
| 166 | |
| 167 | "reactor/assets/source-code-pro.ttf"
|
| 168 | "reactor/assets/source-sans-pro.ttf")))))
|
| 169 | (delete 'validate-compiled))))
|
| 170 | (home-page "https://elm-lang.org")
|
| 171 | (synopsis "Programming language for Web applications")
|
| 172 | (description
|
| 173 | "Elm is a statically-typed, purely-functional programming language for
|
| 174 | the browser. The @command{elm} exectable includes commands for developers
|
| 175 | such as @command{elm make} and @command{elm repl}.")
|
| 176 | (license license:bsd-3)))
|
| 177 |
|
| 178 | (define-public elm-core
|
| 179 | (package
|
| 180 | (name "elm-core")
|
| 181 | (version "1.0.5")
|
| 182 | (source
|
| 183 | (elm-package-origin
|
| 184 | "elm/core"
|
| 185 | version
|
| 186 | (base32 "0g3xbi8f9k5q45s95nx3jfvzwdf4b2n63a52wr4027d2xjx0pmvl")))
|
| 187 | (build-system elm-build-system)
|
| 188 | (inputs (list elm-json-bootstrap))
|
| 189 | (arguments
|
| 190 | (list #:implicit-elm-package-inputs? #f))
|
| 191 | (home-page "https://package.elm-lang.org/packages/elm/core/1.0.5")
|
| 192 | (synopsis "Elm's standard libraries")
|
| 193 | (description "Every Elm project needs this package!")
|
| 194 | (license license:bsd-3)))
|
| 195 |
|
| 196 | (define-public elm-json
|
| 197 | (package
|
| 198 | (name "elm-json")
|
| 199 | (version "1.1.3")
|
| 200 | (source
|
| 201 | (elm-package-origin
|
| 202 | "elm/json"
|
| 203 | version
|
| 204 | (base32 "1hx986yqw1v2bpkrh6brszl8n8awwg1s8zi7v5qg0p1rqwvjlicz")))
|
| 205 | (build-system elm-build-system)
|
| 206 | (propagated-inputs (list elm-core))
|
| 207 | (arguments
|
| 208 | (list #:implicit-elm-package-inputs? #f))
|
| 209 | (home-page "https://package.elm-lang.org/packages/elm/json/1.1.3")
|
| 210 | (synopsis "Encode and decode JSON values in Elm")
|
| 211 | (description
|
| 212 | "This package helps you convert between Elm values and JSON values.")
|
| 213 | (license license:bsd-3)))
|
| 214 |
|
| 215 | (define-public elm-json-bootstrap
|
| 216 | |
| 217 | |
| 218 | |
| 219 | (hidden-package
|
| 220 | (package
|
| 221 | (inherit elm-json)
|
| 222 | (name "elm-json-bootstrap")
|
| 223 | (properties '((upstream-name . "elm/json")))
|
| 224 | (propagated-inputs '())
|
| 225 | (arguments
|
| 226 | (list #:phases
|
| 227 | #~(modify-phases %standard-phases
|
| 228 | (delete 'configure)
|
| 229 | (delete 'build)
|
| 230 | (delete 'validate-compiled))
|
| 231 | #:implicit-elm-package-inputs? #f)))))
|
| 232 |
|
| 233 | (define-public elm-virtual-dom
|
| 234 | (package
|
| 235 | (name "elm-virtual-dom")
|
| 236 | (version "1.0.3")
|
| 237 | (source
|
| 238 | (elm-package-origin
|
| 239 | "elm/virtual-dom"
|
| 240 | version
|
| 241 | (base32 "1bjyyws7l0qvgp4ixzaimwriq86ncx5bvrzaksvjx3pv7bmkbx69")))
|
| 242 | (build-system elm-build-system)
|
| 243 | (propagated-inputs (list elm-json elm-core))
|
| 244 | (home-page "https://package.elm-lang.org/packages/elm/virtual-dom/1.0.2")
|
| 245 | (synopsis
|
| 246 | "Elm's low-level virtual DOM implementation")
|
| 247 | (description
|
| 248 | "This package provides a virtual DOM implementation that backs Elm's
|
| 249 | core libraries for HTML and SVG. You should almost certainly use those
|
| 250 | higher-level libraries directly.")
|
| 251 | (properties '((upstream-name . "elm/virtual-dom")))
|
| 252 | (license license:bsd-3)))
|
| 253 |
|
| 254 | (define-public elm-html
|
| 255 | (package
|
| 256 | (name "elm-html")
|
| 257 | (version "1.0.0")
|
| 258 | (source
|
| 259 | (elm-package-origin
|
| 260 | "elm/html"
|
| 261 | version
|
| 262 | (base32 "15k1679ja57vvlpinpv06znmrxy09lbhzfkzdc89i01qa8c4gb4a")))
|
| 263 | (build-system elm-build-system)
|
| 264 | (propagated-inputs
|
| 265 | (list elm-virtual-dom
|
| 266 | elm-json
|
| 267 | elm-core))
|
| 268 | (home-page "https://package.elm-lang.org/packages/elm/html/1.0.0")
|
| 269 | (synopsis "Fast HTML, rendered with virtual DOM diffing")
|
| 270 | (description "This package provides Elm's HTML rendering library.")
|
| 271 | (license license:bsd-3)))
|
| 272 |
|
| 273 | (define-public elm-svg
|
| 274 | (package
|
| 275 | (name "elm-svg")
|
| 276 | (version "1.0.1")
|
| 277 | (source
|
| 278 | (elm-package-origin
|
| 279 | "elm/svg"
|
| 280 | version
|
| 281 | (base32 "1iqsc3p129j56lp1y3z3mfc6x1shvrmx3pkhri2777ylhyw90qvl")))
|
| 282 | (build-system elm-build-system)
|
| 283 | (propagated-inputs
|
| 284 | (list elm-html
|
| 285 | elm-virtual-dom
|
| 286 | elm-json
|
| 287 | elm-core))
|
| 288 | (home-page "https://package.elm-lang.org/packages/elm/svg/1.0.1")
|
| 289 | (synopsis "Fast SVG, rendered with virtual DOM diffing")
|
| 290 | (description
|
| 291 | "This package provides Elm's @acronym{SVG, Scalable Vector Graphics}
|
| 292 | library.")
|
| 293 | (license license:bsd-3)))
|
| 294 |
|
| 295 | (define-public elm-time
|
| 296 | (package
|
| 297 | (name "elm-time")
|
| 298 | (version "1.0.0")
|
| 299 | (source
|
| 300 | (elm-package-origin
|
| 301 | "elm/time"
|
| 302 | version
|
| 303 | (base32 "0wqa2vhl1zf8z0j2yd3yjwfhr0dydfns43bbzll3k4rhnjadxr1l")))
|
| 304 | (build-system elm-build-system)
|
| 305 | (propagated-inputs (list elm-core))
|
| 306 | (home-page "https://package.elm-lang.org/packages/elm/time/1.0.0")
|
| 307 | (synopsis
|
| 308 | "POSIX time and time zones in Elm")
|
| 309 | (description
|
| 310 | "This package provides an Elm library for working with POSIX times, time
|
| 311 | zones, formatting, and the clock.")
|
| 312 | (license license:bsd-3)))
|
| 313 |
|
| 314 | (define-public elm-url
|
| 315 | (package
|
| 316 | (name "elm-url")
|
| 317 | (version "1.0.0")
|
| 318 | (source
|
| 319 | (elm-package-origin
|
| 320 | "elm/url"
|
| 321 | version
|
| 322 | (base32 "1f2ij4i7zmijnj2i50qf19lpkr14bhms8dkq029inb5mydi9f8gs")))
|
| 323 | (build-system elm-build-system)
|
| 324 | (propagated-inputs (list elm-core))
|
| 325 | (home-page "https://package.elm-lang.org/packages/elm/url/1.0.0")
|
| 326 | (synopsis
|
| 327 | "Create and parse URLs in Elm")
|
| 328 | (description
|
| 329 | "This package helps you:
|
| 330 |
|
| 331 | @enumerate
|
| 332 | @item
|
| 333 | build new URLs; and
|
| 334 |
|
| 335 | @item
|
| 336 | parse existing URLs into nice Elm data structures.
|
| 337 | @end enumerate
|
| 338 |
|
| 339 | Use it for HTTP and for @dfn{routing} in @acronym{SPAs, single-page apps}.")
|
| 340 | (license license:bsd-3)))
|
| 341 |
|
| 342 | (define-public elm-browser
|
| 343 | (package
|
| 344 | (name "elm-browser")
|
| 345 | (version "1.0.2")
|
| 346 | (source
|
| 347 | (elm-package-origin
|
| 348 | "elm/browser"
|
| 349 | version
|
| 350 | (base32 "0863nw2hhbpm3s03lm1imi5x28wwknzrwg2p79s5mydgvdvgwjf0")))
|
| 351 | (build-system elm-build-system)
|
| 352 | (propagated-inputs
|
| 353 | (list elm-virtual-dom
|
| 354 | elm-url
|
| 355 | elm-time
|
| 356 | elm-json
|
| 357 | elm-html
|
| 358 | elm-core))
|
| 359 | (home-page "https://package.elm-lang.org/packages/elm/browser/1.0.2")
|
| 360 | (synopsis
|
| 361 | "Run Elm in browsers")
|
| 362 | (description
|
| 363 | "This package allows you to create Elm programs that run in browsers,
|
| 364 | with access to browser history for @acronym{SPAs, single-page apps}.")
|
| 365 | (license license:bsd-3)))
|
| 366 |
|
| 367 | (define-public elm-bytes
|
| 368 | (package
|
| 369 | (name "elm-bytes")
|
| 370 | (version "1.0.8")
|
| 371 | (source
|
| 372 | (elm-package-origin
|
| 373 | "elm/bytes"
|
| 374 | version
|
| 375 | (base32 "0n411j2cyz9m241q6vszfzpq3fraradwal5m0gigp2505mdfpz3x")))
|
| 376 | (build-system elm-build-system)
|
| 377 | (propagated-inputs (list elm-core))
|
| 378 | (home-page "https://package.elm-lang.org/packages/elm/bytes/1.0.8")
|
| 379 | (synopsis "Work with sequences of bytes in Elm")
|
| 380 | (description "This package provides an Elm library for working with
|
| 381 | densely packed sequences of bytes, such as @code{ArrayBuffer}, typed arrays,
|
| 382 | and @code{DataView}.")
|
| 383 | (license license:bsd-3)))
|
| 384 |
|
| 385 | (define-public elm-file
|
| 386 | (package
|
| 387 | (name "elm-file")
|
| 388 | (version "1.0.5")
|
| 389 | (source
|
| 390 | (elm-package-origin
|
| 391 | "elm/file"
|
| 392 | version
|
| 393 | (base32 "0aimgicrdpys0v89m2wjx413561zil14cczjh6mkn9jcgckx6yng")))
|
| 394 | (build-system elm-build-system)
|
| 395 | (propagated-inputs
|
| 396 | (list elm-time
|
| 397 | elm-json
|
| 398 | elm-core
|
| 399 | elm-bytes))
|
| 400 | (home-page "https://package.elm-lang.org/packages/elm/file/1.0.5")
|
| 401 | (synopsis "Work with files in Elm")
|
| 402 | (description "This package enables Elm programs to select files, download
|
| 403 | files, and work with file content.")
|
| 404 | (license license:bsd-3)))
|
| 405 |
|
| 406 | (define-public elm-http
|
| 407 | (package
|
| 408 | (name "elm-http")
|
| 409 | (version "2.0.0")
|
| 410 | (source
|
| 411 | (elm-package-origin
|
| 412 | "elm/http"
|
| 413 | version
|
| 414 | (base32 "0mfbz0lkfidmq5xpv5csw8943q0yrpvj0rwd2vb0gc8rbsfc9dg8")))
|
| 415 | (build-system elm-build-system)
|
| 416 | (propagated-inputs
|
| 417 | (list elm-json
|
| 418 | elm-file
|
| 419 | elm-core
|
| 420 | elm-bytes))
|
| 421 | (home-page "https://package.elm-lang.org/packages/elm/http/2.0.0")
|
| 422 | (synopsis "Make HTTP requests in Elm")
|
| 423 | (description "This package enables Elm programs to make HTTP requests and
|
| 424 | talk to servers.")
|
| 425 | (license license:bsd-3)))
|
| 426 |
|
| 427 | (define-public elm-parser
|
| 428 | (package
|
| 429 | (name "elm-parser")
|
| 430 | (version "1.1.0")
|
| 431 | (source
|
| 432 | (elm-package-origin
|
| 433 | "elm/parser"
|
| 434 | version
|
| 435 | (base32 "06xx29rmagc5r45qfpvrd393lz83ylngidfp08432f1qc8y6r3lh")))
|
| 436 | (build-system elm-build-system)
|
| 437 | (propagated-inputs (list elm-core))
|
| 438 | (home-page "https://package.elm-lang.org/packages/elm/parser/1.1.0")
|
| 439 | (synopsis
|
| 440 | "Parsing library for Elm")
|
| 441 | (description
|
| 442 | "Regular expressions are quite confusing and difficult to use. This
|
| 443 | library provides a coherent alternative that handles more cases and produces
|
| 444 | clearer code. It is focused on simplicity and great error messages.")
|
| 445 | (license license:bsd-3)))
|
| 446 |
|
| 447 | (define-public elm-project-metadata-utils
|
| 448 | (package
|
| 449 | (name "elm-project-metadata-utils")
|
| 450 | (version "1.0.2")
|
| 451 | (source
|
| 452 | (elm-package-origin
|
| 453 | "elm/project-metadata-utils"
|
| 454 | version
|
| 455 | (base32 "1wj7chfy4knwwyc3k0hy431c80hs7hc686qsr34ayn8gip73x2jj")))
|
| 456 | (build-system elm-build-system)
|
| 457 | (propagated-inputs
|
| 458 | (list elm-parser
|
| 459 | elm-json
|
| 460 | elm-core))
|
| 461 | (home-page
|
| 462 | "https://package.elm-lang.org/packages/elm/project-metadata-utils/1.0.2")
|
| 463 | (synopsis "Work with @file{elm.json} and @file{docs.json} files in Elm")
|
| 464 | (description
|
| 465 | "This package is meant for people creating Elm tooling, like editor
|
| 466 | plugins. If you just want to make stuff in Elm, there is nothing here for
|
| 467 | you.")
|
| 468 | (properties '((upstream-name . "elm/project-metadata-utils")))
|
| 469 | (license license:bsd-3)))
|
| 470 |
|
| 471 | (define-public elm-explorations-markdown
|
| 472 | (package
|
| 473 | (name "elm-explorations-markdown")
|
| 474 | (version "1.0.0")
|
| 475 | (source
|
| 476 | (elm-package-origin
|
| 477 | "elm-explorations/markdown"
|
| 478 | version
|
| 479 | (base32 "1f57ikdpbbhchcpwj32216gxjxijrc3sdpg27s1cgzia9pnkqk6p")))
|
| 480 | (build-system elm-build-system)
|
| 481 | (propagated-inputs (list elm-html elm-core))
|
| 482 | (home-page
|
| 483 | "https://package.elm-lang.org/packages/elm-explorations/markdown/1.0.0")
|
| 484 | (synopsis "Fast markdown parsing and rendering in Elm")
|
| 485 | (description
|
| 486 | "This package is for markdown parsing and rendering in Elm. It is based
|
| 487 | on the @code{marked} project, which focuses on speed.")
|
| 488 | (license license:bsd-3)))
|
| 489 |
|
| 490 | (define-public elm-community-random-extra
|
| 491 | (package
|
| 492 | (name "elm-community-random-extra")
|
| 493 | (version "3.2.0")
|
| 494 | (source (elm-package-origin
|
| 495 | "elm-community/random-extra" version
|
| 496 | (base32 "13l48mx4wj7qdxl1shn9ij34izap256vv3k49ncnxpkjb7m1m3xk")))
|
| 497 | (build-system elm-build-system)
|
| 498 | (propagated-inputs (list elm-time elm-random elm-core))
|
| 499 | (inputs (list elm-explorations-test))
|
| 500 | (home-page
|
| 501 | "https://package.elm-lang.org/packages/elm-community/random-extra/")
|
| 502 | (synopsis "Extra functions for the Elm core random library")
|
| 503 | (description "@code{emacs-community-random-extra} includes lots of extra
|
| 504 | helper functions for the Random module.")
|
| 505 | (license license:bsd-3)))
|
| 506 |
|
| 507 | (define-public elm-todomvc
|
| 508 | (let ((commit "f236e7e56941c7705aba6e42cb020ff515fe3290")
|
| 509 | (revision "1"))
|
| 510 | (package
|
| 511 | (name "elm-todomvc")
|
| 512 | (version (git-version "1" revision commit))
|
| 513 | (source
|
| 514 | (origin
|
| 515 | (method git-fetch)
|
| 516 | (uri (git-reference
|
| 517 | (url "https://github.com/evancz/elm-todomvc")
|
| 518 | (commit commit)))
|
| 519 | (sha256
|
| 520 | (base32 "0g37bglzshkf79s4n7aq9ib44h5qn8ng7n72sh2xslgd20h05nfw"))
|
| 521 | (file-name (git-file-name name version))))
|
| 522 | (inputs (list elm-browser elm-core elm-html elm-json))
|
| 523 | (build-system elm-build-system)
|
| 524 | (arguments
|
| 525 | (list
|
| 526 | #:modules
|
| 527 | `((srfi srfi-26)
|
| 528 | ,@%elm-default-modules)
|
| 529 | #:phases
|
| 530 | #~(modify-phases %standard-phases
|
| 531 | (delete 'stage)
|
| 532 | (replace 'configure
|
| 533 | patch-application-dependencies)
|
| 534 | (replace 'build
|
| 535 | (lambda* (#:key native-inputs inputs #:allow-other-keys)
|
| 536 | (invoke (search-input-file (or native-inputs inputs)
|
| 537 | "/bin/elm")
|
| 538 | "make"
|
| 539 | "src/Main.elm"
|
| 540 | "--output=elm.js")))
|
| 541 | (replace 'install
|
| 542 | (lambda args
|
| 543 | (let* ((out-dir #$output)
|
| 544 | (dest-dir
|
| 545 | (string-append out-dir
|
| 546 | "/share/"
|
| 547 | (strip-store-file-name out-dir))))
|
| 548 | (for-each (cut install-file <> dest-dir)
|
| 549 | `("elm.js"
|
| 550 | "index.html"
|
| 551 | "style.css"
|
| 552 | "README.md")))))
|
| 553 | (delete 'validate-compiled))))
|
| 554 | (home-page "https://github.com/evancz/elm-todomvc")
|
| 555 | (synopsis "TodoMVC in Elm")
|
| 556 | (description "This is the official Elm implementation of
|
| 557 | @url{https://todomvc.com,TodoMVC}, a simple to-do--list application used to
|
| 558 | compare front-end web frameworks.")
|
| 559 | (license license:bsd-3))))
|
| 560 |
|
| 561 | (define-public elm-debois-elm-dom
|
| 562 | (package
|
| 563 | (name "elm-debois-elm-dom")
|
| 564 | (version "1.3.0")
|
| 565 | (source
|
| 566 | (elm-package-origin
|
| 567 | "debois/elm-dom"
|
| 568 | version
|
| 569 | (base32 "0w4z4w6ip118lk5g80w6mbbfxhfmivbmdkdm6wsmk63x85gscmqx")))
|
| 570 | (build-system elm-build-system)
|
| 571 | (propagated-inputs
|
| 572 | (list elm-json elm-html elm-core))
|
| 573 | (home-page "https://package.elm-lang.org/packages/debois/elm-dom/1.3.0")
|
| 574 | (synopsis "DOM traversal for Elm event-handlers")
|
| 575 | (description
|
| 576 | "This package provides a library for reading information off the DOM.
|
| 577 | Use this if you need to discover geometry information (width, position, etc.)
|
| 578 | of rendered elements.")
|
| 579 | (license license:asl2.0)))
|
| 580 |
|
| 581 | (define-public elm-random
|
| 582 | (package
|
| 583 | (name "elm-random")
|
| 584 | (version "1.0.0")
|
| 585 | (source
|
| 586 | (elm-package-origin
|
| 587 | "elm/random"
|
| 588 | version
|
| 589 | (base32 "0z0znkwfs35xiabk6pa9yqwsq03jssgd7jmsj1kk000mikfm7f39")))
|
| 590 | (build-system elm-build-system)
|
| 591 | (propagated-inputs (list elm-time elm-core))
|
| 592 | (home-page "https://package.elm-lang.org/packages/elm/random/1.0.0")
|
| 593 | (synopsis "Generate random numbers and values in Elm")
|
| 594 | (description
|
| 595 | "Need to generate random numbers? How about random game boards? Or
|
| 596 | random positions in 3D space? This is the package for you!")
|
| 597 | (license license:bsd-3)))
|
| 598 |
|
| 599 | (define-public elm-explorations-test
|
| 600 | (package
|
| 601 | (name "elm-explorations-test")
|
| 602 | (version "1.2.2")
|
| 603 | (source
|
| 604 | (elm-package-origin
|
| 605 | "elm-explorations/test"
|
| 606 | version
|
| 607 | (base32 "0kw32x0lr6nh5j9xk56vgg7x7c705g38grghh7cdp49frwdd6w3l")))
|
| 608 | (build-system elm-build-system)
|
| 609 | (propagated-inputs
|
| 610 | (list elm-virtual-dom
|
| 611 | elm-random
|
| 612 | elm-json
|
| 613 | elm-html
|
| 614 | elm-core))
|
| 615 | (home-page
|
| 616 | "https://package.elm-lang.org/packages/elm-explorations/test/1.2.2")
|
| 617 | (synopsis "Testing framework for Elm")
|
| 618 | (description "This package enables writing unit and fuzz tests for Elm
|
| 619 | code. To actually run the tests, you need the command-line tool from
|
| 620 | @url{https://github.com/rtfeldman/node-test-runner}, which has not yet been
|
| 621 | packaged for Guix.")
|
| 622 | (license license:bsd-3)))
|
| 623 |
|
| 624 | (define-public elm-danhandrea-elm-date-format
|
| 625 | (package
|
| 626 | (name "elm-danhandrea-elm-date-format")
|
| 627 | (version "2.0.1")
|
| 628 | (source
|
| 629 | (elm-package-origin
|
| 630 | "danhandrea/elm-date-format"
|
| 631 | version
|
| 632 | (base32 "03mglzyywij5sm56m7q2jhhbsv7f9rdirgwmq0q41ghir81bzpv6")))
|
| 633 | (build-system elm-build-system)
|
| 634 | (propagated-inputs (list elm-time elm-core))
|
| 635 | (inputs (list elm-explorations-test))
|
| 636 | (home-page
|
| 637 | "https://package.elm-lang.org/packages/danhandrea/elm-date-format/2.0.1")
|
| 638 | (synopsis "Date formatting for Elm")
|
| 639 | (description "This package enhances @code{elm/time} with support for
|
| 640 | format strings and internationalization of dates.")
|
| 641 | (license license:bsd-3)))
|
| 642 |
|
| 643 | (define-public elm-danhandrea-elm-time-extra
|
| 644 | (package
|
| 645 | (name "elm-danhandrea-elm-time-extra")
|
| 646 | (version "1.1.0")
|
| 647 | (source
|
| 648 | (elm-package-origin
|
| 649 | "danhandrea/elm-time-extra"
|
| 650 | version
|
| 651 | (base32 "0z13q8x148d5amcc89f846yzql89n9gyan8fr48y91dhhn7vxibf")))
|
| 652 | (build-system elm-build-system)
|
| 653 | (propagated-inputs (list elm-time elm-core))
|
| 654 | (inputs
|
| 655 | (list elm-explorations-test
|
| 656 | elm-danhandrea-elm-date-format))
|
| 657 | (home-page
|
| 658 | "https://package.elm-lang.org/packages/danhandrea/elm-time-extra/1.1.0")
|
| 659 | (synopsis "Extra utilities for POSIX time in Elm")
|
| 660 | (description "This package enhances @code{elm/time} with extra utilities
|
| 661 | for working with POSIX times.")
|
| 662 | (license license:bsd-3)))
|
| 663 |
|
| 664 | (define-public elm-justinmimbs-date
|
| 665 | (package
|
| 666 | (name "elm-justinmimbs-date")
|
| 667 | (version "4.0.1")
|
| 668 | (source
|
| 669 | (elm-package-origin
|
| 670 | "justinmimbs/date"
|
| 671 | version
|
| 672 | (base32 "13mf97137f0yb3gx1mxbya2y70qciah4hp5bcnpj8166vgzb7l3l")))
|
| 673 | (build-system elm-build-system)
|
| 674 | (propagated-inputs
|
| 675 | (list elm-time
|
| 676 | elm-parser
|
| 677 | elm-core))
|
| 678 | (home-page "https://package.elm-lang.org/packages/justinmimbs/date/4.0.1")
|
| 679 | (synopsis "Work with dates without times or zones in Elm")
|
| 680 | (description
|
| 681 | "This Elm package provides a simple @code{Date} type for working with
|
| 682 | dates without times or zones.")
|
| 683 | (license license:bsd-3)))
|
| 684 |
|
| 685 | (define-public elm-justinmimbs-time-extra
|
| 686 | (package
|
| 687 | (name "elm-justinmimbs-time-extra")
|
| 688 | (version "1.1.1")
|
| 689 | (source
|
| 690 | (elm-package-origin
|
| 691 | "justinmimbs/time-extra"
|
| 692 | version
|
| 693 | (base32 "1gmgvzlpzkysvm86d0md75ply10pz28bg699m4763frss0jvrngh")))
|
| 694 | (build-system elm-build-system)
|
| 695 | (propagated-inputs
|
| 696 | (list elm-justinmimbs-date
|
| 697 | elm-time
|
| 698 | elm-core))
|
| 699 | (home-page
|
| 700 | "https://package.elm-lang.org/packages/justinmimbs/time-extra/1.1.1")
|
| 701 | (synopsis "Extra functions for POSIX times in Elm")
|
| 702 | (description
|
| 703 | "This package provides extra functions for working with @code{Posix}
|
| 704 | times from @code{elm/time}.")
|
| 705 | (license license:bsd-3)))
|
| 706 |
|
| 707 | (define-public elm-myrho-elm-round
|
| 708 | (package
|
| 709 | (name "elm-myrho-elm-round")
|
| 710 | (version "1.0.4")
|
| 711 | (source
|
| 712 | (elm-package-origin
|
| 713 | "myrho/elm-round"
|
| 714 | version
|
| 715 | (base32 "0y3j43wr815cvwz5310zalnqzpg3hw8h127zjjlf6x8ynapc2mdb")))
|
| 716 | (build-system elm-build-system)
|
| 717 | (propagated-inputs (list elm-core))
|
| 718 | (inputs (list elm-explorations-test))
|
| 719 | (home-page "https://package.elm-lang.org/packages/myrho/elm-round/1.0.4")
|
| 720 | (synopsis "Flexible rounding of Elm @code{Float}s")
|
| 721 | (description
|
| 722 | "This library converts a @code{Float} to a @code{String} with ultimate
|
| 723 | control how many digits after the decimal point are shown and how the
|
| 724 | remaining digits are rounded. It rounds, floors and ceils the @dfn{common}
|
| 725 | way (i.e. half up) or the @dfn{commerical} way (ie. half away from zero).")
|
| 726 | (license license:bsd-3)))
|
| 727 |
|
| 728 | (define-public elm-ryannhg-date-format
|
| 729 | (package
|
| 730 | (name "elm-ryannhg-date-format")
|
| 731 | (version "2.3.0")
|
| 732 | (source
|
| 733 | (elm-package-origin
|
| 734 | "ryannhg/date-format"
|
| 735 | version
|
| 736 | (base32 "0razh6im5qwmla10knk67j8w11mqlqlyfnclykbfl06kaksfm3sp")))
|
| 737 | (build-system elm-build-system)
|
| 738 | (propagated-inputs (list elm-time elm-core))
|
| 739 | (inputs (list elm-explorations-test))
|
| 740 | (home-page
|
| 741 | "https://package.elm-lang.org/packages/ryannhg/date-format/2.3.0")
|
| 742 | (synopsis "Reliable advanced dates formatting for Elm")
|
| 743 | (description
|
| 744 | "This package provides Elm programs with reliable, powerful tools for
|
| 745 | formatting dates and times. It uses Elm's type system instead of format
|
| 746 | strings, which makes formatting code more readable and can catch some errors
|
| 747 | at compile time.")
|
| 748 | (license license:bsd-3)))
|
| 749 |
|
| 750 | (define-public elm-terezka-intervals
|
| 751 | (package
|
| 752 | (name "elm-terezka-intervals")
|
| 753 | (version "2.0.1")
|
| 754 | (source
|
| 755 | (elm-package-origin
|
| 756 | "terezka/intervals"
|
| 757 | version
|
| 758 | (base32 "0h3im58sa6awyppch1v8ppcrzwc5h48yn45crx98m8zs4isx91lj")))
|
| 759 | (build-system elm-build-system)
|
| 760 | (propagated-inputs
|
| 761 | (list elm-ryannhg-date-format
|
| 762 | elm-myrho-elm-round
|
| 763 | elm-justinmimbs-time-extra
|
| 764 | elm-time
|
| 765 | elm-svg
|
| 766 | elm-json
|
| 767 | elm-html
|
| 768 | elm-core
|
| 769 | elm-danhandrea-elm-time-extra))
|
| 770 | (inputs (list elm-explorations-test))
|
| 771 | (home-page "https://package.elm-lang.org/packages/terezka/intervals/2.0.1")
|
| 772 | (synopsis "Produce nice intervals for Elm charts")
|
| 773 | (description
|
| 774 | "This package provides an Elm library for producing nice intervals for
|
| 775 | charts. It's useful in combination with @code{terezka/elm-charts}. When I
|
| 776 | say ``nice'', I just mean that I try to calculate intervals which begin with
|
| 777 | 10, 5, 3, 2, or 1 (adjusted to magnitude, of course!). For dates, I try to
|
| 778 | hit whole days, weeks, and months or hours, minutes, and seconds.")
|
| 779 | (license license:bsd-3)))
|
| 780 |
|
| 781 | (define-public elm-terezka-elm-charts
|
| 782 | (package
|
| 783 | (name "elm-terezka-elm-charts")
|
| 784 | (version "3.0.0") |
| 785 | (source
|
| 786 | (elm-package-origin
|
| 787 | "terezka/elm-charts"
|
| 788 | version
|
| 789 | (base32 "17syq73jwldc7fk7snm5k8s85nsvxyprb34rs1rwjsapc1vii7hc")))
|
| 790 | (build-system elm-build-system)
|
| 791 | (propagated-inputs
|
| 792 | (list elm-terezka-intervals
|
| 793 | elm-ryannhg-date-format
|
| 794 | elm-time
|
| 795 | elm-svg
|
| 796 | elm-json
|
| 797 | elm-html
|
| 798 | elm-core
|
| 799 | elm-debois-elm-dom))
|
| 800 | (home-page
|
| 801 | "https://elm-charts.org")
|
| 802 | (synopsis "SVG chart components in Elm")
|
| 803 | (description
|
| 804 | "Make SVG charts in all Elm. The package can draw charts at a variety of
|
| 805 | different levels of customization, from basic charts with standard features to
|
| 806 | very custom styles. The library also allows including your very own SVG
|
| 807 | elements while still easily utilizing the coordinate system calculated from
|
| 808 | your data, as well as editing the SVGs made by the package. It has great
|
| 809 | support for interactivity, layering different charts, and adding irregular
|
| 810 | details.")
|
| 811 | (license license:bsd-3)))
|