うちの環境では Python があちこちにインストールされている都合から、環境変数を設定してから起動するようになっています。
また、マージ対象のファイルを中央に表示して編集できるように、順番を入れ替えてみました。
premerge = keep は、外部マージツールの起動前に Mercurial によるマージを行い、その結果を編集するための設定です。変更が衝突していない部分は自動的にマージされ、変更が衝突した部分はマーキングされた状態になります。
diff 用の設定も記載しましたので、Mac の方も参考にしてください。
meld.bat
set PYTHONHOME=C:\Python26
set PYTHONPATH=
C:\Python26\python C:\PathToMeld\bin\meld %*
mercurial.ini
[tortoisehg]
vdiff = meld
[ui]
merge = meld
[merge-tools]
meld.executable = C:\PathToBatchFile\meld.bat
meld.gui = True
meld.premerge = Keep
meld.args = -L Local $local -L Output $output -L Other $other
meld.diffargs = -a -L '$plabel1' $parent -L '$clabel' $child
meld.diff3args = -a -L '$plabel1' $parent1 -L '$clabel' $child -L '$plabel2' $parent2
meld.dirdiff = True
1996 蒼穹紅蓮隊
頼んだつもりでいたのですが、アマゾンのカートに突っ込んだだけの状態になっていて、今頃入手しました。今年の2月末に出ていたんですね。
レイディアント シルバーガンは何年か前に(・・・といっても2004年なので、もう7年前か)再販されたときに入手していたのですが、紅蓮隊はオークションでも高値でまったく手が出ない一品になっていたので、再販はありがたいですね。
あとは長年切望している斑鳩のサントラも出ないかなぁ。
崎元さんといえば、メガドライブ版のガントレットもいいんですよね。
CDの整理がてら、友人から譲り受けた懐かしい CD を 320K の MP3 でエンコードしなおしました。
以下、オッサン向けラインナップです。
1999 バトルバクレイド … これは最近・・・といっても10年以上経ったのか・・・
1991 メタルブラック
1988 サイバリオン
1987 ソーサリアン … このころは、まだ、レコードとカセットテープが出ていた記憶が・・・。
1986 アウトラン … これは 1992 年にベスト板として出た CD ですね。
そして、部屋がちっとも片付かない。。。
$ sudo port install meld
で、インストールできると思いきや、一筋縄では行かず。。。
- policykit でビルドエラー
不具合報告を参考に Portfile を修正することで回避。
https://trac.macports.org/ticket/29279
/opt/local/var/macports/sources/rsync.macports.org/release/ports/security/policykit/Portfile
(先頭の数字は行番号)
27 post-patch {
28 if {${os.major}
29 reinplace "s|security/pam|pam/pam|" ${worksrcpath}/configure \
30 ${worksrcpath}/src/polkitagent/polkitagenthelper-pam.c \
31 ${worksrcpath}/src/programs/pkexec.c
32
33 reinplace "s|fdatasync|fsync|" ${worksrcpath}/src/polkitagent/polkitagenthelperprivate.c
34 }
35 }
- atlas で configure エラー
INSTALL.TXT によると、
ATLAS config tries to detect if CPU throttling is enabled, but it may not
always detect it, and sometimes may detect it after you have disabled it.
In the latter case, to force the configure to continue regardless of the
results of the CPU throttling probe, pass this flag to configure:
-Si cputhrchk 0
とのことなので、Portfile を編集して configure に引数を追加。
/opt/local/var/macports/sources/rsync.macports.org/release/ports/math/atlas/Portfile
(先頭の数字は行番号)
108 if {${build_arch} == "ppc" || ${build_arch} == "ppc64"} {
109 configure.args-append -t 0 -Si cputhrchk 0
110 }
- meld 起動時にエラー
$ meld &
[1] 44648
$ Xlib: extension "RANDR" missing on display "/tmp/launch-Gl7Jle/:0".
Dynamic session lookup supported but failed: launchd did not provide a socket path, verify that org.freedesktop.dbus-session.plist is loaded!
Traceback (most recent call last):
File "/opt/local/bin/meld", line 123, in
main()
File "/opt/local/bin/meld", line 115, in main
app = meld.meldapp.MeldApp()
File "/opt/local/lib/meld/meld/meldapp.py", line 136, in __init__
self.prefs = preferences.MeldPreferences()
File "/opt/local/lib/meld/meld/preferences.py", line 289, in __init__
super(MeldPreferences, self).__init__("/apps/meld", self.defaults)
File "/opt/local/lib/meld/meld/util/prefs.py", line 92, in __init__
self._gconf.add_dir(rootkey, gconf.CLIENT_PRELOAD_NONE)
glib.GError: 設定サーバ (gconfd) に接続できませんでした: いくつか考えられる原因として、ORBit の TCP/IP ネットワークを有効にしていない、あるいはお使いのシステムで古い NFS のロックがクラッシュを引き起こしたことが考えられます。これに関連する情報については http://projects.gnome.org/gconf/ を参照して下さい: (詳細 - 1: セッションへの接続に失敗しました: Not enough memory)
[1]+ Exit 1 meld
dbus 関連のエラーのようで、以下のURL を参考に呪文を唱えたところ、スーパーユーザーでは動作。
http://kzar.co.uk/blog/view/meld-darwinport-problem
$ sudo launchctl load -w /Library/LaunchDaemons/org.freedesktop.dbus-system.plist
$ sudo launchctl load -w /Library/LaunchAgents/org.freedesktop.dbus-session.plist
$ sudo meld &
以下のスレッドにあった呪文を唱えたところ、一般ユーザーでも動作。
http://lists.macosforge.org/pipermail/macports-users/2011-January/023218.html
http://lists.macosforge.org/pipermail/macports-users/2011-January/023223.html
$ launchctl load -w /Library/LaunchAgents/org.freedesktop.dbus-session.plist
$ meld &
正直、理由はよくわからない・・・
dbus のインストール時に本件に関する情報が出力されていたようなのだが、 port に -d スイッチをつけて、デバッグメッセージを出力していたため、気がつかなかったようだ。
とりあえず、動くようになったので満足。
TortoiseHg が動作したので、Mac のマージツールを探してみました。http://mercurial.selenic.com/wiki/MergeProgram に代表的なマージツールが挙がっていましたので、いくつか試してみましたが・・・いずれも日本語の取り扱いが微妙です。
今のところ、meld が有力候補となり、MacPortsでインストールすべくビルド中。
meld は Windows 上でも動作します。http://live.gnome.org/Meld/Windows にあるように、Python と PyGTK 関連をインストールすれば OK。
いろいろ調べているうちに、 「CTRL キーを押すと、貼り付け位置を選択できる」ことが判明。
これ便利だなぁ。
TortoiseHg 2.0.0 では MacOS X もサポートされましたが、バイナリパッケージは配布されていないようです。
また、現在では多くのツールが Intel Mac しかサポートしておらず、PPC Mac での野良ビルドは結構大変でした。
ということで、覚書を残しておきます。
- Xcode 3.1.4 のインストール
コンパイラ等の開発環境が古かったため、PowerPCで使用できる最新の Xcode を探しましたが、 apple のサイトのどこからもリンクが張られていないようで、結構ハマリました。
ADCの登録(無料)を行い、http://connect.apple.com/ の Developer Tools のリンクから Xcode 3.1.4 Developer DVD (Disk Image) をダウンロードしてインストール。
- MacPorts のインストール
http://www.macports.org/install.php から MacPorts-1.9.2-10.5-Leopard.dmg をダウンロードしてインストール。
- Ports のアップデート
$ sudo port -v selfupdate
- Mercurial のインストール
$ sudo port install mercurial
- pyqt4 のインストール
Mercurial が Python2.6 用にインストールされたので、qt4 も 2.6 用パッケージを入れました。依存パッケージとして py26-sip qt4-mac もインストールされます。(ちなみに、PowerPC G4@867MHz で qt4-mac のビルド&インストールには2、3日かかります。)
$ sudo port install py26-pyqt4
- QScintilla のインストール
最新版のソースをダウンロードしてインストールしましたが、MacPorts のパッケージでも大丈夫だと思います。
$ cd ~/Downloads/QScintilla-gpl-2.5
$ cd Qt4
$ qmake -spec macx-g++
$ make
$ sudo make install
$ cd ~/Downloads/QScintilla-gpl-2.5
$ cd Python/
$ python2.6 configure.py
$ make
$ sudo make install
- iniparse のインストール
$ cd ~/Downloads/iniparse-0.4
$ cd iniparse-0.4
$ sudo python2.6 setup.py install
- TortoiseHg のダウンロード(リポジトリのクローン)
$ cd ~
$ hg clone http://bitbucket.org/tortoisehg/thg/
- TortoiseHg にパッチ
PATH の関係か、シンボリックリンクを張ってもうまく動かなかったので、以下の2箇所を書き換えました。
$ cd thg
$ hg diff -r -2:tip
diff -r 774d4419f199 -r 02907bde1522 setup.py
--- a/setup.py Tue Apr 26 22:38:15 2011 -0400
+++ b/setup.py Fri Apr 29 11:19:01 2011 +0900
@@ -150,7 +150,7 @@
import PyQt4
path = os.getenv('PATH')
os.putenv('PATH', path + ';' + os.path.dirname(PyQt4.__file__) + '\\bin')
- if os.system('pyrcc4 "%s" -o "%s"' % (qrc_file, py_file)) > 0:
+ if os.system('/opt/local/bin/pyrcc4-2.6 "%s" -o "%s"' % (qrc_file, py_file)) > 0:
self.warn("Unable to generate python module %s for resource file %s"
% (py_file, qrc_file))
if not exists(py_file) or not file(py_file).read():
diff -r 774d4419f199 -r 02907bde1522 thg
--- a/thg Tue Apr 26 22:38:15 2011 -0400
+++ b/thg Fri Apr 29 11:19:01 2011 +0900
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/opt/local/bin/python2.6
#
# thg - front-end script for TortoiseHg dialogs
#
- ビルド
2011/05/05 追記: 言語ファイルが作成され、UI言語に日本語が使用できるようになります。
$ python2.6 setup.py build
- TortoiseHg 起動
$ ./thg &
Ubintu 11.04 がリリースされましたので、VirtualBox にインストールしてみました。
ビデオカードが古いからか、Unity は動作しないようなので、 Unity-2D をインストール。
Mac OS や iPhone/Android っぽい UI にしたいのかな?と言う感じですか?
Unity の使い方を見ながら、ちょっといじってみましょうかね。