OpenBSD で OOo
http://marc.theaimsgroup.com/...
Linux を compat で動かすという話はあったけど、 こっちはネイティブで動かすらしい。
まだビルドする気がしないな。 HDD どれだけ喰うんだろ。
関連するスレッド
`OpenBSD で scheme のアプリ開発' みたいなことをやってます。
http://marc.theaimsgroup.com/...
Linux を compat で動かすという話はあったけど、 こっちはネイティブで動かすらしい。
まだビルドする気がしないな。 HDD どれだけ喰うんだろ。
関連するスレッド
Citrus のコードがようやく入りだした。
とりあえず wc* から。 mb* やら strftime はまだ。というか、mklocale がまだ入ってない。
あー iconv もまだか。まだまだ先は長い。
via: c.l.s
タイトルだけ抜粋してみた。
いくつ残るか知らないけど、 どれが残っても大改造に違いない。
先日 arc を紹介したけど、これってもうメンテナンスされていないっぽい。
で、スレッドの流れとしては、
結局収集つかないのかよ。
conjure は scmxlate を使って scheme 間の壁を越えようとしてるけど、 肝心の中身はいまひとつかなあ。 arc と同じ理由で、なんだけど。
http://halflife2.filefront.com/...
via: http://d.hatena.ne.jp/...
ぶはは。おもしろすぎる。
そうえば、最近 FPS してないなあ。 探してみるか。
http://www.eyestep.org/arc.html
via: c.l.s
Scheme で autoconf, automake, libtool, make の代替になるツールを作成するプロジェクト。
INSTALL によれば、scm, guile 1.3以降, または ksi で動作とのこと。 自前のインタプリタ asc もあるらしい。
せっかくなので、--scheme=asc で configure してみる。
で、ビルドなのだが、configure が OS の判定しているので OpenBSD だとこける、ので、 FreeBSD のマネをしてみる。 あとは strcat, strcpy がアレなので細々と訂正(arc-20050425.diff) 。てか、今気づいたけど、$HOME あふれ攻撃できるな。これ。
とりあえずインストールまではこれでオッケー。
お約束の hello.c のビルド。
$ cat src/hello.c main() { printf("hello,world"); }
Makefile に相当するのが Arcfile で、こんな感じ。
$ cat Arcfile (project sample-project basedir: "src/" default: 'link) (stmt build-dir "_build") (stmt init (mkdir dir: (-> build-dir))) (stmt c-sources (fileset pattern: "*.c")) (stmt compile depends: 'init (c-compile sources: (-> c-sources) shared?: #t outdir: (-> build-dir) )) (stmt link (link files: (-> compile) shared?: #t appnm: "hello"))
arc の README に書いてある例が out of date な気がする。 doc/ 以下の方が -current を反映しているらしいので texinfo 必須。
使ってみて思ったけど、なんというか、m4 の地獄マクロよりはマシ、mk の手抜き Makefile よりは不便かなあ。 S 式じゃなくてインデント形式にしたら、プロパティをタグごとに付けられる Makefile だった、 とかいうオチもありうる。
それと、細木数子じゃないけど、名前がよくないよな。 アーカイバの arc とモロに名前が衝突しているんですけど。 あ、Paul Graham のインタプリタもそうか。
arc のプログラムを arc でインストールして arc で圧縮して配布、とか。
もっと問題なのはぐぐっても出てこないことか。名前重要。
押し売りをしてしまったので、責任を取ってまとめ。
abcde とはコンソールベースの CD リッパー、エンコーダ。 非常に手軽に使えるので(ほとんど Enter 押すだけ)、 HDD の肥やしの大量生成を可能にしてくれる素敵なソフトである。
で、もちろん日本語での細かい事情なんて知らないので、 そのままだと日本語タイトルの CD のエンコーディングはうまくいかない。
abcde 自体はシェルスクリプトなのでまあ問題はない(SJIS なファイル名とかでなければ)。 OpenBSD だと e?grep がマルチバイトを通さないので、
# cd /usr/ports/audio/abcde # make extract # cd w-abcde-2.2.0/abcde-2.2.0 # perl -i -p -e "s/grep/grep -a/" abcde cddb-tool
-a オプションで無理矢理対応。
次は日本語 EUC で返す CDDB を ~/.abcde.conf にセット。
CDDBURL="http://freedbtest.dyndns.org/~cddb/cddbeuc.cgi"
あとは id3 の SJIS 強制変換パッチを作成したので当てる: (id3-0.12-id3.c.diff)。
これで EUC のファイル名、id3tag が SJIS の mp3 ファイルが作成されるはず。
余談だけど、id3 はジャンルに Japan Rock が存在しないので Jpop あたりで編集し直さないといかん。ううむ。
http://www.pdos.lcs.mit.edu/scigen/
via: http://science.slashdot.org/...
あはは。すらすら論文が書けるなんてうらやましいなあ。
あと、こっちもおもしろい。
foo(char *s)
みたいな関数があって、 内部で s をいじってて、 なおかつ s の長さをチェックしていないライブラリを発見。
中身はこんなの。
foo(char *s) { char buf[N] ... strcpy(buf, s); ... }
こういうときは、ふつう
foo(char *s, size_t len) { char buf[N] ... strlcpy(buf, s, sizeof(buf)); ... }
だよねえ。
修正案を拙い英語で送ってみる。