Mercurial > public > mercurial-scm > hg-stable
diff contrib/python-zstandard/setup.py @ 37495:b1fb341d8a61
zstandard: vendor python-zstandard 0.9.0
This was just released. It features a number of goodies. More info at
https://gregoryszorc.com/blog/2018/04/09/release-of-python-zstandard-0.9/.
The clang-format ignore list was updated to reflect the new source
of files.
The project contains a vendored copy of zstandard 1.3.4. The old
version was 1.1.3. One of the changes between those versions is that
zstandard is now dual licensed BSD + GPLv2 and the patent rights grant
has been removed. Good riddance.
The API should be backwards compatible. So no changes in core
should be needed. However, there were a number of changes in the
library that we'll want to adapt to. Those will be addressed in
subsequent commits.
Differential Revision: https://phab.mercurial-scm.org/D3198
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Mon, 09 Apr 2018 10:13:29 -0700 |
parents | e0dc40530c5a |
children | c0081d3e1598 |
line wrap: on
line diff
--- a/contrib/python-zstandard/setup.py Sun Apr 08 01:08:43 2018 +0200 +++ b/contrib/python-zstandard/setup.py Mon Apr 09 10:13:29 2018 -0700 @@ -5,6 +5,7 @@ # This software may be modified and distributed under the terms # of the BSD license. See the LICENSE file for details. +import os import sys from setuptools import setup @@ -16,14 +17,32 @@ import setup_zstd SUPPORT_LEGACY = False +SYSTEM_ZSTD = False +WARNINGS_AS_ERRORS = False -if "--legacy" in sys.argv: +if os.environ.get('ZSTD_WARNINGS_AS_ERRORS', ''): + WARNINGS_AS_ERRORS = True + +if '--legacy' in sys.argv: SUPPORT_LEGACY = True - sys.argv.remove("--legacy") + sys.argv.remove('--legacy') + +if '--system-zstd' in sys.argv: + SYSTEM_ZSTD = True + sys.argv.remove('--system-zstd') + +if '--warnings-as-errors' in sys.argv: + WARNINGS_AS_ERRORS = True + sys.argv.remote('--warning-as-errors') # Code for obtaining the Extension instance is in its own module to # facilitate reuse in other projects. -extensions = [setup_zstd.get_c_extension(SUPPORT_LEGACY, 'zstd')] +extensions = [ + setup_zstd.get_c_extension(name='zstd', + support_legacy=SUPPORT_LEGACY, + system_zstd=SYSTEM_ZSTD, + warnings_as_errors=WARNINGS_AS_ERRORS), +] install_requires = [] @@ -31,8 +50,11 @@ import make_cffi extensions.append(make_cffi.ffi.distutils_extension()) - # Need change in 1.8 for ffi.from_buffer() behavior. - install_requires.append('cffi>=1.8') + # Need change in 1.10 for ffi.from_buffer() to handle all buffer types + # (like memoryview). + # Need feature in 1.11 for ffi.gc() to declare size of objects so we avoid + # garbage collection pitfalls. + install_requires.append('cffi>=1.11') version = None @@ -62,14 +84,13 @@ 'Intended Audience :: Developers', 'License :: OSI Approved :: BSD License', 'Programming Language :: C', - 'Programming Language :: Python :: 2.6', 'Programming Language :: Python :: 2.7', - 'Programming Language :: Python :: 3.3', 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', ], keywords='zstandard zstd compression', + packages=['zstandard'], ext_modules=extensions, test_suite='tests', install_requires=install_requires,