diff options
| author | Maximilian Hils <git@maximilianhils.com> | 2015-05-31 11:44:27 +0200 |
|---|---|---|
| committer | Maximilian Hils <git@maximilianhils.com> | 2015-05-31 11:44:27 +0200 |
| commit | c725325a7876fb7c019a2175d3543dd116d7c240 (patch) | |
| tree | 5fe7e6878dcfa255dc0a507640fd1ee943e1a246 | |
| parent | 35856ead075829d5b086e60c60ac20fdfc8560f1 (diff) | |
| parent | b395049a853aa378773aebae83468c1b889c2d4e (diff) | |
| download | mitmproxy-c725325a7876fb7c019a2175d3543dd116d7c240.tar.gz mitmproxy-c725325a7876fb7c019a2175d3543dd116d7c240.tar.bz2 mitmproxy-c725325a7876fb7c019a2175d3543dd116d7c240.zip | |
Merge pull request #61 from Kriechi/distribute-cffi
distribute cffi correctly
| -rw-r--r-- | netlib/certffi.py | 4 | ||||
| -rw-r--r-- | setup.py | 36 |
2 files changed, 37 insertions, 3 deletions
diff --git a/netlib/certffi.py b/netlib/certffi.py index 81dc72e8..451f4493 100644 --- a/netlib/certffi.py +++ b/netlib/certffi.py @@ -1,8 +1,8 @@ from __future__ import (absolute_import, print_function, division) -import cffi +from cffi import FFI import OpenSSL -xffi = cffi.FFI() +xffi = FFI() xffi.cdef(""" struct rsa_meth_st { int flags; @@ -1,16 +1,39 @@ +from distutils.command.build import build +from setuptools.command.install import install from setuptools import setup, find_packages from codecs import open import os + from netlib import version # Based on https://github.com/pypa/sampleproject/blob/master/setup.py # and https://python-packaging-user-guide.readthedocs.org/ +# and https://caremad.io/2014/11/distributing-a-cffi-project/ here = os.path.abspath(os.path.dirname(__file__)) with open(os.path.join(here, 'README.mkd'), encoding='utf-8') as f: long_description = f.read() + +def get_ext_modules(): + from netlib import certffi + return [certffi.xffi.verifier.get_extension()] + + +class CFFIBuild(build): + + def finalize_options(self): + self.distribution.ext_modules = get_ext_modules() + build.finalize_options(self) + + +class CFFIInstall(install): + + def finalize_options(self): + self.distribution.ext_modules = get_ext_modules() + install.finalize_options(self) + setup( name="netlib", version=version.VERSION, @@ -36,12 +59,18 @@ setup( ], packages=find_packages(), include_package_data=True, + zip_safe=False, install_requires=[ + "cffi", "pyasn1>=0.1.7", "pyOpenSSL>=0.15.1", "cryptography>=0.9", "passlib>=1.6.2", "hpack>=1.0.1"], + setup_requires=[ + "cffi", + "pyOpenSSL>=0.15.1", + ], extras_require={ 'dev': [ "mock>=1.0.1", @@ -52,4 +81,9 @@ setup( "autoflake>=0.6.6", "pathod>=%s, <%s" % (version.MINORVERSION, - version.NEXT_MINORVERSION)]}) + version.NEXT_MINORVERSION)]}, + cmdclass={ + "build": CFFIBuild, + "install": CFFIInstall, + }, +) |
