Nächste: Python-Module, Vorige: „Snippets“ oder Phasen, Nach oben: Paketrichtlinien [Inhalt][Index]
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.