]> gitweb.ps.run Git - matrix_esp_thesis/blob - ext/olm/lib/curve25519-donna/setup.py
add dependencies to repo
[matrix_esp_thesis] / ext / olm / lib / curve25519-donna / setup.py
1 #! /usr/bin/env python
2
3 from subprocess import Popen, PIPE
4 from distutils.core import setup, Extension
5
6 version = Popen(["git", "describe", "--tags"], stdout=PIPE).communicate()[0]\
7           .strip().decode("utf8")
8
9 ext_modules = [Extension("curve25519._curve25519",
10                          ["python-src/curve25519/curve25519module.c",
11                           "curve25519-donna.c"],
12                          )]
13
14 short_description="Python wrapper for the Curve25519 cryptographic library"
15 long_description="""\
16 Curve25519 is a fast elliptic-curve key-agreement protocol, in which two
17 parties Alice and Bob each generate a (public,private) keypair, exchange
18 public keys, and can then compute the same shared key. Specifically, Alice
19 computes F(Aprivate, Bpublic), Bob computes F(Bprivate, Apublic), and both
20 get the same value (and nobody else can guess that shared value, even if they
21 know Apublic and Bpublic).
22
23 This is a Python wrapper for the portable 'curve25519-donna' implementation
24 of this algorithm, written by Adam Langley, hosted at
25 http://code.google.com/p/curve25519-donna/
26 """
27
28 setup(name="curve25519-donna",
29       version=version,
30       description=short_description,
31       long_description=long_description,
32       author="Brian Warner",
33       author_email="warner-pycurve25519-donna@lothar.com",
34       license="BSD",
35       packages=["curve25519", "curve25519.test"],
36       package_dir={"curve25519": "python-src/curve25519"},
37       ext_modules=ext_modules,
38       )