]> gitweb.ps.run Git - matrix_esp_thesis/blobdiff - ext/olm/lib/curve25519-donna/setup.py
add dependencies to repo
[matrix_esp_thesis] / ext / olm / lib / curve25519-donna / setup.py
diff --git a/ext/olm/lib/curve25519-donna/setup.py b/ext/olm/lib/curve25519-donna/setup.py
new file mode 100644 (file)
index 0000000..df5cbfd
--- /dev/null
@@ -0,0 +1,38 @@
+#! /usr/bin/env 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,
+      )