http://d.hatena.ne.jp/sasaplus1/20110104/1294076643 を参考に nave を導入して、 Node.JS と npm をインストールしようとしたけど、
Node.JS (0.3.8) のコンパイルに失敗したで御座るの巻。
上のページでは、 git でダウンロードしていたので、 git を入れるんだけど、
pkgsrc/misc/git ではなく、 pkgsrc/devel/scmgit で make install する。
(misc/git の方は、現在の gnuit の前の名前らしく、そちらの方が先にあったのに、後から現れたソースコードマネジメント(SCM)の git (某Linuxの人が作った奴)に押されて、名前を変えざるを得なかったらしい。)
git が入ったら
$ git clone git://github.com/isaacs/nave.git ~/.nave
で nave を持ってくる。
nave は、ただの bash のスクリプトで curl と GNU tar を使う。
bash は、 pkgsrc/shells/bash で make install した後、 /bin/bash からハードリンクする。
# cd /bin
# ln /usr/pkg/bin/bash
nave.sh の先頭行が #!/bin/bash になってるから。
スクリプトを書き換えればいいのかもしれないけど、 git clone でとってきてるから、余計な事はしない方が、更新とかで問題が無くて良いんではないかと考えた。
curl は、 pkgsrc/www/curl で make install 。
tar は、NetBSD に入っている tar では、足りないオプションがあるので、 GNU tar をインストールする ( pkgsrc/archivers/gtar で make install)。
そして、 nave.sh 起動前に TAR 環境変数に GNU tar へのパス( /usr/pkg/bin/gtar ) を設定する。
csh では、 setenv TAR /usr/pkg/bin/gtar
sh では、 TAR=/usr/pkg/bin/gtar; export TAR
node.js のインストールで、最新版は、
$ ~/.nave/nave.sh install latest
で、それ以外のバージョンは、
$ ~/.nave/nave.sh ls-remote
でどんなバージョンがあるかを確認して
$ ~/.nave/nave.sh install 0.3.7
とかする。
で、実際にやってみると、エラーになって失敗する。
node.js のソースは、 ~/.node/src/<バージョン> にあるんだけど、
その中の deps/c-ares/ares_free_string.c で ares_setup.h が見つからないというエラーが1番最初みたいだった。
ares_setup.h は、プラットフォーム毎のディレクトリ内にあるようだけど、 NetBSD のディレクトリが無いようだった。
NetBSD には、対応していないという事なのだろうか?
ここで、断念した。
【追記】
node.js のコンパイルに python を使うらしいというのを読んで、だいぶ前に python をインストールしてた。
pkgsrc/lang/python?? で make install して、
/usr/local/bin/python から /usr/pkg/bin/python?? にリンクしていた。
?? のバージョンは、後で、調べて書く。