MikuinstallerのDarwineをアップグレードしてみる(その2)


※現在まだ書きかけです。不正確な情報満載ですので、鵜呑みにしないでください。
※現在、この記事の通りに実行してもWineの更新は出来ません。原因はわかっているのですが、解決が出来なくて私も困っています・・・


前回書いた記事にて、「入れ替えたは良いけれど、日本語入力出来なくなった」というコメントを頂いていたのに今日気づきまして・・・
あと2chDarwineスレでも参考にしてもらったみたいです。ありがたや。



最早言わずと知れた感がある(?)Mikuinstaller
最終更新からもう1年も放っておかれているので、そろそろ中身のWineを新しくして、動かなかったWindowsのソフトを動かしてみたいところです。



そこで、今回。
もうちょっとらくちんになんとかDarwine(というかWine)をアップグレード出来ないかと思って色々調べてみました。
ついでに日本語入力も出来るように・・・

今回もXCodeがインストールされていることが前提です。
ちなみに鍵屋のMacLeopard(10.5)です。




0.前準備
色々と必要そうな物を整えます。
色々調べてみると、どうやら「git」なるものを使うようなので、あらかじめインストールしておきます。


MacPortなどですでにインストール済みの方は飛ばしていただいてかまいません。
私はLeoperdなので、ここのインストーラーを使いました。
でもインストール後、パスが通っていませんでした。
「/usr/local/git/bin」にパスを通すか、後記のMakefile.FULLの33行目で、

GIT = /usr/local/git/bin/git

とします。



Leoperdじゃない人は、こちらのページ様を参考にインストールしてみてください。




つぎに「P7ZIP」なるものが入り用なんだそうで。
私は「7za」というプログラムを持っていました。MacPortでインストールしたので。
私と同じく「7za」しか持っていない方は、後記するMakefile.FULLの34行目で、

P7ZIP = 7za

とするのを忘れないようにしましょう。
持ってない方は何とかしてインストールしてください。
ここからDLできるようです。





1.Mikuinstallerのソースコードを落としてくる。
Mikuinstallerはオープンソースです。自由利用万歳!!
まずは『アプリケーション』→『ユーティリティ』から『ターミナル』を起動しましょう。
適当な作業用フォルダでも作って、SVNでソースを落としてきます。
SVNのコマンドはこちら。

svn checkout http://svn.sourceforge.jp/svnroot/mikuinstaller/MikuInstaller/trunk

私の場合、ターミナルを起動して「mkdir temp」「cd temp」としてから、上記のコマンドを打ちました。
しばらく時間がかかります。
落とし終わると、カレントディレクトリに「trunk」というフォルダが出来ていると思うので、「cd trunk」でtrunkフォルダ内に移りましょう。



2.Makefile.FULLを編集する
先ほど落としたtrunkフォルダを、Finderで開いてみてください。
その中に「frontend」というフォルダがあるはずなのでそれを開く。
またその中に「Makefile.FULL」というファイル(「Makefile」じゃないですよ!)があるので、適当なテキストエディタで開いて編集します。


編集箇所は


36行目
Mikuinstaller内で使うWineのバージョンです。
最新版のバージョンを入力します。バージョンはWineHQのサイトなどで調べましょう。
2009年8月13日時点では1.1.27が最新版のようなので

GIT_CHECKOUT = wine-1.1.2  →  GIT_CHECKOUT = wine-1.1.27

こうしました。



94〜98行目
lcmsという物を使うらしいです。私もよく知りません。
これも最新版にしておきますか。
今日時点でバージョン1.18aが最新のようなので


これを

	-rm -rf src/lcms-1.17 src/lcms
	$(MAKE) src/patches
	$(DOWNLOAD) http://www.littlecms.com/lcms-1.17.tar.gz
	gzip -cd $(DOWNLOADCACHE)/lcms-1.17.tar.gz | tar xf - -C src
	mv src/lcms-1.17 src/lcms

	-rm -rf src/lcms-1.18a src/lcms
	$(MAKE) src/patches
	$(DOWNLOAD) http://www.littlecms.com/lcms-1.18a.tar.gz
	gzip -cd $(DOWNLOADCACHE)/lcms-1.18a.tar.gz | tar xf - -C src
	mv src/lcms-1.18a src/lcms

こうしてみました。
α版は不安だという方は、別に変更しなくても良いみたいです。旧版のリンクは生きてましたし。




101〜106行目
今度はlibpngですね。
いい加減、変更箇所を明記するのが面倒くさくなってきました。
ので、変更点は書きません。
今日の時点で最新版は1.2.38らしいので、そのように書き換えてください。




129〜137行目
UIの表示に使われている梅フォントです。
そもそもダウンロードアドレスが当時とは違うようなので、色々手間がかかります。
まず、梅フォントの配布サイトで、最新版のファイルを探します。
拡張子が「.7z」になっている物で、最新のバージョンを選びましょう。今日時点では「1yv-umefont_406.7z」でした。
それをダウンロードします。ついでにファイルのURLもコピーしておいてください。
上記のファイルだと「http://iij.dl.sourceforge.jp/ume-font/22212/1yv-umefont_406.7z」でした。
それを一度解凍します。中のフォルダ名が分からないと行程が先に進まないので。
7zファイルは、Mac付属のZipアーカイバでは解凍出来ないので、コマンドライン

7za x (DLしてきた梅フォントの7zファイル)

として解凍します。
すると「umeyyyymmdd」(yyyyは年、mmは月、ddは日にち)というフォルダが出てくると思います。
上記のファイルでは「ume20090803」というフォルダでした。
それを元に、Makefile.FULLを書き換えます。
大体分かると思いますので、変更例だけ・・・

	$(DOWNLOAD) http://jaist.dl.sourceforge.jp/ume-font/22212/ume-yl-391.7z
	$(P7ZIP) x -osrc $(DOWNLOADCACHE)/ume-yl-391.7z ¥
	  ume20080707/ume-pgo4.ttf ¥
	  ume20080707/ume-tgo4.ttf ¥
	  ume20080707/ume-pmo3.ttf ¥
	  ume20080707/ume-tmo3.ttf ¥
	  ume20080707/ume-ugo4.ttf ¥
	  ume20080707/readme.html
	mv src/ume20080707 src/ume

	$(DOWNLOAD) http://iij.dl.sourceforge.jp/ume-font/22212/1yv-umefont_406.7z
	$(P7ZIP) x -osrc $(DOWNLOADCACHE)/1yv-umefont_406.7z ¥
	  ume20090803/ume-pgo4.ttf ¥
	  ume20090803/ume-tgo4.ttf ¥
	  ume20090803/ume-pmo3.ttf ¥
	  ume20090803/ume-tmo3.ttf ¥
	  ume20090803/ume-ugo4.ttf ¥
	  ume20090803/readme.html
	mv src/ume20090803 src/ume

他にもlibjpegとかもあるので、調べてみてバージョンが上がっていたら新しいファイルのURLに変更しておいても良いんじゃないかと思います。
今回は、libjpegやlibtiffの新版はでてませんでしたし、wine-geckoは新版と旧版で多少ファイルが違ったため、いじっていいのかどうか判断付かなかったので手を付けませんでした。


ここまでで一度Makefile.FULLを保存してください。



3.Makeする
コマンドラインの作業に戻ります。
trunkのディレクトリに居ることを確認して、makeします。
「make」と打って、Enterを押すだけ。ね、簡単でしょ?


おっそろしいほど時間がかかります。根気づよく待ってあげてください。




ビルドは出来たけど、中のWineのバージョンが変わってなかったorz
多分どこかで間違ったんだと思うので修正してみます・・・

2009-08-22追記
trunkのディレクトリにあるumeだとかのディレクトリを削除したら、新しいファイルをDLてくれるようになりました。
が、make中に「パッチが当てられない」とかでエラーが出ましたorz
ちょいとこれの解決には時間がかかりそうです・・・



という訳で、この記事はしばらくお休みします・・・