Un copain et moi voulons commencer à écrire des packages emacs spécifiques pour une utilisation dans notre entreprise. (Croyez-moi, rien de ce que nous écrivons ne sera d'un grand intérêt pour quiconque extérieur - c'est l'intégration avec des outils internes.)
Nous aimerions rendre l'installation et la maintenance des packages aussi simples que possible et nous pensons que cela signifie une intégration avec package.el
. Que devons-nous faire pour mettre en place un référentiel pour une telle utilisation?
package-repositories
Sean Allred
la source
la source
Réponses:
J'ai mis en place une archive de paquet local (Emacs 24.5) en utilisant
package.el
d'abord la création de deux répertoires,pkgs
etlocal
. (Les noms n'ont pas d'importance.) Les fichiers qui composent vos packages entrentpkgs
etlocal
finiront par contenir vos archives. Si vous souhaitez mettre une archive à la disposition d'autres personnes, vous pouvez l'exposer à l'local
aide d'un serveur Web, mais le processus est identique à la création d'une archive locale.Je mets ce qui suit dans mon
init.el
dossier:J'ai mis mes archives dans mon
.emacs.d
répertoire (d'où leuser-emacs-directory
dans leexpand-file-name
formulaire) mais vous pouvez les mettre où bon vous semble.Une fois cela évalué, exécutez
M-x package-upload-file
et entrez le nom de fichier de votre package à installer. Cela va générer un nouveau package danslocal
. Vous verrez trois nouveaux fichiers là - dedans,archive-contents
,yourpackagename-version.el
etyourpackagename-readme.txt
. Vous devriez maintenant pouvoir faireM-x package-list-packages
et voir votre paquet répertorié. Avec de la chance, ils seront en haut marqués "nouveau". Vous pouvez installer le package comme d'habitude, et vous le verrez apparaître dans votre.emacs.d/elpa
répertoire comme tout autre package.Cela devrait fonctionner dès la sortie d'Emacs 24. Je ne suis pas sûr des versions antérieures. Vos utilisateurs peuvent accéder à votre package de la manière habituelle en incluant
dans leur
init.el
dossier.Pour plus d'informations sur la façon d'écrire un paquet, voir Préparation du code Lisp pour la distribution dans le manuel GNU Emacs Lisp.
la source
M-x package-update-file
, il met le.el
fichier directement souslocal/
dir. Est - il possible de créer un sous - répertoire pour chaque paquet afin que nous nous retrouvons aveclocal/pkg1/pkg1.el
,local/pkg2/pkg2.el
...?elpa
répertoire est configuré comme vous le décrivez. Je ne sais vraiment pas pourquoilocal
. Gardez à l'esprit que ces fichiers sont générés automatiquement, donc personne n'a jamais vraiment à les regarder. Je garde mes fichiers sous contrôle de version avec git, et je place monlocal
répertoire.gitignore
pour cette raison. Je garde monpkgs
répertoire bien organisé et sous contrôle de version, maislocal
c'est ce qu'il est.local/
aussi? Je voulais l'arrangement hiérarchique afin que je puisse spécifier les métadonnées URL du package en tant que;; URL: http://yourdomain.com/path-to-local-dir/pkg1
, et ainsi de suite pour différents packages. Mais ce n'est pas grave. Je suis plus ravi de publier mes packages dans un elpa local. :)local
répertoire de toute façon. Dirigez-les plutôt vers la source d'origine.Si vous souhaitez héberger quelque chose comme MELPA, vous pouvez trouver des instructions sur le wiki de MELPA sur la façon d'héberger votre propre instance MELPA:
https://github.com/melpa/melpa/wiki/Custom-Melpa-Archive
Essentiellement, cela se résume à:
recipes/
répertoiremake
.la source