Re: [oe] [meta-python][PATCH] python3-pybind11: Use cmake to build and add -native version

2020-07-09 Thread Khem Raj
this fails for 32bit arches on 64bit build hosts see

https://errors.yoctoproject.org/Errors/Details/419353/

On Wed, Jul 8, 2020 at 2:01 PM Philip Balister  wrote:
>
>  * Switch to git repo to pick up cmake files for recipes to use
>  * Use cmake to build innstead of pypi so cmake files are included in sysroot
>  * Disable tests to prevent configure failure (I tried adding pytest asa 
> DEPEND)
>  * Patch out cmake that strips output to prevent QA failures
>  * With this I can build gnuradio using pybind11.
>
> Signed-off-by: Philip Balister 
> ---
>  .../0001-Do-not-strip-binaries.patch   | 39 
> ++
>  .../python/python3-pybind11_2.5.0.bb   | 15 +++--
>  2 files changed, 51 insertions(+), 3 deletions(-)
>  create mode 100644 
> meta-python/recipes-devtools/python/python3-pybind11/0001-Do-not-strip-binaries.patch
>
> diff --git 
> a/meta-python/recipes-devtools/python/python3-pybind11/0001-Do-not-strip-binaries.patch
>  
> b/meta-python/recipes-devtools/python/python3-pybind11/0001-Do-not-strip-binaries.patch
> new file mode 100644
> index 0..07ab9a03b
> --- /dev/null
> +++ 
> b/meta-python/recipes-devtools/python/python3-pybind11/0001-Do-not-strip-binaries.patch
> @@ -0,0 +1,39 @@
> +From 918f3ef01c7a67f3beb67307966698474f144581 Mon Sep 17 00:00:00 2001
> +From: Philip Balister 
> +Date: Wed, 8 Jul 2020 09:41:43 -0400
> +Subject: [PATCH] Do not strip binaries.
> +
> + * OpenEmbedded strips them after creating debug packages.
> +
> +Signed-off-by: Philip Balister 
> +---
> + tools/pybind11Tools.cmake | 13 -
> + 1 file changed, 13 deletions(-)
> +
> +diff --git a/tools/pybind11Tools.cmake b/tools/pybind11Tools.cmake
> +index a3603ab..b4c8f63 100644
> +--- a/tools/pybind11Tools.cmake
>  b/tools/pybind11Tools.cmake
> +@@ -230,19 +230,6 @@ function(pybind11_add_module target_name)
> +
> +   _pybind11_add_lto_flags(${target_name} ${ARG_THIN_LTO})
> +
> +-  if (NOT MSVC AND NOT ${CMAKE_BUILD_TYPE} MATCHES Debug|RelWithDebInfo)
> +-# Strip unnecessary sections of the binary on Linux/Mac OS
> +-if(CMAKE_STRIP)
> +-  if(APPLE)
> +-add_custom_command(TARGET ${target_name} POST_BUILD
> +-   COMMAND ${CMAKE_STRIP} -x 
> $)
> +-  else()
> +-add_custom_command(TARGET ${target_name} POST_BUILD
> +-   COMMAND ${CMAKE_STRIP} 
> $)
> +-  endif()
> +-endif()
> +-  endif()
> +-
> +   if(MSVC)
> + # /MP enables multithreaded builds (relevant when there are many 
> files), /bigobj is
> + # needed for bigger binding projects due to the limit to 64k 
> addressable sections
> +--
> +2.25.4
> +
> diff --git a/meta-python/recipes-devtools/python/python3-pybind11_2.5.0.bb 
> b/meta-python/recipes-devtools/python/python3-pybind11_2.5.0.bb
> index dc3b8f6ad..7dcf71e13 100644
> --- a/meta-python/recipes-devtools/python/python3-pybind11_2.5.0.bb
> +++ b/meta-python/recipes-devtools/python/python3-pybind11_2.5.0.bb
> @@ -3,7 +3,16 @@ HOMEPAGE = "https://github.com/wjakob/pybind11;
>  LICENSE = "BSD-2-Clause"
>  LIC_FILES_CHKSUM = "file://LICENSE;md5=beb87117af69fd10fbf9fb14c22a2e62"
>
> -SRC_URI[md5sum] = "5355e1fd05c8eedef19cc9bfd3d82a77"
> -SRC_URI[sha256sum] = 
> "ea5a4e7a880112915463826f1acbec5892df36dfe102ecb249229ac514fb54ad"
> +DEPENDS = "boost"
>
> -inherit pypi setuptools3
> +SRC_URI = "git://github.com/pybind/pybind11.git \
> +   file://0001-Do-not-strip-binaries.patch"
> +SRCREV = "3b1dbebabc801c9cf6f0953a4c20b904d444f879"
> +
> +S = "${WORKDIR}/git"
> +
> +BBCLASSEXTEND = "native"
> +
> +EXTRA_OECMAKE =  "-DPYBIND11_TEST=OFF"
> +
> +inherit cmake python3native
> --
> 2.13.6
>
> 
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#85680): 
https://lists.openembedded.org/g/openembedded-devel/message/85680
Mute This Topic: https://lists.openembedded.org/mt/75385828/21656
Group Owner: openembedded-devel+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub  
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


[oe] [meta-python][PATCH] python3-pybind11: Use cmake to build and add -native version

2020-07-08 Thread Philip Balister
 * Switch to git repo to pick up cmake files for recipes to use
 * Use cmake to build innstead of pypi so cmake files are included in sysroot
 * Disable tests to prevent configure failure (I tried adding pytest asa DEPEND)
 * Patch out cmake that strips output to prevent QA failures
 * With this I can build gnuradio using pybind11.

Signed-off-by: Philip Balister 
---
 .../0001-Do-not-strip-binaries.patch   | 39 ++
 .../python/python3-pybind11_2.5.0.bb   | 15 +++--
 2 files changed, 51 insertions(+), 3 deletions(-)
 create mode 100644 
meta-python/recipes-devtools/python/python3-pybind11/0001-Do-not-strip-binaries.patch

diff --git 
a/meta-python/recipes-devtools/python/python3-pybind11/0001-Do-not-strip-binaries.patch
 
b/meta-python/recipes-devtools/python/python3-pybind11/0001-Do-not-strip-binaries.patch
new file mode 100644
index 0..07ab9a03b
--- /dev/null
+++ 
b/meta-python/recipes-devtools/python/python3-pybind11/0001-Do-not-strip-binaries.patch
@@ -0,0 +1,39 @@
+From 918f3ef01c7a67f3beb67307966698474f144581 Mon Sep 17 00:00:00 2001
+From: Philip Balister 
+Date: Wed, 8 Jul 2020 09:41:43 -0400
+Subject: [PATCH] Do not strip binaries.
+
+ * OpenEmbedded strips them after creating debug packages.
+
+Signed-off-by: Philip Balister 
+---
+ tools/pybind11Tools.cmake | 13 -
+ 1 file changed, 13 deletions(-)
+
+diff --git a/tools/pybind11Tools.cmake b/tools/pybind11Tools.cmake
+index a3603ab..b4c8f63 100644
+--- a/tools/pybind11Tools.cmake
 b/tools/pybind11Tools.cmake
+@@ -230,19 +230,6 @@ function(pybind11_add_module target_name)
+ 
+   _pybind11_add_lto_flags(${target_name} ${ARG_THIN_LTO})
+ 
+-  if (NOT MSVC AND NOT ${CMAKE_BUILD_TYPE} MATCHES Debug|RelWithDebInfo)
+-# Strip unnecessary sections of the binary on Linux/Mac OS
+-if(CMAKE_STRIP)
+-  if(APPLE)
+-add_custom_command(TARGET ${target_name} POST_BUILD
+-   COMMAND ${CMAKE_STRIP} -x 
$)
+-  else()
+-add_custom_command(TARGET ${target_name} POST_BUILD
+-   COMMAND ${CMAKE_STRIP} 
$)
+-  endif()
+-endif()
+-  endif()
+-
+   if(MSVC)
+ # /MP enables multithreaded builds (relevant when there are many files), 
/bigobj is
+ # needed for bigger binding projects due to the limit to 64k addressable 
sections
+-- 
+2.25.4
+
diff --git a/meta-python/recipes-devtools/python/python3-pybind11_2.5.0.bb 
b/meta-python/recipes-devtools/python/python3-pybind11_2.5.0.bb
index dc3b8f6ad..7dcf71e13 100644
--- a/meta-python/recipes-devtools/python/python3-pybind11_2.5.0.bb
+++ b/meta-python/recipes-devtools/python/python3-pybind11_2.5.0.bb
@@ -3,7 +3,16 @@ HOMEPAGE = "https://github.com/wjakob/pybind11;
 LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=beb87117af69fd10fbf9fb14c22a2e62"
 
-SRC_URI[md5sum] = "5355e1fd05c8eedef19cc9bfd3d82a77"
-SRC_URI[sha256sum] = 
"ea5a4e7a880112915463826f1acbec5892df36dfe102ecb249229ac514fb54ad"
+DEPENDS = "boost"
 
-inherit pypi setuptools3
+SRC_URI = "git://github.com/pybind/pybind11.git \
+   file://0001-Do-not-strip-binaries.patch"
+SRCREV = "3b1dbebabc801c9cf6f0953a4c20b904d444f879"
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native"
+
+EXTRA_OECMAKE =  "-DPYBIND11_TEST=OFF"
+
+inherit cmake python3native
-- 
2.13.6

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#85665): 
https://lists.openembedded.org/g/openembedded-devel/message/85665
Mute This Topic: https://lists.openembedded.org/mt/75385828/21656
Group Owner: openembedded-devel+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub  
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-