Próximo: Fontes, Anterior: Rust Crates, Acima: Diretrizes de empacotamento [Conteúdo][Índice]
Os aplicativos Elm podem ser nomeados como outros softwares: seus nomes não precisam mencionar Elm.
Pacotes no sentido Elm (veja elm-build-system
em Sistemas de compilação)
devem usar nomes no formato author/
project, onde tanto
author quanto project podem conter hifens internamente, e
author às vezes contém letras maiúsculas.
Para formar o nome do pacote Guix a partir do nome upstream, seguimos uma
convenção semelhante aos pacotes Python (veja Módulos Python),
adicionando um prefixo elm-
, a menos que o nome já comece com
elm-
.
Em muitos casos, podemos reconstruir o nome upstream de um pacote Elm
heuristicamente, mas, como a conversão para um nome no estilo Guix envolve
perda de informações, isso nem sempre é possível. Deve-se tomar cuidado para
adicionar a propriedade 'upstream-name
quando necessário para que
‘guix import elm’ funcione corretamente (veja Invoking guix import
). Os cenários mais notáveis quando especificar explicitamente o nome
upstream é necessário são:
elm
e project contém um ou mais hifens,
como em elm/virtual-dom
; e
Elm-Canvas/raster-shapes
—a menos que author seja
elm-explorations
, que é tratado como um caso especial, então pacotes
como elm-explorations/markdown
não precisam usar a propriedade
'upstream-name
.
O módulo (guix build-system elm)
fornece os seguintes utilitários
para trabalhar com nomes e convenções relacionadas:
de repositório necessário para um pacote Elm publicado com o nome upstream nome-elm na versão versão com soma de verificação sha256 hash.
Por exemplo:
(package
(name "elm-html")
(version "1.0.0")
(source
(elm-package-origin
"elm/html"
version
(base32 "15k1679ja57vvlpinpv06znmrxy09lbhzfkzdc89i01qa8c4gb4a")))
...)
Retorna o nome do pacote no estilo Guix para um pacote Elm com nome upstream nome-elm.
Observe que há mais de um nome-elm possível para o qual
elm->package-name
produzirá um determinado resultado.
Dado um Elm pacote, retorna o nome upstream possivelmente inferido, ou
#f
o nome upstream não é especificado por meio da propriedade
'upstream-name
e não pode ser inferido por
infer-elm-package-name
.
Dado o guix-name de um pacote Elm, retorna o nome upstream inferido,
ou #f
se o nome upstream não puder ser inferido. Se o resultado não
for #f
, fornecê-lo a elm->package-name
produziria
guix-name.
Próximo: Fontes, Anterior: Rust Crates, Acima: Diretrizes de empacotamento [Conteúdo][Índice]