Próximo: Módulos Python, Anterior: Cyclic Module Dependencies, Acima: Diretrizes de empacotamento [Conteúdo][Índice]
Os pacotes Emacs devem preferencialmente usar o sistema de compilação Emacs
(veja emacs-build-system), para uniformidade e os benefícios
proporcionados por suas fases de compilação, como a geração automática do
arquivo autoloads e a compilação de bytes das fontes. Como não existe uma
maneira padronizada de executar um conjunto de testes para pacotes Emacs, os
testes são desabilitados por padrão. Quando um conjunto de testes estiver
disponível, ele deverá ser habilitado definindo o argumento #:tests?
como #true
. Por padrão, o comando para executar o teste é
make check
, mas qualquer comando pode ser especificado através do
argumento #:test-command
. O argumento #:test-command
espera
que uma lista contendo um comando e seus argumentos seja invocada durante a
fase check
.
As dependências Elisp dos pacotes Emacs são normalmente fornecidas como
propagated-inputs
quando necessário em tempo de execução. Quanto a
outros pacotes, as dependências de construção ou teste devem ser
especificadas como native-inputs
.
Emacs packages sometimes depend on resources directories that should be
installed along the Elisp files. The #:include
argument can be used
for that purpose, by specifying a list of regexps to match. The best
practice when using the #:include
argument is to extend rather than
override its default value (accessible via the %default-include
variable). As an example, a yasnippet extension package typically include a
snippets directory, which could be copied to the installation
directory using:
#:include (cons "^snippets/" %default-include)
When encountering problems, it is wise to check for the presence of the
Package-Requires
extension header in the package main source file,
and whether any dependencies and their versions listed therein are
satisfied.
Próximo: Módulos Python, Anterior: Cyclic Module Dependencies, Acima: Diretrizes de empacotamento [Conteúdo][Índice]