Простой пакет состоит из одного исходного файла Emacs Lisp. Файл должен соответствовать соглашениям заголовка библиотеки Emacs Lisp (см. Соглашения для заголовков библиотек Emacs). Атрибуты пакета берутся из различных заголовков, как показано в следующем примере:
;;; superfrobnicator.el --- Frobnicate and bifurcate flanges -*- lexical-binding:t -*- ;; Copyright (C) 2022, 2025 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 …
Название пакета совпадает с базовым именем файла, как оно указано в первой строке. Здесь это «superfrobnicator».
Краткое описание также берется из первой строки. Здесь это «Frobnicate and bifurcate flanges».
Номер версии берется из заголовка «Package-Version», если он существует, или из заголовка «Version» в противном случае. Один из них должен присутствовать. Здесь номер версии — 1.3.
Если в файле есть раздел «;;; Commentary:», этот раздел используется как длинное описание. (При отображении описания Emacs опускает строку «;;; Commentary:», а также ведущие символы комментария в самом комментарии.)
Если в файле есть заголовок «Package-Requires», он используется как зависимости пакета. В приведенном выше примере пакет зависит от пакета «flange» версии 1.0 или выше. См. Соглашения для заголовков библиотек Emacs для описания заголовка «Package-Requires». Чтобы зависеть от определенной версии Emacs, укажите «emacs» как имя пакета. Если заголовок опущен, у пакета нет зависимостей.
Заголовки «Keywords» и «URL» являются необязательными, но рекомендуются. Команда describe-package использует их для добавления ссылок в свой вывод. В заголовке «Keywords» должно содержаться как минимум одно стандартное ключевое слово из списка finder-known-keywords.
В файле также должны присутствовать одна или несколько комментариев магии autoload, как описано в Основы упаковки. В приведенном выше примере комментарий магии загружает superfrobnicator-mode.
См. Создание и обслуживание архивных пакетов для объяснения того, как добавить однофайловый пакет в архив пакетов.