clbuildを使う


Tag: ライブラリ管理

CLiki:clbuildはオープンソースで公開されているCommon Lispパッケージのソースの最新版を取得してasdfから利用可能な形にセットアップしてくれるUNIXのコマンドラインツールです。bashのスクリプトとして書かれています。

一度インストールしたCommon Lispパッケージをとても簡単に最新版に更新できるので、常に開発中のコードの最前線を追いかけるような利用スタイルに向いています。

ソースコードの最新版の取得のためにclbuildの他にバージョン管理ツールのインストールが必要です。 パッケージの作者やチームによって使われているバージョン管理ツールは様々ですので今のところ以下のツールをインストールしなければなりません。

例えばUbuntuをお使いでしたら次のコマンドでインストールできます。

sudo aptitude install darcs subversion mercurial git-core cvs

これらのバージョン管理ツールをインストールできたら、コマンドラインから次のように入力してclbuild自体を取得します。

 darcs get http://common-lisp.net/project/clbuild/clbuild

カレントディレクトリにclbuildというディレクトリができるので、中に移動してclbuildコマンドを実行可能にします。

 cd clbuild
 chmod +x clbuild

次にclbuildが動作可能かclbuild自身にチェックさせます。

 ./clbuild check

 ./clbuild help
 ./clbuild install cl-ppcre
 ./clbuild update --installed
 ./clbuild lisp

Common Lispパッケージの追加が簡単、という特長もあります。

試しにjpパッケージを追加してみます。

clbuild/my-projects というファイルをエディタなどで開き(なければ作成し)次の行を追加します。(1行です)

 jp     get_tarball http://lispuser.net/files/jp.tar.gz #Basic utility for Japanese

これだけでパッケージがclbuildに認識されます。 インストールしてみましょう。

 ./clbuild install jp

clbuildから起動したLisp処理系内で利用可能になっています。

./clbuild lisp
* (asdf:oos 'asdf:load-op 'jp)

自作するasdf対応のLispパッケージの開発にも便利に使えます。

./clbuild make-project my-great-project

clbuildのインストールディレクトリのsource/my-great-projectディレクトリにasdfからロード可能な雛型が作成されます。

./clbuild lisp
* (asdf:operate 'asdf:load-op :my-great-project)
* (my-great-project:test)
-> Hello World from new project my-great-project
=> NIL