Dostępnych jest kilka repozytoriów pakietów.
Urzędnik
GNU ELPA to oficjalne repozytorium pakietów. Jest mały i wymaga przypisania praw autorskich (wszystkich autorów pakietu) do FSF, aby mógł się do niego przyczynić.
Pakiety GNU ELPA to tak naprawdę repozytorium git . Zaletą hostowania tutaj jest to, że główny zespół próbuje aktualizować pakiety, jeśli sam Emacs dodaje lub przestaje działać.
Zbudowany ze źródła
MELPA to największe i najszybciej rozwijające się repozytorium pakietów. Wydaje nową wersję za każdym razem, gdy nowa wersja jest przekazywana do repozytorium lub strona EmacsWiki jest aktualizowana.
To krwawiąca przewaga, ale w praktyce działa bardzo dobrze. MELPA jest wyselekcjonowana, aby uniknąć duplikatów pakietów i zapewnić rejestrację kanonicznego katalogu głównego pakietu (zamiast losowego rozwidlenia).
MELPA ma problem polegający na tym, że wersje są tylko znacznikami czasu, np my-package-20131231.2359
. Oznacza to, że jeśli zależysz od mojego pakietu:
;; Package-Requires: ((my-package "1.2.3"))
wtedy Emacs pomyśli, że każda wersja MELPA jest wystarczająco nowa.
MELPA Stabilny jest taki sam jak MELPA, ale zamiast używać wersji datestamp, używa wersji w tagach git. Pozwala to na lepsze rozwiązywanie zależności, ale ma problemy z zależnością od pakietów wiki .
Przesłane przez użytkownika
Marmolada bardziej przypomina tradycyjne repozytorium z innych języków programowania. Twórca pakietu przesyła pakiet do Marmalade po wydaniu.
Zasadniczo zapewnia to poprawny proces wydawania pakietów (Marmalade wyprzedza stabilną wersję MELPA), a także pozwala uniknąć problemu z automatycznym generowaniem numeru wersji. Nie ma jednak weryfikacji tożsamości. Każdy może przesłać pakiet, nawet jeśli go nie napisał. Staje się to trudne, jeśli opiekun my-package
odkryje, że ktoś inny przesłał my-package
i nie może później przesłać nowych wersji.
Marmolada była kiedyś aplikacją node.js, a teraz jest napisana w elisp. Obie wersje miały czasami problemy z czasem pracy.
Specyficzne dla projektu
Tryb ELPA w trybie Org to repozytorium, które obsługuje tylko org
i org-plus-contrib
. Tryb Org jest częścią rdzenia Emacsa, ale został opracowany zewnętrznie, a kod jest okresowo synchronizowany z pniem Emacsa. To repo pozwala Ci na najnowocześniejszy tryb org.
User42 ELPA to repozytorium dla jednego dewelopera pakietów, który wydał całkiem sporo pakietów Emacsa . Jeśli podoba Ci się któryś z jego pakietów, możesz dodać to repo.
Sunrise Commander ELPA to repozytorium rozszerzeń dla Sunrise Commander (pakiet Emacsa do przeglądania plików, zainspirowany przez północnego dowódcę).
Na emeryturze
ELPA firmy Tromey była pierwszą konfiguracją repo. Oficjalnie został zastąpiony GNU ELPA, ale nie miał takich samych wymagań dotyczących przypisania praw autorskich. Od 2010 r. Nie jest już aktualizowany.
Archiwum pakietów Elpy zawierało różne pakiety opracowane przez Jorgena Schaefera dla „Elpy, środowisko programistyczne Emacsa Pythona” , ale migracja do MELPA Stable.