* memo : asdf を使う
さくらのサーバにインストールした clisp で asdf を使うための一連の作業をメモ。
clisp には asdf が付属していないのでソースを取得する。
ついでにコンパイルしておく。
ここからしばらく clisp での作業。
$HOME/local/lisp/ を lisp ファイル置き場にすることにしたので、ここをロードパスに追加する。
asdf.lisp をロード。
asdf:*central-registry* にパスを追加。$HOME/local/lisp/systems/ にした。
ここに *.asd ファイルへのシンボリックリンクを置くようにする。
この状態で[[GUESS:http://lispuser.net/commonlisp/japanese.html#guess]]を使えるようにする。
ソースをダウンロードして、展開、シンボリックリンクを張る。
clisp でロード。初回はコンパイルした上でロードしてくれる。
clisp での作業は初期化ファイルにでも書いておく。clispの場合は $HOME/.clisprc 辺り。
update : 2008-03-02 (Sun) 00:05:34
clisp には asdf が付属していないのでソースを取得する。
$ cd $HOME/local/lisp $ wget "http://cclan.cvs.sourceforge.net/*checkout*/cclan/asdf/asdf.lisp" $ clisp -c asdf.lisp
ついでにコンパイルしておく。
ここからしばらく clisp での作業。
$HOME/local/lisp/ を lisp ファイル置き場にすることにしたので、ここをロードパスに追加する。
[1]> (push (merge-pathnames "local/lisp/" (user-homedir-pathname)) custom:*load-paths*) (#P"/home/raido/local/lisp/" #P"./" "~/lisp/**/")
asdf.lisp をロード。
[2]> (load '#:asdf) ;; Loading file /home/raido/local/lisp/asdf.fas ... ;; Loaded file /home/raido/local/lisp/asdf.fas T
asdf:*central-registry* にパスを追加。$HOME/local/lisp/systems/ にした。
ここに *.asd ファイルへのシンボリックリンクを置くようにする。
[3]> (push (merge-pathnames "local/lisp/systems/" (user-homedir-pathname)) asdf:*central-registry*) (#P"/home/raido/local/lisp/systems/" *DEFAULT-PATHNAME-DEFAULTS*)
この状態で[[GUESS:http://lispuser.net/commonlisp/japanese.html#guess]]を使えるようにする。
ソースをダウンロードして、展開、シンボリックリンクを張る。
$ cd $HOME/local/src/lisp $ wget http://lispuser.net/files/guess.tar.gz $ tar xf guess.tar.gz $ cd ../../lisp/systems/ $ ln -s $HOME/local/src/lisp/guess_0.1.0/guess.asd .
clisp でロード。初回はコンパイルした上でロードしてくれる。
[4]> (asdf:oos 'asdf:load-op :guess) ; loading system definition from /home/raido/local/lisp/systems/guess.asd into #<PACKAGE ASDF0> ;; Loading file /home/raido/local/lisp/systems/guess.asd ... ; registering #<SYSTEM :GUESS #x20538B31> as GUESS ;; Loaded file /home/raido/local/lisp/systems/guess.asd ;; Compiling file /home/raido/local/src/lisp/guess_0.1.0/guess.lisp ... ;; Wrote file /home/raido/local/src/lisp/guess_0.1.0/guess.fas ;; Loading file /home/raido/local/src/lisp/guess_0.1.0/guess.fas ... ;; Loaded file /home/raido/local/src/lisp/guess_0.1.0/guess.fas 0 errors, 0 warnings NIL以上。
clisp での作業は初期化ファイルにでも書いておく。clispの場合は $HOME/.clisprc 辺り。
(push (merge-pathnames "local/lisp/" (user-homedir-pathname)) custom:*load-paths*) (load '#:asdf) (push (merge-pathnames "local/lisp/systems/" (user-homedir-pathname)) asdf:*central-registry*) (asdf:oos 'asdf:load-op :guess)ロードするものが多くなって起動に時間がかかるようになったら、メモリイメージを保存して起動時にこっちを読み込むようにする。
update : 2008-03-02 (Sun) 00:05:34