Size: 728
Comment:
|
Size: 1821
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 9: | Line 9: |
* Py2exe (for building a distribution executable) * Inno Setup (for building an installer) |
|
Line 21: | Line 19: |
From here, you should be able to run the installers for Python, etc. | From here, you should be able to run the installers for Python, etc. This is stored in $HOME/.wine/drive_c if you want to get at these files from the Linux side. You'll also want to setup your PATH variable. Run 'start regedit' and edit the key under HKLM/System/CurrentControlSet/SeessionManager/Environment/Path. == Building Mercurial Extensions == Once you've got Python and MinGW installed and a Mercurial tree unpacked in an appropriate place, you can build Mercurial's extensions with something like the following: {{{ python setup.py build_ext -i -f -c mingw32 }}} == Making Mercurial Networking Work == At the time of this writing, Python's random library triggers a bug in Wine. We'll need to work around it to get networking up and running. Add the following to mercurial.ini: {{{ hgext.fixrandom = c:\mercurial\fixrandom.py }}} And then create a fixrandom.py containing the following: {{{ import os def ni(i): raise NotImplementedError os.urandom = ni }}} == Py2Exe and InnoSetup == These programs install just fine but won't yet work correctly in Wine (as of Wine 0.9.25) due to emulation of BeginUpdateResource being incomplete (see http://bugs.winehq.org/show_bug.cgi?id=3897). ---- CategoryWindows |
It's possible to get Mercurial working under Wine with no Windows components. This is useful for cross-platform testing if you don't want use Windows.
You'll need the following packages:
- Wine (obviously)
- Python
- MinGW (for compiling extensions)
Getting a Wine Command Prompt
Once you have Wine installed, something like this should get you a command prompt:
wineconsole --backend=user cmd
You'll probably want to start with 'cd c:\' to get to Wine's fake Windows install, where you can install new packages safely. From here, you should be able to run the installers for Python, etc. This is stored in $HOME/.wine/drive_c if you want to get at these files from the Linux side.
You'll also want to setup your PATH variable. Run 'start regedit' and edit the key under HKLM/System/CurrentControlSet/SeessionManager/Environment/Path.
Building Mercurial Extensions
Once you've got Python and MinGW installed and a Mercurial tree unpacked in an appropriate place, you can build Mercurial's extensions with something like the following:
python setup.py build_ext -i -f -c mingw32
Making Mercurial Networking Work
At the time of this writing, Python's random library triggers a bug in Wine. We'll need to work around it to get networking up and running. Add the following to mercurial.ini:
hgext.fixrandom = c:\mercurial\fixrandom.py
And then create a fixrandom.py containing the following:
import os def ni(i): raise NotImplementedError os.urandom = ni
Py2Exe and InnoSetup
These programs install just fine but won't yet work correctly in Wine (as of Wine 0.9.25) due to emulation of BeginUpdateResource being incomplete (see http://bugs.winehq.org/show_bug.cgi?id=3897).