⇤ ← Revision 1 as of 2006-12-15 16:34:06
Size: 728
Comment:
|
Size: 1671
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 21: | Line 21: |
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 }}} }}} |
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)
- Py2exe (for building a distribution executable)
- Inno Setup (for building an installer)
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
}}}