Próximo: , Anterior: , Acima: Diretrizes de empacotamento   [Conteúdo][Índice]


22.8.12 Pacotes Elm

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:

  1. Quando author é elm e project contém um ou mais hifens, como em elm/virtual-dom; e
  2. Quando author contém hifens ou letras maiúsculas, como em 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:

Procedimento: elm-package-origin nome-elm versão hash Retorna uma origem Git usando o regime de nomenclatura e marcação

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")))
  ...)
Procedimento: elm->package-name nome-elm

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.

Procedimento: guix-package->elm-name pacote

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.

Procedimento: infer-elm-package-name guix-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]