Rust パッケージガイドライン
パッケージ作成ガイドライン
32ビット – CLR – クロス – Eclipse – Electron – Free Pascal – GNOME – Go – Haskell – Java – KDE – カーネル – Lisp – MinGW – Node.js – ノンフリー – OCaml – Perl – PHP – Python – R – Ruby – Rust – VCS – ウェブ – Wine
このドキュメントでは Rust の PKGBUILD を書く時の基準とガイドラインを説明しています。
パッケージの命名
Rust のプロジェクトをパッケージングする際は、基本的にパッケージ名は生成されるバイナリの名前と同じにするべきです。これはライブラリクレートをパッケージングする場合には当てはまらず、バイナリのクレートの場合にのみ当てはまることに注意してください。2つ以上のバイナリを生成するクレートの場合、上流のクレート名を使うのが通常適切です。いかなる場合でも、パッケージ名はすべて小文字である必要があります。
ビルド
Rust パッケージのビルド:
build() { cargo build --release --locked }
説明:
--release
で cargo はリリースビルドをコンパイルします。--locked
で cargo はCargo.lock
ファイルを変更して依存関係を更新しなくなります。再現可能なビルド とするために必要です。
チェック
大抵の Rust プロジェクトではテストスイートを簡単に実行できるようになっています:
check() { cargo test --release --locked }
パッケージ
Rust はバイナリを target/release
にビルドするので /usr/bin
にインストールします:
package() { install -Dm 755 target/release/${pkgname} -t "${pkgdir}/usr/bin" }
パッケージによっては man ページなど他のファイルもインストールするので、cargo
を用いるのがよいでしょう:
package() { cargo install --root "${pkgdir}"/usr --root "${srcdir}/${pkgname}-${pkgver}" }