olm/setup.py
Mark Haines e50ac70731 Squashed 'lib/curve25519-donna/' content from commit 28772f3
git-subtree-dir: lib/curve25519-donna
git-subtree-split: 28772f37a4b8a57ab9439b9e79b19f9abee686da
2015-02-26 16:40:56 +00:00

38 lines
1.4 KiB
Python
Executable file

#! /usr/bin/python
from subprocess import Popen, PIPE
from distutils.core import setup, Extension
version = Popen(["git", "describe", "--tags"], stdout=PIPE).communicate()[0]\
.strip().decode("utf8")
ext_modules = [Extension("curve25519._curve25519",
["python-src/curve25519/curve25519module.c",
"curve25519-donna.c"],
)]
short_description="Python wrapper for the Curve25519 cryptographic library"
long_description="""\
Curve25519 is a fast elliptic-curve key-agreement protocol, in which two
parties Alice and Bob each generate a (public,private) keypair, exchange
public keys, and can then compute the same shared key. Specifically, Alice
computes F(Aprivate, Bpublic), Bob computes F(Bprivate, Apublic), and both
get the same value (and nobody else can guess that shared value, even if they
know Apublic and Bpublic).
This is a Python wrapper for the portable 'curve25519-donna' implementation
of this algorithm, written by Adam Langley, hosted at
http://code.google.com/p/curve25519-donna/
"""
setup(name="curve25519-donna",
version=version,
description=short_description,
long_description=long_description,
author="Brian Warner",
author_email="warner-pycurve25519-donna@lothar.com",
license="BSD",
packages=["curve25519", "curve25519.test"],
package_dir={"curve25519": "python-src/curve25519"},
ext_modules=ext_modules,
)