Next: Módulos Python, Previous: snippets
frente a fases, Up: Pautas de empaquetamiento [Contents][Index]
Los paquetes Emacs deberían usar preferentemente el sistema de construcción
de Emacs (see emacs-build-system), por uniformidad y por los beneficios
que proporcionan sus fases de construcción, tales como la autogeneración del
fichero de autocargas y la compilación de bytes de las fuentes. Debido a
que no hay una forma estandarizada de ejecutar un conjunto de pruebas para
los paquetes Emacs, las pruebas están deshabilitadas por defecto. Cuando
un conjunto de pruebas está disponible, debe ser habilitado estableciendo el
argumento #:tests?
a #true
. Por defecto, el comando para
ejecutar la prueba es make check
, pero se puede especificar
cualquier comando mediante el argumento #:test-command
. El
argumento #:test-command
espera una lista que contenga un comando y
sus argumentos, para ser invocado durante la fase check
.
Las dependencias de Elisp de los paquetes de Emacs se proporcionan
normalmente como propagated-inputs
cuando se requieren en tiempo de
ejecución. En cuanto a otros paquetes, las dependencias de construcción o
de prueba deben especificarse como native-inputs
.
Los paquetes de Emacs a veces dependen de directorios de recursos que deben
instalarse junto con los archivos de Elisp. El argumento #:include
puede utilizarse para este fin, especificando una lista de expresiones
regulares que deben coincidir. La mejor práctica cuando se utiliza el
argumento #:include
es ampliar en lugar de anular su valor por
defecto (accesible a través de la variable %default-include
). Como
ejemplo, un paquete de extensión de yasnippet suele incluir un directorio
snippets, que podría copiarse en el directorio de instalación
utilizando:
#: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.
Next: Módulos Python, Previous: snippets
frente a fases, Up: Pautas de empaquetamiento [Contents][Index]