Un amigo y yo queremos comenzar a escribir paquetes de emacs específicos para su uso en nuestra empresa. (Confía en mí, nada de lo que escribimos será de gran interés para cualquiera que esté fuera: es integración con herramientas internas)
Nos gustaría hacer que la instalación y el mantenimiento del paquete sean lo más fáciles posible y creemos que esto significa integración con package.el. ¿Qué debemos hacer para configurar un repositorio para tal uso?
                    
                        package-repositories
                                
                    
                    
                        Sean Allred
fuente
                
                fuente

Respuestas:
Configuré un archivo de paquete local (Emacs 24.5) usando
package.elprimero creando dos directorios,pkgsylocal. (Los nombres no importan). Los archivos que componen sus paquetes entranpkgsylocalterminarán manteniendo su archivo. Si desea que un archivo esté disponible para otros, puede exponerlolocalutilizando un servidor web, pero el proceso es el mismo que crear un archivo local.Puse lo siguiente en mi
init.elarchivo:Puse mi archivo en mi
.emacs.ddirectorio (de ahíuser-emacs-directoryelexpand-file-nameformulario) pero puedes ponerlo donde quieras.Una vez que se evalúa esto, ejecute
M-x package-upload-filee ingrese el nombre de archivo de su paquete que se instalará. Esto generará un nuevo paquete enlocal. Verá tres nuevos archivos allí,archive-contents,yourpackagename-version.el, yyourpackagename-readme.txt. Ahora debería poder hacerM-x package-list-packagesy ver su paquete en la lista. Con suerte, estarán en la parte superior marcados como "nuevos". Puede instalar el paquete como de costumbre, y verá que aparece en su.emacs.d/elpadirectorio como cualquier otro paquete.Esto debería funcionar de inmediato para Emacs 24. No estoy seguro acerca de las versiones anteriores. Sus usuarios pueden acceder a su paquete de la manera habitual al incluir
en su
init.elarchivoPara obtener información sobre cómo escribir un paquete, consulte Preparación del código Lisp para su distribución en el manual GNU Emacs Lisp.
fuente
M-x package-update-file, coloca el.elarchivo directamente bajolocal/dir. ¿Hay una manera de crear un subdirectorio para cada paquete de modo que nos encontramos conlocal/pkg1/pkg1.el,local/pkg2/pkg2.el, ...?elpadirectorio se configura de la manera que usted describe. Realmente no sé por qué no lolocales. Tenga en cuenta que estos archivos se generan automáticamente, por lo que nadie realmente tiene que mirarlos. Mantengo mis archivos bajo control de versiones con git, y pongo milocaldirectorio.gitignorepor ese motivo. Mantengo mipkgsdirectorio bien organizado y bajo control de versiones, perolocales lo que es.local/también? Quería la disposición jerárquica para poder especificar los metadatos de URL del paquete como;; URL: http://yourdomain.com/path-to-local-dir/pkg1, y así sucesivamente para diferentes paquetes. Pero no es gran cosa. Estoy más emocionado de publicar mis paquetes en un elpa local. :)localdirectorio de todos modos. Apúntelos a la fuente original en su lugar.Si desea alojar algo como MELPA, puede encontrar instrucciones en el wiki de MELPA sobre cómo alojar su propia instancia de MELPA:
https://github.com/melpa/melpa/wiki/Custom-Melpa-Archive
Esencialmente, se reduce a:
recipes/directoriomake.fuente