Marmaladeはお手軽感が素敵なEmacs Lispのリポジトリサイト
これをみて便利そうだなと.時代が来たな.という訳で,はてなブログも招待してもらえたしパッケージのアップデートフォーマットのページを翻訳してみる.パッケージの登録はパッケージの作者じゃなくてもできるので,これを見た人はどんどん登録しましょう.Linuxのディストリビューションのパッケージマネージャっぽくなってきましたね.Marmaladeへのリンク
Marmalade
Spreadable Elisp
パッケージは次のどっちかのフォーマットにしてください:
ひとつの
.el
ファイル
.el
ファイルはかならずこの行で始めて下さい:;;; name.el --- description
そしてかならずこの行で終わってください:;;; name.el ends here
ほかのメタデータ(ヘッダ)をつけるならこのフォーマットで書いてください:
;; Header: value
ファイルには必ず "Version
" ヘッダがいります.ドット区切りにしてください.オプションで依存するパッケージを "Package-Requires
" ヘッダに書くことができます.パッケージはパッケージ名とバージョンのペア(たとえば(haml-mode "3.0.20") )のリストで書きます.
より詳しい記述方法が知りたければこっちを見てください package format documentation.
サンプル載せときます:
;;; sass-mode.el --- Sass major mode ;; Copyright 2007-2010 Nathan Weizenbaum ;; Author: Nathan Weizenbaum ;; URL: http://github.com/nex3/sass-mode ;; Version: 3.0.20 ;; Package-Requires: *1 ;; Code goes here ;;; sass-mode.el ends here
複数のファイルを含む,ひとつの .tar ファイル
.tar
ファイルは必ず "name-version/
" というフォーマットに合う名前のディレクトリを含めてください..tar
ファイルは必ず "name-version/
" というフォーマットに合う名前のディレクトリを含めてください.大事なことなので二回書きました.で,そのディレクトリには "name-pkg.el
" というファイルを必ず含めてください(nameとversionは登録するパッケージの情報で読み替えてね).
このファイルは `define-package'
という関数を必ず1回呼び出してください.引数は次に示した通りです:
`name'
: パッケージ名.大文字小文字を区別する.`version'
: ドット区切りのバージョン番号.`description'
(省略可): 簡単な説明.`requirements'
(省略可): 登録するパッケージが依存してるパッケジのパッケージ名とバージョンのペア(左と同じ)のリスト.クォートしてね.
より詳しい記述方法が知りたければ(ry package format documentation.
こんな感じに呼び出します:
(define-package "sass-mode" "3.0.20" "Sass major mode" '((haml-mode "3.0.20")))