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.

Pacotes Emacs às vezes dependem de diretórios de recursos que devem ser instalados junto com os arquivos Elisp. O argumento #:include pode ser usado para esse propósito, especificando uma lista de regexps para corresponder. A melhor prática ao usar o argumento #:include é estender em vez de substituir seu valor padrão (acessível por meio da variável %default-include). Como exemplo, um pacote de extensão yasnippet normalmente inclui um diretório snippets, que pode ser copiado para o diretório de instalação usando:

#:include (cons "^snippets/" %default-include)

Ao encontrar problemas, é aconselhável verificar a presença do cabeçalho de extensão Package-Requires no arquivo de origem principal do pacote e se quaisquer dependências e suas versões listadas nele foram atendidas.


Próximo: Módulos Python, Anterior: Dependências do módulo cíclico, Acima: Diretrizes de empacotamento   [Conteúdo][Índice]