Хотя существует несколько тысяч библиотек Emacs Lisp, GNU Emacs, до версии 24.1 не было (внутреннего) менеджера пакетов.Что вы ожидаете от менеджера пакетов для Emacs?
Я предполагаю, что большинство пользователей согласятся с тем, что в настоящее время довольно неудобно находить, устанавливать и особенно поддерживать современные библиотеки Emacs Lisp.
Страницы, которые делают жизнь немного легче
Для версий Emacs старше 24,1:
- Emacs Lisp List - Проблема: Я вижу мертвых людей (ссылки).
- Emacswiki - Проблема: Может содержать следы орехов (вредоносный код).
- Emacsmirror - Репозиторий пакета, над которым я работаю. Проблема: пакетный менеджер еще не поддерживает его.
Некоторые менеджеры пакетов
Это не то, что еще никто не пытался. (Некоторые из них не существовало, когда этот вопрос был задан.)
- auto-install
- borg.el - ассимилировать Emacs пакеты с помощью Git подмодулей.
- el-get.el - Поддерживается множество источников.
- elinstall.el
- epackage ака DELPS - концепция упаковки Debian, применяемая для пакетов Emacs Lisp.
- epkg.el - Это теперь только инструмент для просмотра Emacsmirror.
- install.el
- install-elisp.el
- jem-pkg.el
- package.el - ЭЛПА. Похоже, он будет включен в Emacs 24.
UPDATE - package.el входит в GNU Emacs, начиная с версии 24,1
- pases.el
- pelm - Установщик командной строки; используя php.
- plugin.el
- straight.el - Недавний и экспериментальный, не достиг 1.0 релиз еще.
- use-package.el
- XEmacs package manager
пакет был включен в багажнике Emacs. epkg еще не готов, а также в настоящее время недоступен. По крайней мере, install-elisp, плагин и пакет использования, похоже, больше не поддерживаются.
Я создал git repository, содержащий все эти менеджеры пакетов в качестве подмодулей.
Некоторых утилиты, которые могут быть полезны
Менеджеры пакетов могут использовать эти утилиты и/или они могут быть использованы для поддержания зеркала пакетов.
- date-calc.el - Процедуры расчета и разбора даты.
- ell.el - Просмотреть список Emacs Lisp.
- elm.el, elx.el, xpkg.el - Используется для поддержания Emacsmirror.
- genauto.el - Помогает генерировать автозагрузки для ваших пакетов elisp.
- inversion.el - Требует определенных версий пакета.
- loadhist.el, lib-requires.el, elisp-depend.el - Команды для отображения зависимостей библиотеки Emacs Lisp.
- project-root.el - Определите корень проекта и выполните действия на его основе.
- strptime.el - Частичная реализация анализа времени и времени POSIX.
- wikirel.el - Посетите соответствующие страницы в Emacs Wiki.
дискуссии о предмете под рукой
вопрос (наконец)
Так что - я хотел бы узнать от вас, что вы считаете важным/несущественным/дополнительным и т. Д. В диспетчере пакетов для Emacs.
Некоторые идеи
- Многие пакеты (Emacsmirror предусматривает, что самый большой доступный набор пакетов, но нет явной поддержки в любом менеджере пакетов еще).
- Только те пакеты, которые были протестированы.
- Поддержка нескольких архивов пакетов (так что люди могут выбирать между многими/проверенными пакетами).
- Зависимость, рассчитанная только на основе обязательных функций.
- Зависимости учитывают конкретные версии.
- Используйте только версии, выпущенные выше по течению.
- Используйте версии систем управления версиями, если они доступны.
- Пакеты классифицируются.
- Пакеты можно удалить и обновить не только.
- Поддержка создания вилки восходящей версии пакетов.
- Поддержка публикации этих вилок.
- Поддержка выбора вилки.
- После установки пакетов установки.
- Создавать файлы автозагрузки.
- Интеграция с Emacswiki (см. Wikirel.el).
- Пользователи могут помечать, комментировать и т. Д. Пакеты и делиться этой информацией.
- Только программное обеспечение, назначенное FSF/GPL/FOSS, или не заботятся о лицензии.
- Менеджер пакетов должен быть интегрирован с Emacs.
- Поддержка для автоматического контакта с автором.
- Много метаданных.
- Предложите альтернативы перед установкой определенного пакета.
Я надеюсь на эти виды ответов
- Указатели на более реализациях, дискуссии и т.д.
- длинномерные описания набора функций, которые делают ваш идеальный менеджер пакетов.
- Описание одной конкретной желаемой/нежелательной функции. Не стесняйтесь подробно излагать мои идеи сверху.
- Удивите меня.
Я должен подумать об этом, но это, правильно сделанное, было бы Лучшим Веком Когда-либо. +1. – JasonFruit
Также обсуждается на http://www.emacswiki.org/emacs/RationalElispPackaging –
Поскольку это дискуссионный вопрос без реального правильного ответа, я думаю, что это должно быть отмечено как вики сообщества. Большой вопрос, хотя, это в моем списке фаворитов. –