diff mbox series

[bug#55030,06/30] gnu: Add elm-virtual-dom.

Message ID 20220419233214.275789-6-philip@philipmcgrath.com
State New
Headers show
Series gnu: elm: Update to 0.19.1. Add build system & importer. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Philip McGrath April 19, 2022, 11:31 p.m. UTC
* gnu/packages/elm.scm (elm-virtual-dom): New variable.
---
 gnu/packages/elm.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

Comments

Ludovic Courtès May 1, 2022, 8:37 p.m. UTC | #1
Philip McGrath <philip@philipmcgrath.com> skribis:

> +  (package
> +    (name "elm-virtual-dom")

[...]

> +    (properties '((upstream-name . "elm/virtual-dom")))))

Could/should the importer infer the upstream name from the Guix name by
default?

That way, we’d only need to specify that property where the automatic
Guix->upstream name mapping wouldn’t work.
Philip McGrath May 1, 2022, 10:17 p.m. UTC | #2
Hi,

On 5/1/22 16:37, Ludovic Courtès wrote:
> Philip McGrath <philip@philipmcgrath.com> skribis:
> 
>> +  (package
>> +    (name "elm-virtual-dom")
> 
> [...]
> 
>> +    (properties '((upstream-name . "elm/virtual-dom")))))
> 
> Could/should the importer infer the upstream name from the Guix name by
> default?
> 
> That way, we’d only need to specify that property where the automatic
> Guix->upstream name mapping wouldn’t work.

It could, but the heuristics seemed a bit brittle. To pick a few examples:

  1. elm-virtual-dom -> "elm/virtual-dom"
  2. elm-explorations-markdown -> "elm-explorations/markdown"
  2. elm-terezka-intervals -> "terezka/intervals"

We could add a special case for the "elm-explorations/*" namespace, but 
at least one of the others would need an explicit property. I *think* 
most of the packages in the "elm/*" namespace are single-element (e.g. 
"elm/html"), so maybe we could require the property for e.g. 
"elm/virtual-dom" and "elm/project-metadata-utils" ...

-Philip
diff mbox series

Patch

diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm
index b61d238cff..af12804301 100644
--- a/gnu/packages/elm.scm
+++ b/gnu/packages/elm.scm
@@ -155,3 +155,24 @@  (define-public elm-json-bootstrap
                 (delete 'build)
                 (delete 'validate-compiled))
             #:implicit-elm-package-inputs? #f)))))
+
+(define-public elm-virtual-dom
+  (package
+    (name "elm-virtual-dom")
+    (version "1.0.2")
+    (source
+     (elm-package-origin
+      "elm/virtual-dom"
+      version
+      (base32 "1d6pqv6cvrsk2cp3dxxrq82vwrij4hrgjazg3lh93z75jkpvywhl")))
+    (build-system elm-build-system)
+    (propagated-inputs (list elm-json elm-core))
+    (home-page "https://package.elm-lang.org/packages/elm/virtual-dom/1.0.2")
+    (synopsis
+     "Elm's low-level virtual DOM implementation")
+    (description
+     "This package provides a virtual DOM implementation that backs Elm's
+core libraries for HTML and SVG.  You should almost certainly use those
+higher-level libraries directly.")
+    (license license:bsd-3)
+    (properties '((upstream-name . "elm/virtual-dom")))))