[oe-commits] =?UTF-8?Q?Dominic=20Sacr=C3=A9=20?=: python3-cython: Add new recipe

git at git.openembedded.org git at git.openembedded.org
Mon Aug 31 18:20:04 UTC 2015


Module: meta-openembedded.git
Branch: master-next
Commit: 29aa76af6579f95340488d2b5ba6fb66f8ea2771
URL:    http://git.openembedded.org/?p=meta-openembedded.git&a=commit;h=29aa76af6579f95340488d2b5ba6fb66f8ea2771

Author: Dominic Sacré <dominic.sacre at gmx.de>
Date:   Mon Aug 24 17:27:54 2015 +0200

python3-cython: Add new recipe

Use a common .inc file for the python-cython and python3-cython recipes.
Add suffix '3' to scripts in ${bindir} to avoid conflict between the two
packages.

Signed-off-by: Dominic Sacré <dominic.sacre at gmx.de>
Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>

---

 .../recipes-devtools/python/python-cython.inc       | 21 +++++++++++++++++++++
 .../recipes-devtools/python/python-cython_0.23.1.bb | 20 +-------------------
 .../python/python3-cython_0.23.1.bb                 | 18 ++++++++++++++++++
 3 files changed, 40 insertions(+), 19 deletions(-)

diff --git a/meta-python/recipes-devtools/python/python-cython.inc b/meta-python/recipes-devtools/python/python-cython.inc
new file mode 100644
index 0000000..6c8b084
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-cython.inc
@@ -0,0 +1,21 @@
+DESCRIPTION = "Cython is a language specially designed for writing Python extension modules. \
+It's designed to bridge the gap between the nice, high-level, easy-to-use world of Python \
+and the messy, low-level world of C."
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e23fadd6ceef8c618fc1c65191d846fa"
+SRCNAME = "Cython"
+BBCLASSEXTEND = "native"
+
+SRC_URI = "http://www.cython.org/release/${SRCNAME}-${PV}.tar.gz"
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+SRC_URI[md5sum] = "db3c5b365e1c3f71c7cd90e96473a3ab"
+SRC_URI[sha256sum] = "bdfd12d6a2a2e34b9a1bbc1af5a772cabdeedc3851703d249a52dcda8378018a"
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-netserver \
+    ${PYTHON_PN}-subprocess \
+    ${PYTHON_PN}-shell \
+"
+RDEPENDS_${PN}_class-native = ""
diff --git a/meta-python/recipes-devtools/python/python-cython_0.23.1.bb b/meta-python/recipes-devtools/python/python-cython_0.23.1.bb
index a0babc8..6be0b1e 100644
--- a/meta-python/recipes-devtools/python/python-cython_0.23.1.bb
+++ b/meta-python/recipes-devtools/python/python-cython_0.23.1.bb
@@ -1,24 +1,6 @@
-DESCRIPTION = "Cython is a language specially designed for writing Python extension modules. \
-It's designed to bridge the gap between the nice, high-level, easy-to-use world of Python \
-and the messy, low-level world of C."
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e23fadd6ceef8c618fc1c65191d846fa"
-SRCNAME = "Cython"
-BBCLASSEXTEND = "native"
-
-SRC_URI = "http://www.cython.org/release/${SRCNAME}-${PV}.tar.gz"
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-SRC_URI[md5sum] = "db3c5b365e1c3f71c7cd90e96473a3ab"
-SRC_URI[sha256sum] = "bdfd12d6a2a2e34b9a1bbc1af5a772cabdeedc3851703d249a52dcda8378018a"
-
 inherit setuptools
+require python-cython.inc
 
 RDEPENDS_${PN} += "\
     python-distribute \
-    python-netserver \
-    python-subprocess \
-    python-shell \
 "
-RDEPENDS_${PN}_class-native = ""
diff --git a/meta-python/recipes-devtools/python/python3-cython_0.23.1.bb b/meta-python/recipes-devtools/python/python3-cython_0.23.1.bb
new file mode 100644
index 0000000..2ce6bdb
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-cython_0.23.1.bb
@@ -0,0 +1,18 @@
+inherit setuptools3
+require python-cython.inc
+
+RDEPENDS_${PN} += "\
+    python3-setuptools \
+"
+
+# running build_ext a second time during install fails, because Python
+# would then attempt to import cythonized modules built for the target
+# architecture.
+DISTUTILS_INSTALL_ARGS += "--skip-build"
+
+do_install_append() {
+    # rename scripts that would conflict with the Python 2 build of Cython
+    mv ${D}${bindir}/cython ${D}${bindir}/cython3
+    mv ${D}${bindir}/cythonize ${D}${bindir}/cythonize3
+    mv ${D}${bindir}/cygdb ${D}${bindir}/cygdb3
+}



More information about the Openembedded-commits mailing list