このエントリーをはてなブックマークに追加

TortoiseHgから始めるMercurial (MacPorts編)

TortoiseHg Advent Calendar 2012の4日目です。TortoiseHg WorkbenchをMacで使ってみましょう。

Macでのソフトウェア管理にはMacPortsを使っています。最近バイナリ更新にも対応しましたしね。

昨日 @akiko_pusuさんがhomebrewでTorotoiseHgのインストールをしていただいたので、今度はMacPortsでのインストールを紹介します。

前提を満たす

tortoisehgには以下の二つが最低必要です。

  • py27-sip @4.13.2_0
  • py27-pyqt4 @4.9.1_0

この二つに関しては、バージョン指定が重要です。単に最新バージョンにあげてしまうと

RuntimeError: the sip module implements API v8.0 to v8.1 but the
PyQt4.QtCore module requires API v9.1

とか言われちゃいます。なお、このバージョンは私が確認した限りでは、というだけで、他のバージョンでも大丈夫かもしれません。

インストールはこんな感じです。なお、pyqt4はbuildにすげー時間がかかる(10分とか20分とかそれぐらい)ので、覚悟してください。

% sudo port install py27-sip@4.13.2_0 py27-pyqt4@4.9.1_0

もし既に最新版をインストールしてしまっているならば、

% sudo port activate py27-sip@4.13.2_0
% sudo port activate py27-pyqt4@4.9.1_0

として、このバージョンを有効化しましょう。

Portsfileを編集する

注釈

この後、portsfileが更新され、2.6.1対応となりましたので、この必要はありません。さらに新しいバージョンが欲しい方は参考にしてください。

現在のMacPortsに入っているTortoiseHgは2.1.2と結構古いので、新しく書き換えます。

% sudo port edit tortoisehg

とすると、Portfileを編集できますので、こんな感じに編集します。

--- Portfile.orig       2012-09-22 05:23:47.000000000 +0900
+++ Portfile    2012-11-28 23:01:49.000000000 +0900
@@ -6,7 +6,7 @@
 PortGroup           app 1.0

 name                tortoisehg
-version             2.1.2
+version             2.6
 revision            1
 categories          devel python
 platforms           darwin
@@ -22,8 +22,8 @@
 homepage            http://tortoisehg.bitbucket.org/
 master_sites        http://bitbucket.org/tortoisehg/targz/downloads/

-checksums           sha1    26d71af44a5cbd095e16d655d2874966e137e94e \
-                    rmd160  befd27d486e4f9a6840467befc65d9c52704c746
+checksums           sha1    69d7e1e64bd4809ff816148b460ba0827ae01748 \
+                    rmd160  3cf8bee4b305cea19a8c917d432cd7c368bffa62

 python.default_version 27

バージョンを 2.6 に変えて、ハッシュ値を変えただけですね。

あとは

% sudo port install tortoisehg

でおーけーです。tortoisehg自体はpythonなのでインストールには時間がかかりませんが、自分の環境だとなぜかpyqt4をもう一度buildしなおしたので結構時間がかかりました >< 。このあたりPortsファイルの書き方でなんとかなるのかもしれません。

起動

% thg &

です。

../../../_images/tortoisehg_1.png

これで使いやすいGUIがmacでも可能です!そしてなにより、Windows、Linux、Macの三つで同じUIとなるので、人に教えやすくなります。