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


22.8.7 Pacotes Emacs

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]