releases

| No Comments | No TrackBacks

とりあえず作業にひと段落つける意味で、mldspのリリースtarballを作った。実際には、mldspだけでなくportmidiのパッチ当てバージョンもtarballを作った。これはLinux専用なので、portmidi-sharpとは別の(既に動いている)パッチに基づいている。

本当はこれをさらにopensuse build service(名前はsuseだが実際には他のdistro向けのパッケージもビルドできる)を使ってパッケージにしたかったのだけど、作業の合間に外出することになって時間切れになったので、その後やっていない。tarballがあれば普通のLinuxユーザであれば何とかするはずだし。

portmidiのアーカイブが出来たところで、次はmldsp(-gtk)である。こっちはMonoDevelopのMakefile統合をある程度使って実現しているのだけど、いくつかハマり箇所があった。まず、そもそもMoonlight.Gtkのプロジェクトのサポートが無いので、Moonlightプロジェクトのように自動的にxapを作ってくれることがない。なので仕方なくzipを呼んでxapアーカイブを作成するスクリプトを作った。このスクリプトもアーカイブに含めなければならないので、csprojに追加した。

そしてビルドして実行したらxapが無いと言われる。仕方ないのでこれもcsprojに追加して、ビルド時に実行ディレクトリにコピーしてやるよう設定する。これが後でmake distでハマって、実はいまでも困っている。プロジェクトに追加したため、xap自身はビルドされるファイルであるにもかかわらず、make distして作成されたtarballから消えないのである。そして消す方法が無い。仕方ないのでこれはあきらめてそのまま入れることにした。

Makefile統合のもうひとつのハマり場所は、参照設定したtsukimiのdllのデバッグシンボル(*.mdb)がなぜかmake distでコピーされないことだ。仕方ないのでこれは生成されたMakefileをいじって手作業で追加した。どうせweb版のmldspで使われるtsukimi(これは依存ランタイム/ライブラリが2.1になるので、別アセンブリになっている)のアセンブリも手作業で追加しなければならないのだ。

そんな感じでmldspもめでたくtarballリリースが出来たので、以降こっちの作業はのんびりと進めようかと思う。

実のところ、Moonlight.Gtkにも問題があって、いまmldspを実行できるMoonlight.Gtkは存在しない。これはmoonのSystem.Windows.dllが誤ってplugin APIに依存するコードを追加してしまっているためだ(デスクトップ版でplugin依存のネイティブライブラリは呼び出せない)。そしてちょっと古いバージョンのmoonlightをビルドしようとすると、monoとmcsも同じくらい古くないと出来ない。でもそのためのmono/mcsのtarballは存在していない。これは困った問題なので修正してもらう予定。

No TrackBacks

TrackBack URL: http://veritas-vos-liberabit.com/noteon/mt-tb.cgi/38

Leave a comment

About this Entry

This page contains a single entry by note on published on June 14, 2009 5:52 AM.

MidiPlayerOverWeb? was the previous entry in this blog.

a runnable worth a thousand words is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Categories

Pages

OpenID accepted here Learn more about OpenID
Powered by Movable Type 4.23-en