Next: , Previous: , Up: Pautas de empaquetamiento   [Contents][Index]


22.5.7 Paquetes Emacs

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: Cyclic Module Dependencies, Up: Pautas de empaquetamiento   [Contents][Index]