Obwohl mehrere tausend Emacs Lisp-Bibliotheken existieren, hatte GNU Emacs bis Version 24.1 keinen (internen) Paketmanager.
Ich denke, dass die meisten Benutzer zustimmen würden, dass es derzeit ziemlich unpraktisch ist, Emacs Lisp-Bibliotheken zu finden, zu installieren und insbesondere auf dem neuesten Stand zu halten.
Seiten, die das Leben ein bisschen einfacher machen
Für Versionen von Emacs älter als 24.1:
- Emacs Lisp List - Problem: Ich sehe Tote (Links).
- Emacswiki - Problem: Kann Spuren von Nüssen enthalten (Schadcode).
- Emacsmirror - Das Paket-Repository, an dem ich arbeite. Problem: Noch kein Paketmanager unterstützt es nativ.
Einige Paketmanager
Es ist nicht so, dass es noch niemand versucht hat. (Einige davon existierten nicht, als diese Frage gestellt wurde.)
- automatische Installation
- borg.el - Assimilieren von Emacs-Paketen mithilfe von Git-Submodulen.
- el-get.el - Unterstützt viele Quellen.
- elinstall.el
- epackage aka DELPS - Debian-Verpackungskonzepte für Emacs Lisp-Pakete.
- epkg.el - Dies ist jetzt nur ein Tool zum Durchsuchen des Emacsmirror.
- install.el
- install-elisp.el
- jem-pkg.el
- package.el - ELPA. Scheint, als würde es in Emacs 24 enthalten sein.
UPDATE - package.el ist in GNU Emacs ab Version 24.1 enthalten
- pases.el
- pelm - Befehlszeileninstallationsprogramm; mit php.
- plugin.el
- Straight.el - Neu und experimentell, hat die Version 1.0 noch nicht erreicht.
- use-package.el
- XEmacs-Paketmanager
Das Paket wurde in den Emacs-Kofferraum aufgenommen. epkg ist noch nicht fertig und auch momentan nicht verfügbar. Zumindest Install-Elisp, Plugin und Use-Package scheinen nicht mehr aktiv gewartet zu werden.
Ich habe ein Git- Repository erstellt, das alle diese Paketmanager als Submodule enthält.
Einige Dienstprogramme, die nützlich sein könnten
Paketmanager könnten diese Dienstprogramme verwenden und / oder sie könnten verwendet werden, um einen Spiegel von Paketen zu verwalten.
- date-calc.el - Routinen zur Datumsberechnung und -analyse .
- ell.el - Durchsuchen Sie die Emacs Lisp-Liste.
- elm.el , elx.el , xpkg.el - Wird zur Wartung des Emacsmirror verwendet .
- genauto.el - Hilft beim Generieren von Autoloads für Ihre Elisp-Pakete.
- inversion.el - Erfordert bestimmte Paketversionen.
- loadhist.el, lib-require.el, elisp-abhäng.el - Befehle zum Auflisten der Abhängigkeiten der Emacs Lisp-Bibliothek.
- project-root.el - Definieren Sie einen Projektstamm und ergreifen Sie darauf basierende Aktionen.
- strptime.el - Teilweise Implementierung der POSIX-Analyse von Datum und Uhrzeit.
- wikirel.el - Besuchen Sie relevante Seiten im Emacs-Wiki.
Diskussionen zum Thema
Die Frage (endlich)
Also - ich würde gerne von Ihnen wissen, was Sie in einem Paketmanager für Emacs für wichtig / unwichtig / ergänzend usw. halten.
Einige Ideen
- Viele Pakete (der Emacsmirror bietet die größte verfügbare Sammlung von Paketen, aber es gibt noch keine explizite Unterstützung in einem Paketmanager).
- Nur getestete Pakete.
- Unterstützung für mehr als ein Paketarchiv (sodass Benutzer zwischen vielen / getesteten Paketen wählen können).
- Die Abhängigkeit wird nur basierend auf den erforderlichen Funktionen berechnet.
- Abhängigkeiten berücksichtigen bestimmte Versionen.
- Verwenden Sie nur Versionen, die vorgelagert veröffentlicht wurden.
- Verwenden Sie Versionen von Versionskontrollsystemen, falls verfügbar.
- Pakete sind kategorisiert.
- Pakete können deinstalliert und aktualisiert werden, nicht nur installiert.
- Unterstützung beim Erstellen einer Verzweigung der Upstream-Version von Paketen.
- Unterstützen Sie das Veröffentlichen dieser Gabeln.
- Unterstützung bei der Auswahl einer Gabel.
- Nach der Installation werden Pakete aktiviert.
- Generieren Sie Autoload-Dateien.
- Integration mit Emacswiki (siehe wikirel.el).
- Benutzer können Pakete markieren, kommentieren usw. und diese Informationen teilen.
- Nur FSF-zugewiesene / GPL / FOSS-Software oder keine Lizenz.
- Paketmanager sollte integriert werden, um mit Emacs verteilt zu werden.
- Unterstützung für die einfache Kontaktaufnahme mit dem Autor.
- Viele Metadaten.
- Schlagen Sie Alternativen vor, bevor Sie ein bestimmtes Paket installieren.
Ich hoffe auf solche Antworten
- Hinweise auf weitere Implementierungen, Diskussionen etc.
- Ausführliche Beschreibungen einer Reihe von Funktionen, die Ihren idealen Paketmanager ausmachen.
- Beschreibungen eines bestimmten gewünschten / unerwünschten Merkmals. Fühlen Sie sich frei, meine Ideen von oben zu erläutern.
- Überrasch mich.