Next: Шрифты, Previous: Rust Crates пакеты, Up: Принципы опакечивания [Contents][Index]
Приложения Elm могут называться так же, как и другие программы: в их именах не обязательно упоминать Elm.
Packages in the Elm sense (see elm-build-system
under Системы сборки) are required use names of the format
author/
project, where both the author and the
project may contain hyphens internally, and the author sometimes
contains uppercase letters.
Для формирования имени пакета Guix из исходного, мы придерживаемся
конвенции, похожей на конвенцию для пакетов Python (see Модули Python),
добавляя префикс elm-
, если имя уже на него не начинается.
In many cases we can reconstruct an Elm package’s upstream name
heuristically, but, since conversion to a Guix-style name involves a loss of
information, this is not always possible. Care should be taken to add the
'upstream-name
property when necessary so that ‘guix import elm’
will work correctly (see Запуск guix import). The most notable
scenarios when explicitly specifying the upstream name is necessary are:
elm
and the project contains one or
more hyphens, as with elm/virtual-dom
; and
Elm-Canvas/raster-shapes
—unless the author is
elm-explorations
, which is handled as a special case, so packages
like elm-explorations/markdown
do not need to use the
'upstream-name
property.
The module (guix build-system elm)
provides the following utilities
for working with names and related conventions:
метки, необходимые для опубликованного пакет Elm с оригинальным именем elm-name в версии version с контрольной суммой sha256 hash.
Например:
(package
(name "elm-html")
(version "1.0.0")
(source
(elm-package-origin
"elm/html"
version
(base32 "15k1679ja57vvlpinpv06znmrxy09lbhzfkzdc89i01qa8c4gb4a")))
...)
Возвращает название пакета в стиле Guix для Elm пакета с оригинальным названием elm-name.
Обратите внимание, что существует более одного возможного elm-name,
для которого elm->package-name
выдаст заданный результат.
Получив имя пакета Elm package, возвращает (возможно выведенное)
оригинальное имя, или #f
, если оригинальное имя не указано через
свойство 'upstream-name
и не может быть выведено с помощью
infer-elm-package-name
.
Получив через guix-name имя пакета Elm, возвращает выведенное
оригинальное имя, или #f
, если его вывести нельзя. Если результат не
#f
, то передача его в elm->package-name
вернёт обратно
guix-name.
Next: Шрифты, Previous: Rust Crates пакеты, Up: Принципы опакечивания [Contents][Index]