Differences between revisions 3 and 9 (spanning 6 versions)
Revision 3 as of 2006-12-15 18:09:58
Size: 1805
Editor: mpm
Comment:
Revision 9 as of 2009-05-20 09:08:34
Size: 1860
Comment: Remove wiki link.
Deletions are marked like this. Additions are marked like this.
Line 21: Line 21:
You'll also want to setup your PATH variable. Run 'start regedit' and edit the key under HKLM/System/CurrentControlSet/SeessionManager/Environment/Path. You'll also want to setup your PATH variable. Run 'start regedit' and edit the key under {{{HKLM/System/CurrentControlSet/SeessionManager/Environment/Path}}}.
Line 48: Line 48:
}}}
Line 52: Line 50:
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). 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 CategoryTesting CategoryHowTo

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).


CategoryWindows CategoryTesting CategoryHowTo

MercurialUnderWine (last edited 2012-11-06 23:06:24 by abuehl)