mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2025-12-14 06:16:04 +01:00
python3-wxgtk4: add recipe
Add recipe for python3-wxgtk4 which is a python3 interface to the wxWidgets Cross-platform C++ GUI toolkit. Add patches to * add back build options for oe * fixup build scripts for cross compile * fix sip oevrride functions compile errors Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
parent
ce604d453c
commit
6eb78d932f
|
|
@ -0,0 +1,22 @@
|
|||
Add back default user options for cross build.
|
||||
|
||||
Upstream-Status: Pending [oe specific]
|
||||
|
||||
Signed-off-by: Kai Kang <kai.kang@windriver.com>
|
||||
---
|
||||
setup.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/setup.py b/setup.py
|
||||
index a215da7..dccfeb3 100644
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -105,7 +105,7 @@ class wx_build(orig_build):
|
||||
Delegate to build.py for doing the actual build, (including wxWidgets)
|
||||
instead of letting distutils do it all.
|
||||
"""
|
||||
- user_options = [
|
||||
+ user_options = orig_build.user_options + [
|
||||
('skip-build', None, 'skip building the C/C++ code (assumes it has already been done)'),
|
||||
]
|
||||
boolean_options = ['skip-build']
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
It fails to compile with errors:
|
||||
|
||||
| ../../../../sip/cpp/sip_gridwxGridEvent.cpp:35:9: error: 'int sipwxGridEvent::GetRow()'
|
||||
marked 'override', but does not override
|
||||
| 35 | int GetRow() SIP_OVERRIDE;
|
||||
| | ^~~~~~
|
||||
| ../../../../sip/cpp/sip_gridwxGridEvent.cpp:36:9: error: 'int sipwxGridEvent::GetCol()'
|
||||
marked 'override', but does not over ride
|
||||
| 36 | int GetCol() SIP_OVERRIDE;
|
||||
| | ^~~~~~
|
||||
|
||||
Make these functions non-override.
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Kai Kang <kai.kang@windriver.com>
|
||||
---
|
||||
sip/cpp/sip_gridwxGridEvent.cpp | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/sip/cpp/sip_gridwxGridEvent.cpp b/sip/cpp/sip_gridwxGridEvent.cpp
|
||||
index 0830b677..314aec94 100644
|
||||
--- a/sip/cpp/sip_gridwxGridEvent.cpp
|
||||
+++ b/sip/cpp/sip_gridwxGridEvent.cpp
|
||||
@@ -32,8 +32,8 @@ public:
|
||||
* this class.
|
||||
*/
|
||||
protected:
|
||||
- int GetRow() SIP_OVERRIDE;
|
||||
- int GetCol() SIP_OVERRIDE;
|
||||
+ int GetRow() ;
|
||||
+ int GetCol() ;
|
||||
::wxEvent* Clone() const SIP_OVERRIDE;
|
||||
::wxEventCategory GetEventCategory() const SIP_OVERRIDE;
|
||||
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
Fix issues in build scripts:
|
||||
|
||||
* remove hardcode lib path from buildtools/config.py which is not suitable for
|
||||
cross build
|
||||
* only build target 'build_py' in setup.py
|
||||
* do not override self.install_lib with self.install_platlib which causes
|
||||
package issue when multilib is enabled.
|
||||
|
||||
Upstream-Status: Pending [cross build specific]
|
||||
|
||||
Signed-off-by: Kai Kang <kai.kang@windriver.com>
|
||||
---
|
||||
buildtools/config.py | 4 ++--
|
||||
setup.py | 4 ++--
|
||||
2 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/buildtools/config.py b/buildtools/config.py
|
||||
index c837e5d..d426005 100644
|
||||
--- a/buildtools/config.py
|
||||
+++ b/buildtools/config.py
|
||||
@@ -312,8 +312,8 @@ class Configuration(object):
|
||||
# wx-config doesn't output that for some reason. For now, just
|
||||
# add it unconditionally but we should really check if the lib is
|
||||
# really found there or wx-config should be fixed.
|
||||
- if self.WXPORT != 'msw':
|
||||
- self.libdirs.append("/usr/X11R6/lib")
|
||||
+ #if self.WXPORT != 'msw':
|
||||
+ # self.libdirs.append("/usr/X11R6/lib")
|
||||
|
||||
# Move the various -I, -D, etc. flags we got from the config scripts
|
||||
# into the distutils lists.
|
||||
diff --git a/setup.py b/setup.py
|
||||
index 64bec4b..fb29253 100644
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -130,7 +130,7 @@ class wx_build(orig_build):
|
||||
'message and the wxWidgets and Phoenix build steps in the future.\n')
|
||||
|
||||
# Use the same Python that is running this script.
|
||||
- cmd = ['"{}"'.format(sys.executable), '-u', 'build.py', 'build']
|
||||
+ cmd = ['"{}"'.format(sys.executable), '-u', 'build.py', 'build_py']
|
||||
cmd = ' '.join(cmd)
|
||||
runcmd(cmd)
|
||||
|
||||
@@ -233,7 +233,7 @@ if haveWheel:
|
||||
class wx_install(orig_install):
|
||||
def finalize_options(self):
|
||||
orig_install.finalize_options(self)
|
||||
- self.install_lib = self.install_platlib
|
||||
+ #self.install_lib = self.install_platlib
|
||||
|
||||
def run(self):
|
||||
self.run_command("build")
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
DESCRIPTION = "Python3 interface to the wxWidgets Cross-platform C++ GUI toolkit."
|
||||
HOMEPAGE = "http://www.wxpython.org"
|
||||
|
||||
LICENSE = "WXwindows"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=fce1d18e2d633d41786c0a8dfbc80917"
|
||||
|
||||
DEPENDS = "wxwidgets-native wxwidgets"
|
||||
|
||||
PYPI_PACKAGE = "wxPython"
|
||||
|
||||
SRC_URI += "file://add-back-option-build-base.patch \
|
||||
file://wxgtk-fixup-build-scripts.patch \
|
||||
file://sip-fix-override-functions.patch \
|
||||
"
|
||||
SRC_URI[sha256sum] = "00e5e3180ac7f2852f342ad341d57c44e7e4326de0b550b9a5c4a8361b6c3528"
|
||||
|
||||
S = "${WORKDIR}/wxPython-${PV}"
|
||||
|
||||
inherit pypi setuptools3 pkgconfig
|
||||
|
||||
export WX_CONFIG = "${RECIPE_SYSROOT_NATIVE}${bindir}/wx-config"
|
||||
|
||||
RDEPENDS:${PN} = "\
|
||||
python3-difflib \
|
||||
python3-image \
|
||||
python3-numpy \
|
||||
python3-pillow \
|
||||
python3-pprint \
|
||||
python3-pycairo \
|
||||
python3-six \
|
||||
python3-xml \
|
||||
"
|
||||
Loading…
Reference in New Issue
Block a user