Size: 3185
Comment:
|
Size: 1973
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 10: | Line 10: |
http://www.python.org/ftp/python/2.4.3/python-2.4.3.msi | http://www.python.org/ftp/python/2.4.1/python-2.4.1.msi |
Line 21: | Line 21: |
patch.exe (from the gnuwin32 project or any other alternative) http://gnuwin32.sourceforge.net/packages/patch.htm |
|
Line 30: | Line 27: |
ISTool ''(optional)'' | ISTool |
Line 39: | Line 36: |
To build the html help files you need also: asciidoc http://www.methods.co.nz/asciidoc/downloads.html [Note: ''to configure it you have to adjust your path so the asciidoc.py file is found (I use a link to it from /bin in an msys install), and you have to change the CONF_DIR hardcoded into that file so the backend and help files are found (in my case it's changed to "C:/winp/msys/1.0/etc/asciidoc")''] |
|
Line 53: | Line 43: |
python setup.py build -c mingw32 python setup.py py2exe -b 1 |
python setup.py build -c mingw32 py2exe -b 1 |
Line 56: | Line 45: |
Note: the combined command "python setup.py build -c mingw32 py2exe -b 1" that had been suggested in the past doesn't work correctly, as it doesn't include the extensions in the mercurial subdirectory and separate commands should be used as indicated. |
|
Line 65: | Line 52: |
which would allow you to skip the first build step and just run: | which would allow you to ignore the {{{-c mingw32}}} option: |
Line 70: | Line 57: |
Copy mfc71.dll, add_path.exe and patch.exe into the dist directory that just | Copy mfc71.dll and add_path.exe into the dist directory that just |
Line 72: | Line 59: |
To build the docs you: {{{ cd doc make html cd .. }}} |
|
Line 86: | Line 66: |
file. In ISTool, type Ctrl-F9 to compile the installer file. | file. |
Line 88: | Line 68: |
The actual installer will be in the C:\hg\hg-release\Output directory. To automate the steps above you may want to create a batchfile based on the following: {{{ echo [build] > setup.cfg echo compiler=mingw32 >> setup.cfg python setup.py py2exe -b 1 iscc contrib\win32\mercurial.iss }}} and run it from the root of the hg repository (C:\hg\hg-release). |
In ISTool, type Ctrl-F9 to compile the installer file. The actual installer will be in the C:\hg\hg-release\Output directory. |
[Note: this page has been adapted from contrib/win32/win32-build.txt found in Mercurial's source tree]
The standalone Windows installer for Mercurial is built in a somewhat jury-rigged fashion.
Prerequisites
It has the following prerequisites, at least as I build it:
Python for Windows
MinGW
Python for Windows Extensions
mfc71.dll (just download, don't install)
The py2exe distutils extension
Inno Setup
ISTool
add_path (you need only add_path.exe in the zip file)
And, of course, Mercurial itself
Building Installer
Once you have all this installed and built, clone a copy of the Mercurial repository you want to package, and name the repo C:\hg\hg-release.
Open a command prompt window on C:\hg\hg-release, then build a standalone copy of the hg.exe program:
python setup.py build -c mingw32 py2exe -b 1
Alternatively, you can create a file named setup.cfg in the root of the repository (C:\hg\hg-release) with the following contents:
[build] compiler=mingw32
which would allow you to ignore the -c mingw32 option:
python setup.py py2exe -b 1
Copy mfc71.dll and add_path.exe into the dist directory that just got created.
If Inno Setup is in your path you can run:
iscc contrib\win32\mercurial.iss
Or you can run ISTool, and open the C:\hg\hg-release\contrib\win32\mercurial.iss file.
In ISTool, type Ctrl-F9 to compile the installer file. The actual installer will be in the C:\hg\hg-release\Output directory.