setup: register zope.interface packages and compile C extension
With this change, we should be able to use zope.interface in core!
Differential Revision: https://phab.mercurial-scm.org/D2932
--- a/contrib/import-checker.py Wed Mar 21 18:13:40 2018 -0700
+++ b/contrib/import-checker.py Wed Mar 21 18:32:47 2018 -0700
@@ -37,6 +37,8 @@
'mercurial.pure.parsers',
# third-party imports should be directly imported
'mercurial.thirdparty',
+ 'mercurial.thirdparty.zope',
+ 'mercurial.thirdparty.zope.interface',
)
# Whitelist of symbols that can be directly imported.
--- a/setup.py Wed Mar 21 18:13:40 2018 -0700
+++ b/setup.py Wed Mar 21 18:32:47 2018 -0700
@@ -812,6 +812,8 @@
'mercurial.thirdparty.attr',
'mercurial.thirdparty.cbor',
'mercurial.thirdparty.cbor.cbor2',
+ 'mercurial.thirdparty.zope',
+ 'mercurial.thirdparty.zope.interface',
'mercurial.utils',
'hgext', 'hgext.convert', 'hgext.fsmonitor',
'hgext.fsmonitor.pywatchman', 'hgext.highlight',
@@ -894,6 +896,10 @@
extra_compile_args=osutil_cflags,
extra_link_args=osutil_ldflags,
depends=common_depends),
+ Extension(
+ 'mercurial.thirdparty.zope.interface._zope_interface_coptimizations', [
+ 'mercurial/thirdparty/zope/interface/_zope_interface_coptimizations.c',
+ ]),
Extension('hgext.fsmonitor.pywatchman.bser',
['hgext/fsmonitor/pywatchman/bser.c']),
]