diff options
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-extended/wxwidgets')
2 files changed, 64 insertions, 7 deletions
diff --git a/meta-openembedded/meta-oe/recipes-extended/wxwidgets/wxwidgets/0001-wx-config.in-Disable-cross-magic-it-does-not-work-fo.patch b/meta-openembedded/meta-oe/recipes-extended/wxwidgets/wxwidgets/0001-wx-config.in-Disable-cross-magic-it-does-not-work-fo.patch new file mode 100644 index 000000000..b3b9e79c5 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/wxwidgets/wxwidgets/0001-wx-config.in-Disable-cross-magic-it-does-not-work-fo.patch @@ -0,0 +1,35 @@ +From a071243763f4b06fc7e71f541c49cecf380b6f27 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> +Date: Sun, 11 Oct 2020 22:16:55 +0200 +Subject: [PATCH] wx-config.in: Disable cross magic - it does not work for us +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +E.g 'wx-config --libs' appends a '-Linux' to all libraries (e.g +-lwx_gtk3u_xrc-3.1 is reported as -lwx_gtk3u_xrc-3.1-Linux) which is wrong and +make projects depending on wxwidgets fail. + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> +--- + wx-config.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/wx-config.in b/wx-config.in +index d132e3182f..d0d162e8a3 100755 +--- a/wx-config.in ++++ b/wx-config.in +@@ -396,7 +396,7 @@ get_mask() + } + + # Returns true if this script is for a cross compiled config. +-is_cross() { [ "x@cross_compiling@" = "xyes" ]; } ++is_cross() { [ "xno" = "xyes" ]; } + + + # Determine the base directories we require. +-- +2.26.2 + diff --git a/meta-openembedded/meta-oe/recipes-extended/wxwidgets/wxwidgets_git.bb b/meta-openembedded/meta-oe/recipes-extended/wxwidgets/wxwidgets_git.bb index 06337b79c..26a9004fb 100644 --- a/meta-openembedded/meta-oe/recipes-extended/wxwidgets/wxwidgets_git.bb +++ b/meta-openembedded/meta-oe/recipes-extended/wxwidgets/wxwidgets_git.bb @@ -1,5 +1,5 @@ SUMMARY = "Cross-Plattform GUI Library" -DESCRIPTIOM = "wxWidgets is a free and open source cross-platform C++ framework for writing advanced GUI applications using native controls." +DESCRIPTION = "wxWidgets is a free and open source cross-platform C++ framework for writing advanced GUI applications using native controls." HOMEPAGE = "https://www.wxwidgets.org/" BUGTRACKER = "https://trac.wxwidgets.org/" @@ -10,7 +10,7 @@ LICENSE = "wxWidgets" LIC_FILES_CHKSUM = "file://docs/licence.txt;md5=981f50a934828620b08f44d75db557c6" inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt', 'cmake_qt5', 'cmake', d)} -inherit features_check lib_package +inherit features_check lib_package binconfig # All toolkit-configs except 'no_gui' require x11 explicitly (see toolkit.cmake) REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG', 'no_gui', '', 'x11', d)}" @@ -21,9 +21,12 @@ DEPENDS += " \ tiff \ " -SRC_URI = "git://github.com/wxWidgets/wxWidgets.git" -PV = "3.1.3" -SRCREV= "8a40d23b27ed1c80b5a2ca9f7e8461df4fbc1a31" +SRC_URI = " \ + git://github.com/wxWidgets/wxWidgets.git \ + file://0001-wx-config.in-Disable-cross-magic-it-does-not-work-fo.patch \ +" +PV = "3.1.4" +SRCREV= "6cdaedd42ba59331b3dc4ead50e0bac76ae14c19" S = "${WORKDIR}/git" # These can be either 'builtin' or 'sys' and builtin means cloned soures are @@ -39,10 +42,10 @@ EXTRA_OECMAKE_append_libc-musl = " \ -DHAVE_LOCALE_T=OFF \ " -PACKAGECONFIG ?= "gtk" +PACKAGECONFIG ?= "gtk ${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}" # Note on toolkit-PACKAGECONFIGs: select exactly one of 'no_gui' / 'gtk' / 'qt' -PACKAGECONFIG[no_gui] = "-DwxUSE_GUI=OFF,,,,,qt gtk" +PACKAGECONFIG[no_gui] = "-DwxUSE_GUI=OFF,,,,,qt gtk opengl" PACKAGECONFIG[gtk] = "-DwxBUILD_TOOLKIT=gtk3 -DwxUSE_GUI=ON,,gtk+3,,,no_gui qt" PACKAGECONFIG[qt] = "-DwxBUILD_TOOLKIT=qt -DwxUSE_GUI=ON,,qtbase,,,no_gui gtk" python () { @@ -63,9 +66,28 @@ PACKAGECONFIG[gstreamer] = "-DwxUSE_MEDIACTRL=ON,-DwxUSE_MEDIACTRL=OFF,gstreamer PACKAGECONFIG[libsecret] = "-DwxUSE_SECRETSTORE=ON,-DwxUSE_SECRETSTORE=OFF,libsecret,,,no_gui" PACKAGECONFIG[lzma] = "-DwxUSE_LIBLZMA=ON,-DwxUSE_LIBLZMA=OFF,xz" PACKAGECONFIG[mspack] = "-DwxUSE_LIBMSPACK=ON,-DwxUSE_LIBMSPACK=OFF,libmspack" +PACKAGECONFIG[opengl] = ",,libglu" PACKAGECONFIG[sdl_audio] = "-DwxUSE_LIBSDL=ON,-DwxUSE_LIBSDL=OFF,libsdl2" PACKAGECONFIG[webkit] = "-DwxUSE_WEBVIEW_WEBKIT=ON,-DwxUSE_WEBVIEW_WEBKIT=OFF,webkitgtk,,,no_gui" +do_compile_append() { + # if not at re-compile + if [ -L ${B}/wx-config ]; then + # ${B}/wx-config is a symlink for build and not needed after compile + # So for our purposes do: + # 1. make a file out of wx-config so that binconfig.bbclass detects it + # 2. make sure we do not move the file used for compiling into sysroot + cp --remove-destination `readlink ${B}/wx-config | sed 's:inplace-::'` ${B}/wx-config + fi + # 3. Set full sysroot paths so sstate can translate them when setting + # up wxwidgets's consumer sysroots + sed -i \ + -e 's,^includedir=.*,includedir="${STAGING_INCDIR}",g' \ + -e 's,^libdir=.*",libdir="${STAGING_LIBDIR}",g' \ + -e 's,^bindir=.*",bindir="${STAGING_BINDIR}",g' \ + ${B}/wx-config +} + do_install_append() { # do not ship bindir if empty rmdir --ignore-fail-on-non-empty ${D}${bindir} |