Windows上でソースコードから開発版TortoiseHg をビルドしてみる
Mercurial & TortoiseHg Advent Calendar 2013 - connpass の 8日目のエントリです*1
TortoiseHg を 使っているとちょっと改良してみたいなぁと感じることもありますが、Windows上のビルド環境構築はけっこう面倒だったりしますね。Windows 上で環境をスクラッチでソースコードからビルドしてみましたのでご紹介します。
環境構築の概要
Windows 上での TortoiseHg のビルドは、 thg-winbuild リポジトリを用います。*2
手順は、TortoiseHg の thg-winbuild リポジトリの README に記載されている内容を参考にしています。
https://bitbucket.org/tortoisehg/thg-winbuild/src
ここでは Windows 7 の 32-bit および 64-bit を準備します。
Mercurial ビルドに必要なもの
まずは、Mercurial をビルドするために必要な環境を準備しましょう。
Python 2.7.6
Windows用のインストーラーからインストールします。ここでは 2.x系の最新である 2.7.6 をインストールします。
32-bit http://www.python.org/ftp/python/2.7.6/python-2.7.6.msi
64-bit http://www.python.org/ftp/python/2.7.6/python-2.7.6.amd64.msi
- インストール先
C:\Python27
C:\Python27-x64
C++ Compiler
Visual Studio 2008 Express Edition を入れましょう
- Visual Studio 2008 Express Edition CD(DVD)イメージ版のダウンロード
http://go.microsoft.com/?LinkId=9348306
Visual Studio 2008 は Python 2.7 の場合の組み合わせです。(MinGW/MSYS は使わないほうが良いです)
gettext
下記からセットアッププログラムを最新版をダウンロードします
http://gnuwin32.sourceforge.net/packages/gettext.htm
gettext-0.14.4.exe が最新。
py2exe
http://sourceforge.net/projects/py2exe/
http://sourceforge.net/projects/py2exe/files/py2exe/0.6.9/
32-bit py2exe-0.6.9.win32-py2.7.exe
64-bit py2exe-0.6.9.win64-py2.7.amd64.exe
上記 exe を実行してインストール。
Windows Installer XML
WiX の最新安定板を用いてよいでしょう。
ちなみに WiX38.exe が現時点の最新ですのでこれを入れます。*4
http://wix.codeplex.com/releases/view/115492
setuptools
こちらも PyPI で提供されているパッケージになります。
http://pypi.python.org/pypi/setuptools
Windows の場合は、下記手順でインストール可能です。
https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
python ez_setup.py を実行しましょう。
C:\Python27\python.exe ez_setup.py C:\Python27-x64\python.exe ez_setup.py
docutils
PyPIで提供されている Pythonパッケージ のひとつです。
そして easy_install docutils を実行すればOK。
C:\Python27\Scripts\easy_install.exe docutils
ドキュメントのビルドに必要な環境準備
MiKTeX (to build PDF docs)
setup-2.8.3553.exe をダウンロードし実行したところ、2.8はもうサポートが切れているといったメッセージが出て入らない。最新2.9 インストーラーをダウンロードしインストール。
HTML Help Workshop (to build CHM docs)
htmlhelp.exe をインストール。
TortoiseHgのビルド・インストーラーに必要なソフトウェア
PyQt 4.8 or later
http://www.riverbankcomputing.co.uk/software/pyqt/download
Pythonのバージョンとあわせたバイナリをダウンロード。
PyQt4-4.10.3-gpl-Py2.7-Qt4.8.5-x32.exe
pywin32
http://sourceforge.net/projects/pywin32/files/pywin32/Build%20218/
pywin32-218.win32-py2.7.exe
SVN
TortoiseSVN http://tortoisesvn.net/downloads.html
TortoiseSVNインストール時に、 svn のコマンドライン版を選択しインストールしておく。
comtypes (no longer optional)
- 32-bit
http://sourceforge.net/projects/comtypes/files/comtypes/0.6.2/
http://sourceforge.net/projects/comtypes/files/comtypes/0.6.2/comtypes-0.6.2.win32.exe/download
- 64-bit
http://sourceforge.net/projects/comtypes/files/comtypes/0.6.2/comtypes-0.6.2.zip/download
http://sourceforge.net/tracker/?func=detail&aid=3036368&group_id=115265&atid=692940
64-bitの場合は、ソースコードからインストールしましょう。
上記パッチは trunk に取り入れられているので、svnのtrunkからインストールします。
svn checkout https://svn.code.sf.net/p/comtypes/code/trunk comtypes-trunk cd comtypes-trunk C:\Python27-x64\python.exe setup.py install
Subversion Python bindings (no longer optional)
https://bitbucket.org/tortoisehg/thg-winbuild/downloads/svn_1.7.5_py27_x86.zip
https://bitbucket.org/tortoisehg/thg-winbuild/downloads/svn_1.7.5_py27_x64.zip
zip を解凍し、 svn と libsvn フォルダを site-packages 以下にコピーする
C:\Python27\Lib\site-packages
C:\Python27-x64\Lib\site-packages
以上で必要なビルドに必要なソフトウェアの準備が完了しました。
ビルド手順
ソースコード取得
コマンドプロンプトで下記コマンドを実行。
hg clone https://bitbucket.org/tortoisehg/thg-build cd thg-build python setup.py
スクリプト調整
thg-build/winbuild/setup.py の下記 try_paths の引数に 2.9 のパスを追加しておきます。
if not pdflatex: found = try_paths([r'\MiKTeX 2.7\miktex\bin\Pdflatex.exe', r'\MiKTeX 2.8\miktex\bin\Pdflatex.exe', r'\MiKTeX 2.9\miktex\bin\Pdflatex.exe'])
その他
もし mercurial など tortoisehg でビルド対象のパッケージがすでにインストールされていたら該当パッケージを別名にするか削除するかしておきましょう。
参考
最新TortoiseHg の各ソフトウェアバージョン TortoiseHg 2.10.1 時点
記バージョンですが、ここでは最新開発版をビルドしました。
- 作者: 藤原克則
- 出版社/メーカー: 秀和システム
- 発売日: 2013/02
- メディア: 単行本
- 購入: 3人 クリック: 13回
- この商品を含むブログ (10件) を見る