SUZZ Blog

主にアーケード、レトロゲームに関するブログ

TortoiseHg を PPC Mac で動作させる

2011年05月05日 00時11分09秒 | PC

thg

 

TortoiseHg 2.0.0 では MacOS X もサポートされましたが、バイナリパッケージは配布されていないようです。

また、現在では多くのツールが Intel Mac しかサポートしておらず、PPC Mac での野良ビルドは結構大変でした。

ということで、覚書を残しておきます。

 

  1. Xcode 3.1.4 のインストール
    コンパイラ等の開発環境が古かったため、PowerPCで使用できる最新の Xcode を探しましたが、 apple のサイトのどこからもリンクが張られていないようで、結構ハマリました。
    ADCの登録(無料)を行い、http://connect.apple.com/ の Developer Tools のリンクから Xcode 3.1.4 Developer DVD (Disk Image) をダウンロードしてインストール。

  2. MacPorts のインストール
    http://www.macports.org/install.php から MacPorts-1.9.2-10.5-Leopard.dmg をダウンロードしてインストール。

  3. Ports のアップデート
    $ sudo port -v selfupdate

  4. Mercurial のインストール
    $ sudo port install mercurial

  5. pyqt4 のインストール
    Mercurial が Python2.6 用にインストールされたので、qt4 も 2.6 用パッケージを入れました。依存パッケージとして py26-sip qt4-mac もインストールされます。(ちなみに、PowerPC G4@867MHz で qt4-mac のビルド&インストールには2、3日かかります。)
    $ sudo port install py26-pyqt4

  6. 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

  7. iniparse のインストール
    $ cd ~/Downloads/iniparse-0.4
    $ cd iniparse-0.4
    $ sudo python2.6 setup.py install

  8. TortoiseHg のダウンロード(リポジトリのクローン)
    $ cd ~
    $ hg clone
    http://bitbucket.org/tortoisehg/thg/

  9. 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
    #

  10. ビルド
    2011/05/05 追記: 言語ファイルが作成され、UI言語に日本語が使用できるようになります。

    $ python2.6 setup.py build

  11. TortoiseHg 起動
    $ ./thg &

最新の画像もっと見る

コメントを投稿