Nächste: Schriftarten, Vorige: Rust-Crates, Nach oben: Paketrichtlinien [Inhalt][Index]
Sie dürfen Elm-Anwendungen Namen geben wie bei anderer Software: Elm muss nicht im Namen vorkommen.
Die Namen dessen, was bei Elm als Paket bekannt ist (siehe
elm-build-system
im Unterabschnitt Erstellungssysteme), müssen
dagegen diesem Format folgen: Autor/
Projekt, wo sowohl im
Autor als auch im Projekt Bindestriche vorkommen können, und
manchmal im Autor sogar Großbuchstaben enthalten sind.
Um daraus einen Guix-Paketnamen zu bilden, folgen wir einer ähnlichen
Konvention wie bei Python-Paketen (siehe Python-Module), d.h. vorne
kommt ein Präfix elm-
, außer der Name beginnt ohnehin mit
elm-
.
In vielen Fällen lässt sich der Name eines Elm-Pakets, den es beim Anbieter
trägt, heuristisch rekonstruieren, aber nicht immer, denn bei der
Umwandlung in einen Namen im Guix-Stil geht Information verloren. Also
achten Sie darauf, in solchen Fällen eine Eigenschaft 'upstream-name
anzugeben, damit ‘guix import elm’ funktionieren kann (siehe
guix import
aufrufen). Insbesondere ist es nötig, den Namen beim
Anbieter ausdrücklich anzugeben, wenn:
elm
ist und in Projekt ein oder mehrere
Bindestriche auftauchen, wie bei elm/virtual-dom
, oder wenn
Elm-Canvas/raster-shapes
– sofern Autor nicht
elm-explorations
ist, was eine Sonderbehandlung bekommt, so dass
Pakete wie elm-explorations/markdown
die Eigenschaft
'upstream-name
nicht zu haben brauchen.
Im Modul (guix build-system elm)
finden Sie folgende Werkzeuge, mit
denen Sie mit den Konventionen für Namen und Ähnliches umgehen können:
Repository-Name und Tags, die für öffentliche Elm-Pakete vorgeschrieben sind. Der Name für den Paketursprung ergibt sich aus Elm-Name, das ist der Name beim Anbieter, mit der Version Version und SHA256-Prüfsumme Hash.
Zum Beispiel:
(package
(name "elm-html")
(version "1.0.0")
(source
(elm-package-origin
"elm/html"
version
(base32 "15k1679ja57vvlpinpv06znmrxy09lbhzfkzdc89i01qa8c4gb4a")))
…)
Liefert den Paketnamen im Guix-Stil für ein Elm-Paket, das dort Elm-Name heißt.
Achtung, elm->package-name
kann unterschiedliche Elm-Name auf
dasselbe Ergebnis abbilden.
Für ein Elm-Paket Paket wird ermittelt, welchen Namen es beim Anbieter
trägt, oder #f
, wenn dieser Anbietername weder in den unter
properties aufgeführten Paketeigenschaften steht noch sich mit
infer-elm-package-name
ableiten lässt.
Liefert für den guix-name eines Elm-Pakets den daraus abgeleiteten
Namen beim Anbieter oder #f
, wenn er sich nicht ableiten lässt. Wenn
das Ergebnis etwas anderes als #f
ist, können wir es an
elm->package-name
übergeben und bekommen wieder guix-name
heraus.
Nächste: Schriftarten, Vorige: Rust-Crates, Nach oben: Paketrichtlinien [Inhalt][Index]