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-package
は http
および ftp
を理解し、wget
か ncftpget
のどちらかを使って、その
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-package
は PATH
を探します。
build-dir
tarball が展開されるディレクトリ。もし、URL が与えられれば、 ダウンロードされたファイルはこのディレクトリに置かれます。
bzip2
bzip2
プログラムへのパス
cat
cat
プログラムへのパス
make
make
プログラムへのパス
ncftpget
ncftpget
プログラムへのパス
rm
rm
プログラムへのパス
sudo
sudo
プログラムへのパス
tar
tar
プログラムへのパス
wget
wget
プログラムへのパス