summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Kanavin <alex.kanavin@gmail.com>2020-04-25 19:28:10 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-04-29 15:00:36 +0100
commit5b62f1c313d8b9a74f49ef30e7fa5ff489ae3e84 (patch)
tree928a6ed21493814db798b13b30cb4a5c5b22e5f5
parent85c025a7072558e49e4cf77ce03b3d156b9377a0 (diff)
downloadopenembedded-core-contrib-5b62f1c313d8b9a74f49ef30e7fa5ff489ae3e84.tar.gz
python3-cython: add from meta-oe
This is needed by new python3-numpy. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/python/python-cython.inc41
-rw-r--r--meta/recipes-devtools/python/python3-cython_0.29.14.bb18
2 files changed, 59 insertions, 0 deletions
diff --git a/meta/recipes-devtools/python/python-cython.inc b/meta/recipes-devtools/python/python-cython.inc
new file mode 100644
index 0000000000..3d1df41308
--- /dev/null
+++ b/meta/recipes-devtools/python/python-cython.inc
@@ -0,0 +1,41 @@
+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"
+PYPI_PACKAGE = "Cython"
+BBCLASSEXTEND = "native nativesdk"
+
+SRC_URI[md5sum] = "6e2f139e30bb08d68366f9370d87964c"
+SRC_URI[sha256sum] = "e4d6bb8703d0319eb04b7319b12ea41580df44fd84d83ccda13ea463c6801414"
+UPSTREAM_CHECK_REGEX = "Cython-(?P<pver>.*)\.tar"
+
+inherit pypi
+
+RDEPENDS_${PN}_class-target += "\
+ ${PYTHON_PN}-misc \
+ ${PYTHON_PN}-netserver \
+ ${PYTHON_PN}-pkgutil \
+ ${PYTHON_PN}-pyparsing \
+ ${PYTHON_PN}-setuptools \
+ ${PYTHON_PN}-shell \
+ ${PYTHON_PN}-xml \
+"
+
+RDEPENDS_${PN}_class-nativesdk += "\
+ nativesdk-${PYTHON_PN}-misc \
+ nativesdk-${PYTHON_PN}-netserver \
+ nativesdk-${PYTHON_PN}-pkgutil \
+ nativesdk-${PYTHON_PN}-pyparsing \
+ nativesdk-${PYTHON_PN}-setuptools \
+ nativesdk-${PYTHON_PN}-shell \
+ nativesdk-${PYTHON_PN}-xml \
+"
+
+do_install_append() {
+ # Make sure we use /usr/bin/env python
+ for PYTHSCRIPT in `grep -rIl '^#!.*python' ${D}`; do
+ sed -i -e '1s|^#!.*|#!/usr/bin/env ${PYTHON_PN}|' $PYTHSCRIPT
+ done
+}
diff --git a/meta/recipes-devtools/python/python3-cython_0.29.14.bb b/meta/recipes-devtools/python/python3-cython_0.29.14.bb
new file mode 100644
index 0000000000..2ce6bdbd68
--- /dev/null
+++ b/meta/recipes-devtools/python/python3-cython_0.29.14.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
+}