Electron パッケージガイドライン
32ビット – CLR – クロス – Eclipse – Electron – Free Pascal – GNOME – Go – Haskell – Java – KDE – カーネル – Lisp – MinGW – Node.js – ノンフリー – OCaml – Perl – PHP – Python – R – Ruby – Rust – VCS – ウェブ – Wine
このドキュメントでは Electron の PKGBUILD を書く時の標準とガイドラインについて触れています。
Electron システムを使う
Arch Linux には electron と electron2AUR パッケージがあり、これらを使うことでシェルスクリプトのラッパーを介して Electron アプリケーションを実行できます:
#!/bin/sh exec electron /path/to/appname/ "$@"
appname/
ディレクトリあるいは appname.asar
という名前のファイルバンドルは resources/app/
フォルダ (または resources/app.asar
) などのビルド済み Electron アプリケーションとして存在します。他のファイルは全て Electron ランタイムのコピーであり、パッケージからは削除しても問題ありません。
コンパイル済みの拡張をシステムの Electron でビルド
一部の Electron アプリケーションは Electron ランタイムにリンクされたコンパイル済みのネイティブ拡張を含んでおり、適切なバージョンの Electron を使ってビルドする必要があります。npm/yarn は常にビルド済みのプライベートな Electron コピーでビルドしてしまうため、package.json
から Electron の依存関係にパッチをあてて、システムの Electron と同じバージョンを使うようにしてください。ビルドシステムは必要なビルド済みコピーをダウンロードして、ネイティブ拡張をコンパイルし、パッケージを作成するので、package()
で不要なファイルを削除します。
もしくは、package.json
から Electron の依存を削除して、npm の実行前に環境変数を設定することもできます:
export npm_config_target=$(cat /usr/lib/electron/version | tail -c +2) export npm_config_arch=x64 export npm_config_target_arch=x64 export npm_config_disturl=https://atom.io/download/electron export npm_config_runtime=electron export npm_config_build_from_source=true HOME="$srcdir/.electron-gyp" npm install
HOME
を $srcdir
のパスに設定することで、ビルド時に HOME
ディレクトリにファイルが作られなくなります。.electron-gyp
キャッシュを利用するコマンドのパスは調整してください。
詳しくは こちら を参照。
アーキテクチャ
PKGBUILD#arch を見てください。
コンパイル済みのネイティブ拡張を含む Electron パッケージはアーキテクチャに依存します。他のパッケージはアーキテクチャに依存しません。
パッケージにビルド済みの Electron のコピーが含まれる場合、常にアーキテクチャに依存しています。
ディレクトリ構造
パッケージがアーキテクチャ依存の場合、resources/app/
ディレクトリを /usr/lib/appname/
にインストールしてください。非依存の場合は /usr/share/appname/
を使ってください。
パッケージにビルド済みの Electron のコピーを含む場合、全て /opt/appname
にコピーしてください。