[PATCH 2 of 2 STABLE] setup: forcibly include cext/pure packages in py2exe (issue5625)
Steve Borho
steve at borho.org
Sat Jul 22 01:18:15 EDT 2017
> On Jul 21, 2017, at 10:55 PM, Matt Harbison <mharbison72 at gmail.com> wrote:
>
> On Fri, 21 Jul 2017 23:26:26 -0400, Steve Borho <steve at borho.org> wrote:
>
>>
>>> On Jul 21, 2017, at 10:21 PM, Matt Harbison <mharbison72 at gmail.com> wrote:
>>>
>>> On Fri, 21 Jul 2017 09:14:13 -0400, Yuya Nishihara <yuya at tcha.org> wrote:
>>>
>>>> On Thu, 20 Jul 2017 22:16:16 -0400, Matt Harbison wrote:
>>>>> On Thu, 20 Jul 2017 10:39:53 -0400, Yuya Nishihara <yuya at tcha.org> wrote:
>>>>> > # HG changeset patch
>>>>> > # User Yuya Nishihara <yuya at tcha.org>
>>>>> > # Date 1500558460 -32400
>>>>> > # Thu Jul 20 22:47:40 2017 +0900
>>>>> > # Branch stable
>>>>> > # Node ID d5bb7d09db154036eaf1173c5445356218b8291e
>>>>> > # Parent 3f8f39ef616024ac0722c701aeae9105a52728fa
>>>>> > setup: forcibly include cext/pure packages in py2exe (issue5625)
>>>>>
>>>>> For reasons that baffle me, this allows the Wix installer to get further
>>>>> than without this change, but it still fails on the linker. I ran the
>>>>> failing command manually, and it says parsers and diffhelpers are still
>>>>> missing:
>>>>
>>>> Perhaps your build script would override the packages line by e.g. setup.cfg.
>>>> This worked fine with "python setup.py py2exe" on my outdated Windows VM.
>>>
>>> Sorry, I should have been more explicit. You're correct that `python setup.py py2exe` works. (It didn't error out without this patch, but was missing parsers and diffhelpers in dist/lib, so this patch should be queued.)
>>>
>>> What is failing for me is `python setup.py --hg-stable --nopull` in thg-build/winbuild. It does have setup.cfg, but it doesn't seem that would interfere:
>>>
>>> $ cat build/hg/setup.cfg
>>> [py2exe]
>>> excludes=pywin,pywin.dialogs,pywin.dialogs.list,svn
>>> packages=email,hgext,hgext.convert,encodings,pygments,hgext3rd
>>> dll_excludes=mswsock.dll, powrprof.dll, shfolder.dll, credui.dll, msvcp90.dll, secur32.dll
>>>
>>> FWIW, with Steve's patch applied, it also complains about missing '..\hg\dist/lib\_multiprocessing.pyd', but not the other files added by his patch. But it looks like he built the 4.3-rc, so I'm not sure what's wrong locally. This setup did work a couple months ago when I fixed the missing zstd module.
>>
>> I recently updated to Python 2.7.13, which is probably where _multiprocessing.pyd came from.
>>
>> I did indeed have to add mercurial.cext to the packages include list in setup.cfg (in thg-winbuild) in order for all of the cext pyd files to be picked up by py2exe.
>
> Thanks for updating this. I pulled and updated thg-winbuild and thg-winbuild/build/hg, and it fixes cext, but it complains about _multiprocessing.pyd is missing.
I’m ok if multiprocessing.pyd gets removed from the patch before being applied; it looks like mercurial itself does not use it
—
Steve
More information about the Mercurial-devel
mailing list