Nächste: , Vorige: , Nach oben: Paketrichtlinien   [Inhalt][Index]


22.4.6 Emacs-Pakete

Für Emacs-Pakete sollte man bevorzugt das Emacs-Erstellungssystem benutzen (siehe emacs-build-system), wegen der Einheitlichkeit und der Vorteile durch seine Erstellungsphasen. Dazu gehören das automatische Erzeugen der Autoloads-Datei und das Kompilieren des Quellcodes zu Bytecode (Byte Compilation). Weil es keinen Standard gibt, wie ein Testkatalog eines Emacs-Pakets ausgeführt wird, sind Tests nach Vorgabe abgeschaltet. Wenn es einen Testkatalog gibt, sollte er aktiviert werden, indem Sie das Argument #:tests? auf #true setzen. Vorgegeben ist, die Tests mit dem Befehl make check auszuführen, aber mit dem Argument #:test-command kann ein beliebiger anderer Befehl festgelegt werden. Für das Argument #:test-command wird eine Liste aus dem Befehl und den Argumenten an den Befehl erwartet. Er wird während der check-Phase aufgerufen.

Die Elisp-Abhängigkeiten von Emacs-Paketen werden typischerweise als propagated-inputs bereitgestellt, wenn sie zur Laufzeit benötigt werden. Wie bei anderen Paketen sollten Abhängigkeiten zum Erstellen oder Testen als native-inputs angegeben werden.

Manchmal hängen Emacs-Pakete von Ressourcenverzeichnissen ab, die zusammen mit den Elisp-Dateien installiert werden sollten. Diese lassen sich mit dem Argument #:include kennzeichnen, indem eine Liste dazu passender regulärer Ausdrücke angegeben wird. Idealerweise ergänzen Sie den Vorgabewert des #:include-Arguments (aus der Variablen %default-include), statt ihn zu ersetzen. Zum Beispiel enthält ein yasnippet-Erweiterungspaket typischerweise ein snippets-Verzeichnis, das wie folgt in das Installationsverzeichnis kopiert werden könnte:

#:include (cons "^snippets/" %default-include)

Wenn Sie auf Probleme stoßen, ist es ratsam, auf eine Kopfzeile Package-Requires in der Hauptquellcodedatei des Pakets zu achten, ob allen Abhängigkeiten und deren dort gelisteten Versionen genügt wird.