Adapt to QtWayland client move to QtBase

QtWayland client and tools were moved to qtbase. Add new PACKAGECONFIG
for qtwaylandscanner and enable it on native(sdk) builds. Remove the
now obsolete native(sdk) qtwayland builds and dependencies to it.

Change-Id: I2dc351d5b81d586bb768a0b09953eaa213fd556c
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
This commit is contained in:
Samuli Piippo 2025-05-21 05:21:28 +00:00
parent 8fbde08307
commit 313ce6e26f
6 changed files with 20 additions and 64 deletions

View File

@ -23,7 +23,6 @@ RDEPENDS:${PN} += " \
nativesdk-qtscxml-tools \
nativesdk-qtshadertools-dev \
nativesdk-qtshadertools-tools \
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'nativesdk-qtwayland-dev nativesdk-qtwayland-tools', '', d)} \
${FORLINUXHOST} \
"

View File

@ -23,7 +23,7 @@ EXTRA_OECMAKE += "-DQT_APPMAN_SKIP_EXCLUDE_TOOLS_FROM_DEFAULT_TARGET=ON"
PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'multi-process', '', d)}"
PACKAGECONFIG[tools-only] = "-DFEATURE_am_tools_only=ON, -DFEATURE_am_tools_only=OFF"
PACKAGECONFIG[multi-process] = "-DFEATURE_am_multi_process=ON, -DFEATURE_am_multi_process=OFF, qtwayland qtwayland-native"
PACKAGECONFIG[multi-process] = "-DFEATURE_am_multi_process=ON,-DFEATURE_am_multi_process=OFF,qtwayland"
PACKAGECONFIG:class-native ??= "tools-only"
PACKAGECONFIG:class-nativesdk ??= "${PACKAGECONFIG:class-native}"

View File

@ -1,4 +1,5 @@
LICENSE = "(The-Qt-Company-Commercial | (GPL-3.0-only & Qt-GPL-exception-1.0) & (LGPL-3.0-only | GPL-2.0-only | GPL-3.0-only) & GFDL-1.3-no-invariants-only) & Apache-2.0 & BSD-3-Clause & BSL-1.0 & MIT"
LICENSE = "(The-Qt-Company-Commercial | (GPL-3.0-only & Qt-GPL-exception-1.0) & (LGPL-3.0-only | GPL-2.0-only | GPL-3.0-only) \
& GFDL-1.3-no-invariants-only) & Apache-2.0 & BSD-3-Clause & BSL-1.0 & LGPL-2.1-or-later & HPND & MIT"
LIC_FILES_CHKSUM = " \
file://LICENSES/Apache-2.0.txt;md5=b4c615f64dff32f71eeed614d13dfd4c \
file://LICENSES/BSD-3-Clause.txt;md5=cb40fa7520502d8c7a3aea47cae1316c \
@ -6,6 +7,8 @@ LIC_FILES_CHKSUM = " \
file://LICENSES/GFDL-1.3-no-invariants-only.txt;md5=a22d0be1ce2284b67950a4d1673dd1b0 \
file://LICENSES/GPL-2.0-only.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://LICENSES/GPL-3.0-only.txt;md5=d32239bcb673463ab874e80d47fae504 \
file://LICENSES/HPND.txt;md5=72f417bf093b8008321cb594117034ec \
file://LICENSES/LGPL-2.1-or-later.txt;md5=2a4f4fd2128ea2f65047ee63fbca9f68 \
file://LICENSES/LGPL-3.0-only.txt;md5=e6a600fd5e1d9cbde2d983680233ad02 \
file://LICENSES/LicenseRef-Qt-Commercial.txt;md5=40a1036f91cefc0e3fabad241fb5f187 \
file://LICENSES/MIT.txt;md5=3605d54ecceddcd50962eb89318779ec \
@ -39,6 +42,7 @@ RRECOMMENDS:${PN}-ptest:append = " tzdata"
PACKAGECONFIG:class-native ?= "\
gui widgets jpeg png dbus no-opengl openssl zlib zstd \
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'qtwaylandscanner', '', d)} \
"
PACKAGECONFIG:class-nativesdk ?= "${PACKAGECONFIG:class-native}"
PACKAGECONFIG ?= "\
@ -84,6 +88,7 @@ PACKAGECONFIG_DEFAULT ?= "\
zlib \
zstd \
${@bb.utils.contains('SELECTED_OPTIMIZATION', '-Os', 'optimize-size ltcg', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'qtwaylandscanner', '', d)} \
"
PACKAGECONFIG:remove:mingw32 = "openssl"
@ -142,6 +147,7 @@ PACKAGECONFIG[png] = "-DFEATURE_system_png=ON,-DFEATURE_png=OFF,libpng"
PACKAGECONFIG[tslib] = "-DFEATURE_tslib=ON,-DFEATURE_tslib=OFF,tslib"
PACKAGECONFIG[vulkan] = "-DFEATURE_vulkan=ON,-DFEATURE_vulkan=OFF,vulkan-headers,vulkan-loader"
PACKAGECONFIG[wayland] = "-DFEATURE_wayland=ON,-DFEATURE_wayland=OFF,wayland wayland-native"
PACKAGECONFIG[qtwaylandscanner] = "-DFEATURE_qtwaylandscanner=ON,-DFEATURE_qtwaylandscanner=OFF,wayland wayland-native"
PACKAGECONFIG[xcb] = "-DFEATURE_xcb=ON,-DFEATURE_xcb=OFF,libxcb xcb-util-wm xcb-util-image xcb-util-keysyms xcb-util-renderutil xcb-util-cursor"
PACKAGECONFIG[xkbcommon] = "-DFEATURE_xkbcommon=ON,-DFEATURE_xkbcommon=OFF,libxkbcommon,xkeyboard-config"
@ -249,6 +255,8 @@ isEmpty(QMAKE_CC): {
EOF
}
FILES:${PN}-dev += "${datadir}/qt6/wayland"
INSANE_SKIP:${PN}-ptest += "arch"
INHIBIT_PACKAGE_STRIP_FILES = "\
${PKGD}${PTEST_PATH}/tests/auto/corelib/plugin/qpluginloader/elftest/corrupt2.elf64.so \

View File

@ -13,5 +13,5 @@ include recipes-qt/qt6/qt6-commercial.inc
DEPENDS += "qtbase qtdeclarative qtdeclarative-native"
PACKAGECONFIG[examples] = "-DQT_BUILD_EXAMPLES=ON,-DQT_BUILD_EXAMPLES=OFF,qtwayland qtwayland-native"
PACKAGECONFIG[examples] = "-DQT_BUILD_EXAMPLES=ON,-DQT_BUILD_EXAMPLES=OFF,qtwayland"
PACKAGECONFIG[libtomcrypt] = ",,libtomcrypt"

View File

@ -1,41 +0,0 @@
From 743bfbd8a9a11eb75234068c63e0b3f52e1a2823 Mon Sep 17 00:00:00 2001
From: Samuli Piippo <samuli.piippo@qt.io>
Date: Wed, 29 Jan 2020 12:39:09 +0200
Subject: [PATCH] Allow qtwaylandscanner to be built without dependencies
Change-Id: I15aa5fc5128fcd0925d5950596bd56710b5b81d4
Upstream-Status: Inappropriate [OE Specific]
---
CMakeLists.txt | 5 -----
src/CMakeLists.txt | 2 +-
2 files changed, 1 insertion(+), 6 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c498e15b..21fadd02 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -18,11 +18,6 @@ find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS
)
qt_internal_project_setup()
-if(NOT MACOS AND NOT QNX AND (ANDROID OR NOT LINUX))
- message(NOTICE "Skipping the build as the condition \"LINUX OR MACOS OR QNX\" is not met.")
- return()
-endif()
-
find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS
Core
)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index a38d9551..c4fe5fb1 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -20,7 +20,7 @@ endforeach()
qt_find_package(Wayland 1.15 PROVIDED_TARGETS ${wayland_libs})
-if (NOT WaylandScanner_FOUND OR NOT Wayland_FOUND)
+if ((QT_FEATURE_wayland_server OR QT_FEATURE_wayland_client) AND (NOT WaylandScanner_FOUND OR NOT Wayland_FOUND))
message(WARNING "QtWayland is missing required dependencies, nothing will be built. \
Although this could be considered an error, the configuration will still pass as coin (Qt's \
continuous integration system) will fail the build if configure fails, but will still try to \

View File

@ -1,4 +1,4 @@
LICENSE = "(The-Qt-Company-Commercial | (GPL-3.0-only & Qt-GPL-exception-1.0) & (LGPL-3.0-only | GPL-2.0-only | GPL-3.0-only) & GFDL-1.3-no-invariants-only & BSD-3-Clause) & HPND & MIT"
LICENSE = "(The-Qt-Company-Commercial | (GPL-3.0-only & Qt-GPL-exception-1.0) & (LGPL-3.0-only | GPL-2.0-only | GPL-3.0-only) & GFDL-1.3-no-invariants-only & BSD-3-Clause) & MIT"
LIC_FILES_CHKSUM = " \
file://LICENSES/BSD-3-Clause.txt;md5=cb40fa7520502d8c7a3aea47cae1316c \
file://LICENSES/GFDL-1.3-no-invariants-only.txt;md5=a22d0be1ce2284b67950a4d1673dd1b0 \
@ -6,9 +6,8 @@ LIC_FILES_CHKSUM = " \
file://LICENSES/GPL-3.0-only.txt;md5=d32239bcb673463ab874e80d47fae504 \
file://LICENSES/LGPL-3.0-only.txt;md5=e6a600fd5e1d9cbde2d983680233ad02 \
file://LICENSES/LicenseRef-Qt-Commercial.txt;md5=40a1036f91cefc0e3fabad241fb5f187 \
file://LICENSES/MIT.txt;md5=3605d54ecceddcd50962eb89318779ec \
file://LICENSES/Qt-GPL-exception-1.0.txt;md5=9a13522cd91a88fba784baf16ea66af8 \
file://src/3rdparty/protocol/text-input/v2/HPND_LICENSE.txt;md5=147672b78461c805e65dc29a92591db1 \
file://src/3rdparty/protocol/MIT_LICENSE.txt;md5=e8ad01a5182f2c1b3a2640e9ea268264 \
"
inherit qt6-cmake
@ -19,21 +18,12 @@ REQUIRED_DISTRO_FEATURES = "wayland"
include recipes-qt/qt6/qt6-git.inc
include recipes-qt/qt6/qt6.inc
SRC_URI += "\
file://0001-Allow-qtwaylandscanner-to-be-built-without-dependenc.patch \
DEPENDS += "\
qtbase \
qtdeclarative \
qtdeclarative-native \
wayland \
wayland-native \
"
PACKAGECONFIG ?= "\
wayland-client \
wayland-server \
"
PACKAGECONFIG:class-native ?= ""
PACKAGECONFIG:class-nativesdk ?= ""
PACKAGECONFIG[wayland-client] = "-DFEATURE_wayland_client=ON,-DFEATURE_wayland_client=OFF,"
PACKAGECONFIG[wayland-server] = "-DFEATURE_wayland_server=ON,-DFEATURE_wayland_server=OFF,"
DEPENDS += "qtbase qtdeclarative qtwayland-native wayland wayland-native"
BBCLASSEXTEND = "native nativesdk"
INSANE_SKIP:${PN}-dev += "buildpaths"