ちゃんと書く場合はleiningenでproject作った方が楽だけど、手元で手軽にclojureしたい場合の為にsystem-wideにインストールする。

$ brew install clojure-contrib
# ~/.zshrc
export CLASSPATH=$CLASSPATH:/Users/komagata/homebrew/Cellar/clojure-contrib/1.2.0/clojure-contrib.jar

clojureも依存で入る。バージョンは2011/06/25現在だと1.2.0。ついでにちょっとした起動スクリプトもcljって名前で入れてくれる。

% clj
Clojure 1.2.0
user=> (+ 1 2 3)
6

引数無しだとreplが立ち上がる。

;; unk.clj
(println "unk")
% clj unk.clj
unk

スクリプトを渡せば実行される。

clojure.mainが標準入力からスクリプトを受け取れれば

#!clj
(println "unk")

って書けそうだけど、無理。

$ brew install postgresql
$ initdb /Users/komagata/homebrew/var/postgres
$ cp /Users/komagata/homebrew/Cellar/postgresql/9.0.2/org.postgresql.postgres.plist ~/Library/LaunchAgents
$ launchctl load -w ~/Library/LaunchAgents/org.postgresql.postgres.plist

起動。

$ pg_ctl -D /Users/komagata/homebrew/var/postgres -l /Users/komagata/homebrew/var/postgres/server.log start

終了。

$ pg_ctl -D /Users/komagata/homebrew/var/postgres stop -s -m fast

滅多に使わないので立ち上がらないようにunloadしておく。

$ launchctl unload -w ~/Library/LaunchAgents/org.postgresql.postgres.plist
% psql -l
                                  List of databases
   Name    |  Owner   | Encoding |  Collation  |    Ctype    |   Access privileges  
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | komagata | UTF8     | ja_JP.UTF-8 | ja_JP.UTF-8 |
 template0 | komagata | UTF8     | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/komagata          +
           |          |          |             |             | komagata=CTc/komagata
 template1 | komagata | UTF8     | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/komagata          +
           |          |          |             |             | komagata=CTc/komagata
(3 rows)

昔はなかったAccess privilegesなんて表示が追加されてる。CTcってのはどういう意味だろう。Capture The Flag?

homebrewは元々自分のディレクトリ以外を汚さないように出来ているので好きな場所に置いてPATHを通す。

% curl http://github.com/mxcl/homebrew/tarball/master -LO
% tar zxf master
% mv mxcl-homebrew-348d28f ~/homebrew
# ~/.zshrc
export PATH=~/homebrew/bin:$PATH