Next: Модули Python, Previous: Cyclic Module Dependencies, Up: Руководство по упаковке [Contents][Index]
Для пакетов emacs желательно использовать систему сборки emacs
(see emacs-build-system), ради однородности и полезностей от её фаз
сборки, таких, как автоматическое создание файла автозагрузки и байтовая
компиляция исходного кода. Поскольку не существует стандартизированного
способа запуска набора тестов для пакетов Emacs, тесты по умолчанию
отключены. Если у пакета есть набор тестов, его следует включить, дав
аргументу #:tests?
значение #true
. По умолчанию команда для
запуска теста—make check
, но может быть использована любая
команда , указанная в аргументе #:test-command
. Аргумент
#:test-command
ожидает получить список, содержащий команду и ее
аргументы, для ее вызова во время фазы check
.
Elisp-зависимости пакетов emacs обычно указываются как
propagated-inputs
, если они необходимы во время работы программы.
Что касается других пакетов, зависимости сборки или тестирования должны быть
указаны как native-inputs
.
Пакеты emacs иногда зависят от директорий с ресурсами, которые должны быть
установлены вместе с файлами Elisp. Для этого можно использовать аргумент
#:include
, указывая список регулярных выражений, которые должны
совпадать. Хорошей практикой при использовании аргумента #:include
является расширение, а не изменение его значения по умолчанию, которое
доступно через переменную %default-include
. Например, дополнительные
пакеты для yasnippet обычно содержат директорию snippets, которую
можно скопировать в директорию установки, используя:
#:include (cons "^snippets/" %default-include)
При возникновении проблем целесообразно проверить наличие заголовка
расширения Package-Requires
в основном исходном файле пакета, а также
удостоверится, что все перечисленные там зависимости и их версии
удовлетворены.