シンプルなパッケージは、単一のEmacs Lispソースファイルで構成されます。このファイルは、Emacs Lispライブラリのヘッダー規約に準拠している必要があります(Emacsライブラリの標準ヘッダーを参照)。パッケージの属性は、以下の例に示すように、各種ヘッダーから取得されます。
;;; superfrobnicator.el --- Frobnicate and bifurcate flanges -*- lexical-binding:t -*- ;; Copyright (C) 2022, 2025--2026 Free Software Foundation, Inc.
;; Author: J. R. Hacker <jrh@example.com> ;; Version: 1.3 ;; Package-Requires: ((flange "1.0")) ;; Keywords: multimedia, hypermedia ;; URL: https://example.com/jrhacker/superfrobnicate ... ;;; Commentary: ;; This package provides a minor mode to frobnicate and/or ;; bifurcate any flanges you desire. To activate it, just type ... ;;;###autoload (define-minor-mode superfrobnicator-mode ...
パッケージ名は、1行目に記載されているファイルのベース名と同じです。ここでは ‘superfrobnicator’ となっています。
簡潔な説明も1行目から引用されています。ここでは「Frobnicate and bifurcate flanges」となっています。
バージョン番号は、‘Package-Version’ ヘッダーが存在する場合はその値から、そうでない場合は ‘Version’ ヘッダーから取得されます。いずれか一方の 必ず 存在する必要があります。ここでは、バージョン番号は 1.3 です。
ファイルに ‘;;; Commentary:’ セクションがある場合、このセクションが詳細な説明として使用されます。(説明を表示する際、Emacs は ‘;;; Commentary:’ 行のほか、解説文自体の先頭にあるコメント文字も省略します。)
ファイルに ‘Package-Requires’ ヘッダーがある場合は、それがパッケージの依存関係として使用されます。上記の例では、パッケージは ‘flange’ パッケージのバージョン 1.0 以上に依存しています。‘Package-Requires’ ヘッダーの説明については、Emacs ライブラリの慣用ヘッダーを参照してください。Emacs の特定のバージョンに依存させるには、パッケージ名として ‘emacs’ を指定します。ヘッダーが省略されている場合、そのパッケージに依存関係はありません。
‘Keywords’ および ‘URL’ ヘッダーは任意ですが、推奨されます。コマンド describe-package はこれらを使用して、出力にリンクを追加します。‘Keywords’ ヘッダーには、finder-known-keywords
リストにある標準キーワードが少なくとも1つ含まれている必要があります。
また、パッケージングの基本で説明されている通り、ファイルには1つ以上のオートロード用マジックコメントを含める必要があります。上記の例では、マジックコメントによってsuperfrobnicator-modeがオートロードされます。
単一ファイルパッケージをパッケージアーカイブに追加する方法については、パッケージアーカイブの作成と管理を参照してください。