プラグインによるfpmの拡張

プラグインによるfpmの拡張

Fortranパッケージマネージャにはプラグインシステムが備わっており,機能を容易に拡張できます.ここでは,プラグインをインストールし,使用する方法を示します.

レジストリ検索ツール

fpm-searchプロジェクトはパッケージが登録されているfpmレジストリを照会するためのプラグインです.fpmとともにビルドされているので,以下のように簡単にシステムにインストールできます.

git clone https://github.com/urbanjost/fpm-search
cd fpm-search
fpm install --profile release

fpm-searchのバイナリが~/.local/bin(Windowsでは%APPDATA%\local\bin)にインストールされます.

注釈

インストールされたバイナリがPATH内にあることを確認します.すなわち,次のコマンドを実行します.

which fpm-search
~/.local/bin/fpm-search

バイナリが見つからない場合は,インストールされたディレクトリをパスに追加します.

bashシェルの標準設定は,ホームディレクトリにある.bashrcで確認できます.以下の手順でPATHに追加してください.

echo 'export PATH=$PATH:$HOME/.local/bin' >> ~/.bashrc
. ~/.bashrc

.bashrcを変更した後,.bashrcを再読込してください.そうしないと,変更が現在のシェルに適用されません.

zshシェルの標準設定はホームディレクトリの.zshrcで確認できます.下記コマンドを用いてPATHに追加してください.

echo 'export PATH=$PATH:$HOME/.local/bin' >> ~/.zshrc
exec zsh

.zshrcを変更した後,zshを再起動してください.そうしないと,変更が現在のシェルに適用されません.

PATH変数は,コマンドプロンプトからpathmanプログラムを利用して変更できます.

pathman /au %APPDATA%\local\bin

インストールできたので,fpmから新しいプラグインを呼び出すことができます.

❯ fpm search
Downloading registry ... https://github.com/fortran-lang/fpm-registry/raw/master/index.json
...

コマンドには,fpm-searchではなくfpm searchを用いていることに注意してください.コマンドラインインタフェースを構築するためのパッケージを見つけるには,次のように入力します.

❯ fpm search commandline
M_CLI : Unix-style commandline parsing using a prototype command and NAMELIST (STD:f2008)
M_CLI2 : Unix-style commandline parsing using a prototype command

パッケージを用いるために必要なマニフェストの依存関係の設定内容を,次のコマンドを実行して生成します.

❯ fpm search --toml M_CLI2
M_CLI2 = { git = "https://github.com/urbanjost/M_CLI2" }

この一行をパッケージマニフェストに追加することで,当該のプロジェクトを参照できます.

まとめ

ここでは以下の方法を学びました.

  • fpmプラグインをインストールする方法

  • レジストリを照会するためにfpm-searchプラグインを使用する方法

  • 照会結果から依存関係の設定を生成する方法