Plusieurs référentiels de packages sont disponibles.
Officiel
GNU ELPA est le paquetage officiel. C'est petit et il faut céder les droits d'auteur (de tous les auteurs d'un paquet) à la FSF pour y contribuer.
Les paquets sur GNU ELPA ne sont en réalité qu’un repo git . L’avantage d’être hébergé ici réside dans le fait que l’équipe principale essaie de mettre à jour les paquetages si Emacs ajoute ou déprécie des fonctionnalités.
Construit à partir de la source
MELPA est le dépôt de colis le plus important et dont la croissance est la plus rapide . Il publie une nouvelle version chaque fois qu'une nouvelle version est poussée dans un référentiel ou qu'une page EmacsWiki est mise à jour.
C'est un avantage, mais cela fonctionne très bien dans la pratique. MELPA est conçu pour éviter les paquets en double et pour s'assurer que la maison canonique du paquet est enregistrée (au lieu d'un fork) aléatoire.
MELPA a le problème que les versions ne sont que des horodatages, par exemple my-package-20131231.2359
. Cela signifie que si vous dépendez de my-package:
;; Package-Requires: ((my-package "1.2.3"))
Emacs pensera alors que toute version de MELPA est suffisamment nouvelle.
MELPA Stable est identique à MELPA, mais plutôt que d'utiliser des versions d'horodatage, il utilise les versions des balises git. Cela permet une meilleure résolution de la dépendance, mais pose des problèmes de dépendance aux paquets wiki .
Téléchargements de l'utilisateur
Marmalade ressemble beaucoup plus à un référentiel traditionnel d'autres langages de programmation. Le développeur de package télécharge le package dans Marmalade lors de la publication.
En principe, cela donne aux paquets un processus de publication approprié (Marmalade est antérieur à la version stable de MELPA) et évite également le problème du numéro de version généré automatiquement. Cependant, il n'y a pas de vérification d'identité. Tout le monde peut télécharger un paquet, même s'il ne l'a pas écrit. Cela devient difficile si le responsable de my-package
trouve que quelqu'un d'autre a téléchargé my-package
et ne peut pas télécharger ultérieurement de nouvelles versions.
Marmalade était une application node.js, et elle est maintenant écrite en elisp. Les deux versions ont parfois eu des problèmes de disponibilité.
Spécifique au projet
ELPA en mode organisationnel est un repo qui ne héberge que org
et org-plus-contrib
. Le mode Org fait partie du noyau Emacs, mais il est développé en externe et le code n'est synchronisé que périodiquement avec le tronc Emacs. Ce référentiel vous permet d’avoir le mode org à la pointe de la technologie.
User42 ELPA est un référentiel pour un développeur de paquetages unique qui a publié toute une gamme de paquets Emacs . Si vous aimez l'un de ses packages, vous pouvez ajouter ce dépôt.
Sunrise Commander ELPA est un référentiel d’extensions pour Sunrise Commander (un package Emacs pour la navigation dans les fichiers, inspiré de minuit commandant).
Retraité
ELPA de Tromey a été la première mise en place de référant . Il est officiellement remplacé par GNU ELPA, mais il n’était pas soumis aux mêmes exigences d’attribution de droits d’auteur. À partir de 2010, il n'est plus mis à jour.
L'archive de paquets Elpy contenait divers packages développés par Jorgen Schaefer pour 'Elpy, l'environnement de développement Emacs Python' , mais ayant migré vers MELPA Stable.