Доступно несколько репозиториев пакетов.
официальный
GNU ELPA является официальным пакетом репо. Он небольшой и требует передачи авторских прав (всех авторов пакета) в ФФС, чтобы способствовать этому.
Пакеты на GNU ELPA на самом деле просто git-репо . Преимущество размещения здесь состоит в том, что основная команда пытается обновить пакеты, если Emacs сам добавляет или осуждает функции.
Построен из источника
MELPA является крупнейшим и наиболее быстро растущим репо-пакетом. Он выпускает новую версию каждый раз, когда новая версия помещается в репозиторий или обновляется страница EmacsWiki.
Это кровоточит, но на практике работает очень хорошо. MELPA курируется, чтобы избежать дублирования пакетов и обеспечить запись канонического дома пакета (вместо случайного разветвления).
У MELPA действительно есть проблема, что версии - это просто временные метки, например my-package-20131231.2359
. Это означает, что если вы зависите от my-package:
;; Package-Requires: ((my-package "1.2.3"))
тогда Emacs будет думать, что любая версия на MELPA достаточно новая.
MELPA Stable - это то же самое, что и MELPA, но вместо того, чтобы использовать версии с датой, он использует версии в тегах git. Это позволяет лучше разрешать зависимости, но имеет проблемы с зависимостью от пакетов вики .
Пользователь загружает
Мармелад гораздо больше похож на традиционный репозиторий из других языков программирования. Разработчик пакета загружает пакет в Marmalade, когда они делают релиз.
В принципе, это дает пакетам надлежащий процесс выпуска (Marmalade предшествует стабильной версии MELPA), а также позволяет избежать проблемы с автоматически генерируемым номером версии. Тем не менее, нет подтверждения личности. Любой может загрузить пакет, даже если он его не написал. Это становится трудным, если сопровождающий my-package
обнаруживает, что кто-то еще загрузил его, my-package
и не может впоследствии загрузить новые версии.
Marmalade раньше был приложением node.js, и теперь оно написано на elisp. Обе версии иногда имели проблемы с работоспособностью.
Проект конкретных
Орг-режим ELPA - это репозиторий , в котором только хосты org
и org-plus-contrib
. Режим Org является частью ядра Emacs, но он разрабатывается извне, и код периодически синхронизируется с транком Emacs. Этот репо позволяет вам использовать передовой режим орг.
User42 ELPA - это репозиторий для разработчика одного пакета, который выпустил целый ряд пакетов Emacs . Если вам нравится какой-либо из его пакетов, вы можете добавить этот репозиторий.
Sunrise Commander ELPA - это репозиторий для расширений для Sunrise Commander (пакет Emacs для просмотра файлов, созданный по мотивам Midnight Commander ).
На пенсии
ELPA Тромея был первым репо. Он официально заменен GNU ELPA, но у него не было тех же требований по передаче авторских прав. По состоянию на 2010 он больше не обновляется.
Архив пакетов Elpy содержал различные пакеты, разработанные Йоргеном Шефером для «Elpy, среды разработки Emacs Python» , но переведенные в MELPA Stable.