- Mac+CarbonEmacs+ACL(+eli)+clbuild という環境ができるかどうかトライ。
- バージョン管理ツールたちで存在しないものはmacportsを使う。(cvsとsvnはmacに入っている) (ただし私は日本語patchをあてたsvnをmacportsベースで使っているので細かくいうと違うのだが、たぶんclbuildにとってはどちらでも同じだと思う)
- バージョン管理ツールたちを用意。
$ sudo port install git-core
$ sudo port install darcs
$ sudo port install mercurial
$ sudo port install wget
macportsのお約束かもしれないが、エラーが散発して手動対処が必要になる。こんな感じ。
~$ sudo port install darcs
[snip]
Unable to activate port gmp.
Error: The following dependencies failed to build: ghc gmp libedit
Error: Status 1 encountered during processing.
~$ sudo port uninstall gmp
---> Uninstalling gmp @4.2.4_0
~$ sudo port -f install gmp
---> Installing gmp @4.2.4_0
---> Activating gmp @4.2.4_0
Warning: File /opt/local/include/gmp.h already exists. Moving to: /opt/local/include/gmp.h.mp_1230992586.
[snip]
Warning: File /opt/local/share/info/gmp.info-2 already exists. Moving to: /opt/local/share/info/gmp.info-2.mp_1230992586.
---> Cleaning gmp
~$ sudo port install darcs
[snip]
これを繰り返すとたいていうまくいく。理由はわからない。今は深掘りしない。 - Terminal->Screen->bash->Emacs->bash(shell mode)->port という中でdarcsのinstallをしていたらいつまでたってもおわらない。。。そこで、それらを全てkillしてTerminal->bash->portでやりなおし。そんなに時間かからずに終わる。理由はわからない。今は深掘りしない。
- いろいろ小回りがきくようにSBCLもいれておく。
$ sudo port install sbcl - これで準備が整ったはず。clbuildは依存関係に留意したdownloaderとしてのみ使う方針。さっそくDL。
$ ./clbuild update --all-projects - .clinit.clを変更。clbuildのsystemsを追加。
(require :asdf)
(setf asdf:*central-registry*
'(*default-pathname-defaults*
#p "/Users/aka/local/lib/cl/systems/"
#p "/Users/aka/local/lib/clbuild/systems/"))
自分で手で管理するものlib/cl/systems/にいれて、clbuildの管理のものをlib/clbuild/systems/にいれる運用とする。 - 使ってみる。
CL-USER(2): (asdf:operate 'asdf:load-op 'cxml)
(...)
CL-USER(3): :cd
/Users/aka/
CL-USER(4): :cd /Users/aka/scratch/cl/
/Users/aka/scratch/cl/
CL-USER(5): (with-open-file (s "example.xml" :direction :output)
(write-string "<test a='b'><child/></test>" s))
"<test a='b'><child/></test>"
CL-USER(6): (cxml:parse-file "example.xml" (rune-dom:make-dom-builder))
#<RUNE-DOM::DOCUMENT @ #x10029a9182>
CL-USER(7): (defparameter *example* *)
*EXAMPLE*
CL-USER(8): (dom:document-element *example*)
#<RUNE-DOM::ELEMENT test @ #x10029ba012>
CL-USER(9): (dom:tag-name (dom:document-element *example*))
"test"
一応使える。 - これで様子をみてみよう。
こつこつ。
0 件のコメント:
コメントを投稿