setup: forcibly include cext/pure packages in py2exe (issue5625)
Since these modules are implicitly imported by policy.importmod(), py2exe
can't track them statically. cffi modules are excluded for now because they
wouldn't be useful in frozen (i.e. CPython) environment.
--- a/setup.py Thu Jul 20 22:32:37 2017 +0900
+++ b/setup.py Thu Jul 20 22:47:40 2017 +0900
@@ -934,7 +934,12 @@
package_data=packagedata,
cmdclass=cmdclass,
distclass=hgdist,
- options={'py2exe': {'packages': ['hgdemandimport', 'hgext', 'email']},
+ options={'py2exe': {'packages': ['hgdemandimport', 'hgext', 'email',
+ # implicitly imported per module policy
+ # (cffi wouldn't be used as a frozen exe)
+ 'mercurial.cext',
+ #'mercurial.cffi',
+ 'mercurial.pure']},
'bdist_mpkg': {'zipdist': False,
'license': 'COPYING',
'readme': 'contrib/macosx/Readme.html',