Show More
@@ -313,11 +313,6 b' class hgbuildpy(build_py):' | |||||
313 | build_py.finalize_options(self) |
|
313 | build_py.finalize_options(self) | |
314 |
|
314 | |||
315 | if self.distribution.pure: |
|
315 | if self.distribution.pure: | |
316 | if self.py_modules is None: |
|
|||
317 | self.py_modules = [] |
|
|||
318 | for ext in self.distribution.ext_modules: |
|
|||
319 | if ext.name.startswith("mercurial."): |
|
|||
320 | self.py_modules.append("mercurial.pure.%s" % ext.name[10:]) |
|
|||
321 | self.distribution.ext_modules = [] |
|
316 | self.distribution.ext_modules = [] | |
322 | else: |
|
317 | else: | |
323 | h = os.path.join(get_python_inc(), 'Python.h') |
|
318 | h = os.path.join(get_python_inc(), 'Python.h') | |
@@ -325,14 +320,21 b' class hgbuildpy(build_py):' | |||||
325 | raise SystemExit('Python headers are required to build ' |
|
320 | raise SystemExit('Python headers are required to build ' | |
326 | 'Mercurial but weren\'t found in %s' % h) |
|
321 | 'Mercurial but weren\'t found in %s' % h) | |
327 |
|
322 | |||
328 | def find_modules(self): |
|
323 | def copy_file(self, *args, **kwargs): | |
329 | modules = build_py.find_modules(self) |
|
324 | dst, copied = build_py.copy_file(self, *args, **kwargs) | |
330 | for module in modules: |
|
325 | ||
331 | if module[0] == "mercurial.pure": |
|
326 | if copied and dst.endswith('__init__.py'): | |
332 | if module[1] != "__init__": |
|
327 | if self.distribution.pure: | |
333 | yield ("mercurial", module[1], module[2]) |
|
328 | modulepolicy = 'py' | |
334 | else: |
|
329 | else: | |
335 |
|
|
330 | modulepolicy = 'c' | |
|
331 | content = open(dst, 'rb').read() | |||
|
332 | content = content.replace(b'@MODULELOADPOLICY@', | |||
|
333 | modulepolicy.encode(libdir_escape)) | |||
|
334 | with open(dst, 'wb') as fh: | |||
|
335 | fh.write(content) | |||
|
336 | ||||
|
337 | return dst, copied | |||
336 |
|
338 | |||
337 | class buildhgextindex(Command): |
|
339 | class buildhgextindex(Command): | |
338 | description = 'generate prebuilt index of hgext (for frozen package)' |
|
340 | description = 'generate prebuilt index of hgext (for frozen package)' | |
@@ -478,6 +480,7 b" cmdclass = {'build': hgbuild," | |||||
478 | } |
|
480 | } | |
479 |
|
481 | |||
480 | packages = ['mercurial', 'mercurial.hgweb', 'mercurial.httpclient', |
|
482 | packages = ['mercurial', 'mercurial.hgweb', 'mercurial.httpclient', | |
|
483 | 'mercurial.pure', | |||
481 | 'hgext', 'hgext.convert', 'hgext.highlight', 'hgext.zeroconf', |
|
484 | 'hgext', 'hgext.convert', 'hgext.highlight', 'hgext.zeroconf', | |
482 | 'hgext.largefiles'] |
|
485 | 'hgext.largefiles'] | |
483 |
|
486 |
General Comments 0
You need to be logged in to leave comments.
Login now