For Development HEAD DRAFTSearch (procedure/syntax/module):

3.9 拡張パッケージの使用

パッケージの構築とインストール

Gauche にはまとまったライブラリが付属していますが、 Gauche をプロダクション環境で利用するのにはとても十分とはいえません。 利用可能な追加ライブラリもいくつもあります。こうしたライブラリを 拡張パッケージ、あるいは単にパッケージといいます。それぞれの パッケージは追加機能を提供するひとつあるいはそれ以上のモジュールを 提供します。ほとんどのパッケージは別のCのライブラリへのバインディングを 提供しています。たとえば、グラフィックスライブラリとかデータベース クライアントなどです。もし、パッケージがいくぶんでもCのコードを含む 場合は、利用するマシン上で、既にインストールされている Gauche システムを 使って、そのコードをコンパイルする必要があります。

通常、パッケージは圧縮 tarball の形式になっています。標準的には、 「gzの解凍 + tarの展開 + configure + make + make install」とやればよいように なっています。パッケージのドキュメントを読めば、必要に応じて、 configure スクリプトに与えるコマンドラインオプションで ライブラリを調整できるようになっています。

Gauche 0.8 より、gauche-package というユーティリティスクリプトが インストールされるようになっています。これはパッケージの構築と インストールを自動化します。

Package-1.0.tar.gz というパッケージをダウンロードしてきた としましょう。もし、このパッケージが慣例に従っていれば、やることは

$ gauche-package install Package-1.0.tar.gz

とタイプするだけです。 これで、gzip圧縮ファイルの解凍、tarアーカイブファイルの展開、 Package-1.0 サブディレクトリへの移動、configure スクリプトの 実行、make、make install が行われます。デフォルトでは、 gauche-package はカレントディレクトリに tarball を展開します。 これをカスタマイズファイル(後述)で変更することができます。

ファイルをインストールするのに特別な権限が必要な場合には、 --install-as というオプションを使うと、make install 部分が、sudo を使って実行されます。

$ gauche-package install --install-as=root Package-1.0.tar.gz

上手くいかない場合には、gauche-package build Package-1.0.tar.gz とやってパッケージの構築だけすることもできます。この場合、手で Package-1.0 ディレクトリに移動して、make install を 実行します。

設定オプションを -C あるいは --configure-options というコマンドライン引数で与えられます。たとえば、

$ gauche-package install -C "--prefix=/usr/local" Package-1.0.tar.gz

もしパッケージがこの新しい記述ファイルを採用しているなら、 以前に指定した設定オプションを記憶していて、そのパッケージを 再度インストールするときには、自動的にそれを再利用します。 (パッケージ開発者の方は、Gauche のソースツリーにある、 examples/spigot/README ファイルをチェックアウトすれば、 どのように Gauche のパッケージマネージメントシステムがやっているかを 見られます。)

tarball がローカルディレクトリにない場合でも、ダウンロードしてくる URL を知っているなら、その URL を直接 gauche-package に与える ことができます。gauche-packagehttp および ftp を理解し、wgetncftpget のどちらかを使って、その tarball をダウンロードし、configure および make を実行します。

$ gauche-package install http://www.example.com/Package-1.0.tar.gz

gauche-package のカスタマイズ

gauche-package プログラムは ~/.gauche-package があれば、 それを読みます。このファイルにはパラメータの連想リストが含まれて いなければなりません。こんな感じです。

(
 (build-dir . "/home/shiro/tmp")
 (gzip      . "/usr/local/bin/gzip")
 (bzip2     . "/usr/local/bin/bzip2")
 (tar       . "/usr/local/bin/gtar")
)

以下は、認識されるパラメータのリストです。 設定ファイルにプログラムが与えられていなければ、gauche-packagePATH を探します。

build-dir

tarball が展開されるディレクトリ。もし、URL が与えられれば、 ダウンロードされたファイルはこのディレクトリに置かれます。

bzip2

bzip2 プログラムへのパス

cat

cat プログラムへのパス

make

make プログラムへのパス

ncftpget

ncftpget プログラムへのパス

rm

rm プログラムへのパス

sudo

sudo プログラムへのパス

tar

tar プログラムへのパス

wget

wget プログラムへのパス



For Development HEAD DRAFTSearch (procedure/syntax/module):
DRAFT