[honister,12/18] python3-gevent: use system libraries instead of embedding

Message ID c035aa28e0692edd9df1c715648705cc280b7c16.1639668121.git.akuster808@gmail.com
State New
Headers show
Series [honister,01/18] lvm2: do not install systemd units/initscripts when building native SDK tools | expand

Commit Message

akuster808 Dec. 16, 2021, 3:23 p.m. UTC
From: Ross Burton <ross@burtonini.com>

gevent by default will build its own c-ares and libuv, but that build
needs patches and embedded libraries are bad form.

DEPEND on the recipes instead, and turn off embedding.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
(cherry picked from commit 2d63ec9476690a0da648c805dc3fdb9b0201bbbb)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
---
 .../python/python-gevent/libev-conf.patch     | 26 -------------------
 .../python/python3-gevent_21.8.0.bb           | 22 ++++++----------
 2 files changed, 8 insertions(+), 40 deletions(-)
 delete mode 100644 meta-python/recipes-devtools/python/python-gevent/libev-conf.patch

Patch

diff --git a/meta-python/recipes-devtools/python/python-gevent/libev-conf.patch b/meta-python/recipes-devtools/python/python-gevent/libev-conf.patch
deleted file mode 100644
index 79c1867ba7..0000000000
--- a/meta-python/recipes-devtools/python/python-gevent/libev-conf.patch
+++ /dev/null
@@ -1,26 +0,0 @@ 
-From 2294734ef9d5e2efb05820e9759a1635799bdea9 Mon Sep 17 00:00:00 2001
-From: Andrej Rode <andrej.rode@ettus.com>
-Date: Mon, 10 Apr 2017 19:25:18 -0700
-Subject: [PATCH] libev: make configure crosscompile compatible
-
-Signed-off-by: Andrej Rode <andrej.rode@ettus.com>
----
- deps/libev/configure | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/deps/libev/configure b/deps/libev/configure
-index 743817e..96c2366 100755
---- a/deps/libev/configure
-+++ b/deps/libev/configure
-@@ -2208,7 +2208,7 @@ fi
- ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
- ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
--ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-+ac_link='$CC -static -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
- 
--- 
-2.10.2
-
diff --git a/meta-python/recipes-devtools/python/python3-gevent_21.8.0.bb b/meta-python/recipes-devtools/python/python3-gevent_21.8.0.bb
index 74ae6cf69d..8fb6e18504 100644
--- a/meta-python/recipes-devtools/python/python3-gevent_21.8.0.bb
+++ b/meta-python/recipes-devtools/python/python3-gevent_21.8.0.bb
@@ -7,27 +7,21 @@  LIC_FILES_CHKSUM = "file://LICENSE;md5=4de99aac27b470c29c6c309e0c279b65 \
                     file://NOTICE;md5=18108df3583462cafd457f024b9b09b5 \
                     file://deps/libev/LICENSE;md5=d6ad416afd040c90698edcdf1cbee347 \
                     "
-DEPENDS += "libevent"
-DEPENDS += "${PYTHON_PN}-greenlet"
+DEPENDS += "${PYTHON_PN}-greenlet libev c-ares"
+
 RDEPENDS:${PN} = "${PYTHON_PN}-greenlet \
 		  ${PYTHON_PN}-mime \
 		  ${PYTHON_PN}-pprint \
 		 "
 
-FILESEXTRAPATHS:prepend := "${THISDIR}/python-gevent:"
+SRC_URI[sha256sum] = "43e93e1a4738c922a2416baf33f0afb0a20b22d3dba886720bc037cd02a98575"
 
-SRC_URI:append = " \
-    file://libev-conf.patch;patch=1;pnum=1 \
-"
+inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "43e93e1a4738c922a2416baf33f0afb0a20b22d3dba886720bc037cd02a98575"
+# Don't embed libraries, link to the system instead
+export GEVENTSETUP_EMBED = "0"
 
-# The python-gevent has no autoreconf ability
-# and the logic for detecting a cross compile is flawed
-# so always force a cross compile
+# Delete the embedded copies of libraries so we can't accidentally link to them
 do_configure:append() {
-	sed -i -e 's/^cross_compiling=no/cross_compiling=yes/' ${S}/deps/libev/configure
-	sed -i -e 's/^cross_compiling=no/cross_compiling=yes/' ${S}/deps/c-ares/configure
+	rm -rf ${S}/deps
 }
-
-inherit pypi setuptools3