From 7227897d5d4eb1af442508689ceb09935449efbb Mon Sep 17 00:00:00 2001 From: Andreas Müller Date: Wed, 1 Apr 2020 22:12:17 +0200 Subject: wxwidgets: initial add 3.1.3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * need it for 0.a.d and audacity * did extensive testing with PACKAGECONFIG combinations (exception: mspack - libmspack is in meta-security) Signed-off-by: Andreas Müller Signed-off-by: Khem Raj --- meta-oe/licenses/wxWidgets | 54 ++++++++++++++ .../recipes-extended/wxwidgets/wxwidgets_git.bb | 82 ++++++++++++++++++++++ 2 files changed, 136 insertions(+) create mode 100644 meta-oe/licenses/wxWidgets create mode 100644 meta-oe/recipes-extended/wxwidgets/wxwidgets_git.bb diff --git a/meta-oe/licenses/wxWidgets b/meta-oe/licenses/wxWidgets new file mode 100644 index 000000000..0f6b9d6a8 --- /dev/null +++ b/meta-oe/licenses/wxWidgets @@ -0,0 +1,54 @@ + wxWindows Library Licence, Version 3.1 + ====================================== + + Copyright (c) 1998-2005 Julian Smart, Robert Roebling et al + + Everyone is permitted to copy and distribute verbatim copies + of this licence document, but changing it is not allowed. + + WXWINDOWS LIBRARY LICENCE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + This library is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public Licence as published by + the Free Software Foundation; either version 2 of the Licence, or (at + your option) any later version. + + This library is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library + General Public Licence for more details. + + You should have received a copy of the GNU Library General Public Licence + along with this software, usually in a file named COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301 USA. + + EXCEPTION NOTICE + + 1. As a special exception, the copyright holders of this library give + permission for additional uses of the text contained in this release of + the library as licenced under the wxWindows Library Licence, applying + either version 3.1 of the Licence, or (at your option) any later version of + the Licence as published by the copyright holders of version + 3.1 of the Licence document. + + 2. The exception is that you may use, copy, link, modify and distribute + under your own terms, binary object code versions of works based + on the Library. + + 3. If you copy code from files distributed under the terms of the GNU + General Public Licence or the GNU Library General Public Licence into a + copy of this library, as this licence permits, the exception does not + apply to the code that you add in this way. To avoid misleading anyone as + to the status of such modified files, you must delete this exception + notice from such code and/or adjust the licensing conditions notice + accordingly. + + 4. If you write modifications of your own for this library, it is your + choice whether to permit this exception to apply to your modifications. + If you do not wish that, you must delete the exception notice from such + code and/or adjust the licensing conditions notice accordingly. + + + diff --git a/meta-oe/recipes-extended/wxwidgets/wxwidgets_git.bb b/meta-oe/recipes-extended/wxwidgets/wxwidgets_git.bb new file mode 100644 index 000000000..06337b79c --- /dev/null +++ b/meta-oe/recipes-extended/wxwidgets/wxwidgets_git.bb @@ -0,0 +1,82 @@ +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." +HOMEPAGE = "https://www.wxwidgets.org/" +BUGTRACKER = "https://trac.wxwidgets.org/" + +# wxWidgets licence is a modified version of LGPL explicitly allowing not +# distributing the sources of an application using the library even in the +# case of static linking. +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 + +# All toolkit-configs except 'no_gui' require x11 explicitly (see toolkit.cmake) +REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG', 'no_gui', '', 'x11', d)}" + +DEPENDS += " \ + jpeg \ + libpng \ + tiff \ +" + +SRC_URI = "git://github.com/wxWidgets/wxWidgets.git" +PV = "3.1.3" +SRCREV= "8a40d23b27ed1c80b5a2ca9f7e8461df4fbc1a31" +S = "${WORKDIR}/git" + +# These can be either 'builtin' or 'sys' and builtin means cloned soures are +# build. So these cannot be PACKAGECONFIGs and let's use libs where we can (see +# DEPENDS) +EXTRA_OECMAKE += " \ + -DwxUSE_LIBJPEG=sys \ + -DwxUSE_LIBPNG=sys \ + -DwxUSE_LIBTIFF=sys \ + -DwxUSE_REGEX=builtin \ +" +EXTRA_OECMAKE_append_libc-musl = " \ + -DHAVE_LOCALE_T=OFF \ +" + +PACKAGECONFIG ?= "gtk" + +# Note on toolkit-PACKAGECONFIGs: select exactly one of 'no_gui' / 'gtk' / 'qt' +PACKAGECONFIG[no_gui] = "-DwxUSE_GUI=OFF,,,,,qt gtk" +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 () { + pkgconfig = d.getVar('PACKAGECONFIG') + if (not 'no_gui' in pkgconfig) and (not 'gtk' in pkgconfig) and (not 'qt' in pkgconfig): + bb.error("PACKAGECONFIG must select a toolkit. Add one of no_gui / gtk / qt!") +} + +# Notes on other PACKAGECONFIGs: +# * 'no_gui' overrides some configs below so they are marked as conflicting +# with 'no_gui' to avoid surprises +# * qt+gstreamer is broken due to incorrect references on glib-2.0 -> mark +# as conflicting +# * wxUSE_LIBGNOMEVFS is for gtk2 (see init.cmake) which we don't support +# -> no gvfs PACKAGECONFIG +# * libmspack is in meta-security +PACKAGECONFIG[gstreamer] = "-DwxUSE_MEDIACTRL=ON,-DwxUSE_MEDIACTRL=OFF,gstreamer1.0-plugins-base,,,no_gui qt" +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[sdl_audio] = "-DwxUSE_LIBSDL=ON,-DwxUSE_LIBSDL=OFF,libsdl2" +PACKAGECONFIG[webkit] = "-DwxUSE_WEBVIEW_WEBKIT=ON,-DwxUSE_WEBVIEW_WEBKIT=OFF,webkitgtk,,,no_gui" + +do_install_append() { + # do not ship bindir if empty + rmdir --ignore-fail-on-non-empty ${D}${bindir} +} + +# lib names are not canonical +FILES_SOLIBSDEV = "" + +FILES_${PN} += " \ + ${libdir}/libwx_*.so \ + ${libdir}/wx/ \ +" + +FILES_${PN}-dev += "${libdir}/wx/include/" -- cgit v1.2.3-54-g00ecf