(define -ayalog '())

括弧に魅せられて道を外した名前のないプログラマ

Gaucheを常に最新に保つ。

ということで、GaucheはGitHubのHEADを使うのがなうでヤングらしいので、さくっとやってみる。
と、思ってVPSでHEAD入れようとして、コケまくってたら助言を頂いた。

GaucheのHEAD入れるのにGaucheないとダメなんや…。

そんな感じでさくっと…

git clone https://github.com/shirok/Gauche.git
cd Gauche
./DIST gen
./configure
make
make check
make install

こんだけですねー。さくっと出来ます。
まぁインストールの仕方だけなら、INSTALL.inに書いてあったりするんですが。
(ちなみに既にGaucheが入っている場合、gauche-config --reconfigure | sh ってやる方が良さげ)

で、Gaucehユーザーなら知っての通り、Gaucheって毎日の如くコミットされているんですよ。。。
流石shiroさん…。って感じなんですけど、じゃあ

っていう人はどうしたらいいのでしょう。

ということで少し、スクリプト書いてみた。

(use gauche.process)
(use file.util)

(define *conf* `((gauche-repo . "https://github.com/shirok/Gauche.git")
		 (tmp-dir . "./tmp")
		 (gauche-dir . "/Gauche")))

(define (main args)
  (let* ((repo (assq-ref *conf* 'gauche-repo))
	 (tmp (assq-ref *conf* 'tmp-dir))
	 (proj-dir (string-append tmp
				  (assq-ref *conf* 'gauche-dir))))
    (current-directory (home-directory))
    (run-process (list 'git
		       'clone
		       (string->symbol repo)
		       (string->symbol proj-dir))
		 :wait #t)
    (run-process '(sh DIST gen)
		 :wait #t
		 :directory proj-dir)
    (run-process '(sh configure)
		 :wait #t
		 :directory proj-dir)
    (run-process '(make)
		 :wait #t
		 :directory proj-dir)
    (run-process '(make install)
		 :wait #t
		 :directory proj-dir)))

ほい。これで毎日ターミナル起動するときに一緒に起動するようにしておけば、Gaucheが最新になるってわけです。*1

ということで、GaucheGaucheをmakeしてGaucheを常に最新に保つという、ただそれだけのネタでした。

補足

今日(5/22)時点でautoconfのバージョンが2.68じゃないとDISTでコケるぽい。
僕のMacが2.69でダメでbrewでバージョンを落として、ビルドしましたよっと。

*1:あ、でも作ったディレクトリ消すためにrm書いてないから、連続起動するとこれだけじゃもれなくgit cloneでコケますけどね