Gauche > Archives > 2015/02/19

2015/02/19 02:02:48 UTCえんどう
#
https://github.com/eyasuyuki/Kahua/blob/master/src/kahua-package.scm.in
#
https://github.com/eyasuyuki/Kahua/blob/master/src/Makefile.in
#
こういう風に書き直して、
#
https://github.com/eyasuyuki/docker-kahua/blob/master/Dockerfile
#
WORKDIR /work
RUN kahua-package create site
RUN kahua-package generate hello

WORKDIR hello
RUN ./DIST gen
RUN ./configure --with-site-bundle=/work/site
RUN make
RUN make check
#
ってやるとこんなエラー。
#
Step 29 : RUN make check
 ---> Running in d544cfd25f5a
rm -f test/test.log
cd test; /usr/local/bin/gosh -I/usr/local/lib/kahua ./test.scm > test.log
Testing hello ...                                                *** ERROR: unbound variable: kahua-init
Stack Trace:
_______________________________________
  0  (kahua-init *config*)
        At line 34 of "././test.scm"
make: *** [check] Error 70
2015/02/19 02:16:39 UTC(び)
#
確かにkahua-initないな
#
2008-10-24  Tatsuya BIZENN  <bizenn@arthub.net>

        * Change: src/kahua/config.scm.in, test/config.scm, test/session.scm
          Drop procedure "kahua-init" because Kahua cannot work without any site bundle.
          You must use kahua-common-init instead of kahua-init.
#
追随漏れなのかな
2015/02/19 04:33:55 UTCえんどう
#
(kahua-init *config) を (kahua-common-init #f *config*) に変えたらこんなエラー。
#
jully:hello yasuyuki$ make check
rm -f test/test.log
cd test; /usr/local/bin/gosh -I/usr/local/lib/kahua ./test.scm > test.log
Testing hello ...                                                *** ERROR: Site bundle must be specified by -S option or KAHUA_DEFAULT_SITE environment.
Stack Trace:
_______________________________________
make: *** [check] Error 70
2015/02/19 08:20:02 UTCえんどう
#
これ今までは $(sysconfdir)/kahua.conf 読んでたから動いてたっていうオチ?
2015/02/19 08:46:37 UTCえんどう
#
https://github.com/nkoguro/docker-gauche/blob/master/stable/Dockerfile
#
こりゃ便利。
2015/02/19 08:48:30 UTC(び)
#
たぶんそういうこと
#
なんかconfigまわりを大幅に変えようとしてた記憶もあるし、当初の意図を完全に忘れてるな
#
どうするつもりだったのか
2015/02/19 08:56:21 UTCえんどう
#
testの中でsite-bindle作る鹿
2015/02/19 09:02:11 UTC(び)
#
うん。それしかない気がしている。
2015/02/19 09:19:17 UTC(び)
#
というか、そもそもconfigure使いたくなかったんだよ。思い出したけど。
#
100% Gaucheにしか依存してないのに、なんでconfigureなんて必要なんだ〜、と思ったところでぶん投げたんだった。
#
でもそれは、Kahuaの問題でもあるけどGaucheの問題でもあって
#
100% Gaucheなモジュールをパッケージ化するのにconfigure使いたくないなぁ、と。
#
Kahua全体にも言えることなんだよね。Kahuaでconfigure使いたくない
2015/02/19 09:45:46 UTCshiro
#
pure schemeのconfigureでも使いたくない (Makefileをプリプロセスする手間が嫌)、ってこと?
2015/02/19 09:48:21 UTC(び)
#
makeも、微妙なんだよな。依存したもんかどうか。でもまぁ、makeはよしとして。プリプロセスが必要ならpure Gaucheスクリプトでやりたい。
#
だからといって、RubyやPythonのモジュール作成の仕組みが優れてるとも思えないんだよなぁ。
#
モジュール管理の部分は学ぶところ多だとは思うけど
2015/02/19 09:53:41 UTCshiro
#
まあmakeの限界ってのは感じてて、Gaucheあるの分かってるならGaucheでビルドまでやっちゃえば、と悪魔が囁くんだけど、中途半端に作っても使いにくい俺システムが一個増えるだけだからなあ。
2015/02/19 09:57:41 UTC(び)
#
そうなんですよねぇ。gemもsetuptoolsも、ビルドシステムとしては全くもって使いづらいので。
#
ただ、gauche-configがPATH上にあれば、Makefileだけでなんとかなるような気もします。
2015/02/19 10:01:25 UTCshiro
#
Makefileで何でもやろうとしないで、makeは純粋に依存関係の解決だけに使い、面倒な処理はmakeから呼び出すスクリプトに任せる、というのがいいとは思うんだけど。配った先での使われ方がいろいろありえるとやっぱりパラメタライズしたくなるんだよなあ。
2015/02/19 10:16:44 UTCえんどう
#
configure.acとかMakefile.inとか久しぶりに触ってみてもうこの世界には戻りたくないと思った。
2015/02/19 10:21:39 UTCshiro
#
だからといってSConsとかgyp/ninjaとかがとびきりすごいかというとどうなんだろ。中身知ってれば思い通りに動かせるんだろうけど、そっちに興味ないって人から見たら結局ブラックボックスだしなあ。
#
まあ後発のシステムの方が性能面とかは有利だけどね。
2015/02/19 10:36:52 UTCえんどう
#
GoだとGOPATHを設定してgo getすればいいだけなので。
2015/02/19 10:48:02 UTCshiro
#
ふむ。ちょっと見てみるか。