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-
, если имя уже на него не начинается.
Во многих случаях мы можем эвристически восстановить имя пакета Elm, но,
поскольку преобразование в имя в стиле Guix связано с потерей информации,
это не всегда возможно. Следует позаботиться о добавлении свойства
'upstream-name
, когда это необходимо, чтобы ‘guix import elm’
работал правильно (see Вызов guix import
). Наиболее заметными
сценариями, когда необходимо явно указывать имя upstream, являются:
elm
, а project содержит один или
несколько дефисов, как в случае elm/virtual-dom
; и
Elm-Canvas/raster-shapes
—если author не является
elm-explorations
, который обрабатывается как особый случай, поэтому
такие пакеты как elm-explorations/markdown
не not должны
использовать свойство 'upstream-name
.
Модуль (guix build-system elm)
предоставляет следующие утилиты для
работы с именами и связанными с ними соглашениями:
метки, необходимые для опубликованного пакет 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]