[oe] [meta-python][PATCH 1/2] python-pycrypto: add app to meta-python

Armin Kuster akuster808 at gmail.com
Mon Feb 6 16:37:15 UTC 2017


move it from meta-security

Signed-off-by: Armin Kuster <akuster808 at gmail.com>
---
 .../recipes-devtools/python/python-pycrypto.inc    | 18 +++++++++++++++++
 .../python/python-pycrypto/cross-compiling.patch   | 23 ++++++++++++++++++++++
 .../python/python-pycrypto_2.6.1.bb                | 11 +++++++++++
 3 files changed, 52 insertions(+)
 create mode 100644 meta-python/recipes-devtools/python/python-pycrypto.inc
 create mode 100644 meta-python/recipes-devtools/python/python-pycrypto/cross-compiling.patch
 create mode 100644 meta-python/recipes-devtools/python/python-pycrypto_2.6.1.bb

diff --git a/meta-python/recipes-devtools/python/python-pycrypto.inc b/meta-python/recipes-devtools/python/python-pycrypto.inc
new file mode 100644
index 0000000..42e31a9
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-pycrypto.inc
@@ -0,0 +1,18 @@
+DESCRIPTION = "Cryptographic modules for Python."
+HOMEPAGE = "http://www.pycrypto.org/"
+LICENSE = "PSFv2"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=35f354d199e8cb7667b059a23578e63d"
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+DEPENDS += " gmp"
+PYPI_PACKAGE = "pycrypto"
+
+inherit pypi autotools-brokensep
+
+SRC_URI[md5sum] = "55a61a054aa66812daf5161a0d5d7eda"
+SRC_URI[sha256sum] = "f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c"
+
+do_compile[noexec] = "1"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-python/recipes-devtools/python/python-pycrypto/cross-compiling.patch b/meta-python/recipes-devtools/python/python-pycrypto/cross-compiling.patch
new file mode 100644
index 0000000..712f3e8
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-pycrypto/cross-compiling.patch
@@ -0,0 +1,23 @@
+Index: pycrypto-2.6/setup.py
+===================================================================
+--- pycrypto-2.6.orig/setup.py
++++ pycrypto-2.6/setup.py
+@@ -271,7 +271,8 @@ class PCTBuildConfigure(Command):
+         if not os.path.exists("config.status"):
+             if os.system("chmod 0755 configure") != 0:
+                 raise RuntimeError("chmod error")
+-            cmd = "sh configure"    # we use "sh" here so that it'll work on mingw32 with standard python.org binaries
++            host = os.environ.get("HOST_SYS")
++            cmd = "ac_cv_func_malloc_0_nonnull=yes sh configure --host " + host   # we use "sh" here so that it'll work on mingw32 with standard python.org binaries
+             if self.verbose < 1:
+                 cmd += " -q"
+             if os.system(cmd) != 0:
+@@ -370,7 +371,7 @@ kw = {'name':"pycrypto",
+       'ext_modules': plat_ext + [
+             # _fastmath (uses GNU mp library)
+             Extension("Crypto.PublicKey._fastmath",
+-                      include_dirs=['src/','/usr/include/'],
++                      include_dirs=['src/'],
+                       libraries=['gmp'],
+                       sources=["src/_fastmath.c"]),
+ 
diff --git a/meta-python/recipes-devtools/python/python-pycrypto_2.6.1.bb b/meta-python/recipes-devtools/python/python-pycrypto_2.6.1.bb
new file mode 100644
index 0000000..06a0cc4
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-pycrypto_2.6.1.bb
@@ -0,0 +1,11 @@
+inherit distutils
+require python-pycrypto.inc
+
+SRC_URI += "file://cross-compiling.patch"
+
+# We explicitly call distutils_do_install, since we want it to run, but
+# *don't* want the autotools install to run, since this package doesn't
+# provide a "make install" target.
+do_install() {
+       distutils_do_install
+}
-- 
2.7.4




More information about the Openembedded-devel mailing list