update to 1afd1166

1.configs:ls2k300:Add a config for qt6
2.2k300:all:defconfig:Add some software support

Signed-off-by: maoxiaochuan <maoxiaochuan@loongson.cn>
This commit is contained in:
maoxiaochuan
2025-03-12 17:02:13 +08:00
parent 8114380ba5
commit e13db1cf24
64 changed files with 1076 additions and 342 deletions
+1
View File
@@ -2923,6 +2923,7 @@ menu "Loongson board software"
source "package/loongson_custom_vimrc/Config.in"
source "package/loongson_custom_timesyncd_conf/Config.in"
source "package/qt_virtual_keyboard_emb/Config.in"
source "package/loongson_timesyncd_config/Config.in"
endmenu
endmenu
+2
View File
@@ -383,6 +383,8 @@ define HOST_GCC_INSTALL_WRAPPER_AND_SIMPLE_SYMLINKS
esac; \
done
$(Q)cd $(HOST_DIR) && ln -sf $(ARCH)-$(TARGET_VENDOR)-linux-$(GCC_STD_LIB_NAME) $(ARCH)-linux-$(GCC_STD_LIB_NAME)
$(Q)cd $(HOST_DIR) && ln -sf ./$(ARCH)-$(TARGET_VENDOR)-linux-$(GCC_STD_LIB_NAME)/sysroot sysroot
endef
include $(sort $(wildcard package/gcc/*/*.mk))
@@ -0,0 +1,7 @@
config BR2_PACKAGE_LOONGSON_TIMESYNCD_CONFIG
bool "Run 'timedatectl set-ntp 0' when first boot"
depends on BR2_PACKAGE_SYSTEMD_TIMESYNCD
default y
help
disable ntp timesync
@@ -0,0 +1,7 @@
define LOONGSON_TIMESYNCD_CONFIG_INSTALL_TARGET_CMDS
cp $(TOPDIR)/package/loongson_timesyncd_config/loongson_timesyncd_config.sh $(TARGET_DIR)/usr/local/
cp $(TOPDIR)/package/loongson_timesyncd_config/loongson_timesyncd_config.service $(TARGET_DIR)/usr/lib/systemd/system/
cd $(TARGET_DIR)/usr/lib/systemd/system/multi-user.target.wants && ln -sf ../loongson_timesyncd_config.service loongson_timesyncd_config.service
endef
$(eval $(generic-package))
@@ -0,0 +1,12 @@
[Unit]
Description=disable ntp when first boot and delete all service and shell script after config
After=systemd-timesyncd@.service
[Service]
Type=oneshot
ExecStart=/usr/local/loongson_timesyncd_config.sh
TimeoutSec=0
RemainAfterExit=no
[Install]
WantedBy=multi-user.target
@@ -0,0 +1,8 @@
#! /bin/bash
systemctl disable loongson_timesyncd_config
rm /usr/lib/systemd/system/multi-user.target.wants/loongson_timesyncd_config.service
rm /usr/lib/systemd/system/loongson_timesyncd_config.service
timedatectl set-ntp 0
rm /usr/local/loongson_timesyncd_config.sh
+7
View File
@@ -5,6 +5,7 @@ config BR2_PACKAGE_QT6_ARCH_SUPPORTS
default y if BR2_ARM_CPU_ARMV5 || BR2_ARM_CPU_ARMV6 || BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A
default y if BR2_i386
default y if BR2_x86_64
default y if BR2_loongarch
default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
# sparc 32-bit is supposedly supported, but has issues due to
@@ -44,11 +45,17 @@ menuconfig BR2_PACKAGE_QT6
if BR2_PACKAGE_QT6
source "package/qt6/qt6base/Config.in"
source "package/qt6/qt6charts/Config.in"
source "package/qt6/qt6core5compat/Config.in"
source "package/qt6/qt6declarative/Config.in"
source "package/qt6/qt6graphs/Config.in"
source "package/qt6/qt6languageserver/Config.in"
source "package/qt6/qt6mqtt/Config.in"
source "package/qt6/qt6multimedia/Config.in"
source "package/qt6/qt6opcua/Config.in"
source "package/qt6/qt6quick3d/Config.in"
source "package/qt6/qt6quicktimeline/Config.in"
source "package/qt6/qt6scxml/Config.in"
source "package/qt6/qt6serialbus/Config.in"
source "package/qt6/qt6serialport/Config.in"
source "package/qt6/qt6shadertools/Config.in"
+1
View File
@@ -1,5 +1,6 @@
if BR2_PACKAGE_QT6
source "package/qt6/qt6base/Config.in.host"
source "package/qt6/qt6tools/Config.in.host"
endif
+2 -2
View File
@@ -4,8 +4,8 @@
#
################################################################################
QT6_VERSION_MAJOR = 6.7
QT6_VERSION = $(QT6_VERSION_MAJOR).2
QT6_VERSION_MAJOR = 6.8
QT6_VERSION = $(QT6_VERSION_MAJOR).1
QT6_SOURCE_TARBALL_PREFIX = everywhere-src
QT6_SITE = https://download.qt.io/archive/qt/$(QT6_VERSION_MAJOR)/$(QT6_VERSION)/submodules
@@ -1,247 +0,0 @@
From fc1b8814f38c7d925d4590e9bdb16a02ca824025 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?M=C3=A5rten=20Nordheim?= <marten.nordheim@qt.io>
Date: Tue, 25 Jun 2024 17:09:35 +0200
Subject: [PATCH] HTTP2: Delay any communication until encrypted() can be
responded to
We have the encrypted() signal that lets users do extra checks on the
established connection. It is emitted as BlockingQueued, so the HTTP
thread stalls until it is done emitting. Users can potentially call
abort() on the QNetworkReply at that point, which is passed as a Queued
call back to the HTTP thread. That means that any currently queued
signal emission will be processed before the abort() call is processed.
In the case of HTTP2 it is a little special since it is multiplexed and
the code is built to start requests as they are available. This means
that, while the code worked fine for HTTP1, since one connection only
has one request, it is not working for HTTP2, since we try to send more
requests in-between the encrypted() signal and the abort() call.
This patch changes the code to delay any communication until the
encrypted() signal has been emitted and processed, for HTTP2 only.
It's done by adding a few booleans, both to know that we have to return
early and so we can keep track of what events arose and what we need to
resume once enough time has passed that any abort() call must have been
processed.
Fixes: QTBUG-126610
Pick-to: 6.5 6.2 5.15 5.12
Change-Id: Ic25a600c278203256e35f541026f34a8783235ae
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit b1e75376cc3adfc7da5502a277dfe9711f3e0536)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 0fb43e4395da34d561814242a0186999e4956e28)
Upstream: https://github.com/qt/qtbase/commit/2b1e36e183ce75c224305c7a94457b92f7a5cf58
Signed-off-by: Roy Kollen Svendsen <roykollensvendsen@gmail.com>
---
src/network/access/qhttp2protocolhandler.cpp | 6 +--
.../access/qhttpnetworkconnectionchannel.cpp | 48 ++++++++++++++++++-
.../access/qhttpnetworkconnectionchannel_p.h | 6 +++
tests/auto/network/access/http2/tst_http2.cpp | 44 +++++++++++++++++
4 files changed, 99 insertions(+), 5 deletions(-)
diff --git a/src/network/access/qhttp2protocolhandler.cpp b/src/network/access/qhttp2protocolhandler.cpp
index 0abd99b9bc..3631b13dc8 100644
--- a/src/network/access/qhttp2protocolhandler.cpp
+++ b/src/network/access/qhttp2protocolhandler.cpp
@@ -303,12 +303,12 @@ bool QHttp2ProtocolHandler::sendRequest()
}
}
- if (!prefaceSent && !sendClientPreface())
- return false;
-
if (!requests.size())
return true;
+ if (!prefaceSent && !sendClientPreface())
+ return false;
+
m_channel->state = QHttpNetworkConnectionChannel::WritingState;
// Check what was promised/pushed, maybe we do not have to send a request
// and have a response already?
diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp
index 6766989690..1e4161d1fd 100644
--- a/src/network/access/qhttpnetworkconnectionchannel.cpp
+++ b/src/network/access/qhttpnetworkconnectionchannel.cpp
@@ -209,6 +209,10 @@ void QHttpNetworkConnectionChannel::abort()
bool QHttpNetworkConnectionChannel::sendRequest()
{
Q_ASSERT(protocolHandler);
+ if (waitingForPotentialAbort) {
+ needInvokeSendRequest = true;
+ return false; // this return value is unused
+ }
return protocolHandler->sendRequest();
}
@@ -221,21 +225,28 @@ bool QHttpNetworkConnectionChannel::sendRequest()
void QHttpNetworkConnectionChannel::sendRequestDelayed()
{
QMetaObject::invokeMethod(this, [this] {
- Q_ASSERT(protocolHandler);
if (reply)
- protocolHandler->sendRequest();
+ sendRequest();
}, Qt::ConnectionType::QueuedConnection);
}
void QHttpNetworkConnectionChannel::_q_receiveReply()
{
Q_ASSERT(protocolHandler);
+ if (waitingForPotentialAbort) {
+ needInvokeReceiveReply = true;
+ return;
+ }
protocolHandler->_q_receiveReply();
}
void QHttpNetworkConnectionChannel::_q_readyRead()
{
Q_ASSERT(protocolHandler);
+ if (waitingForPotentialAbort) {
+ needInvokeReadyRead = true;
+ return;
+ }
protocolHandler->_q_readyRead();
}
@@ -1239,7 +1250,18 @@ void QHttpNetworkConnectionChannel::_q_encrypted()
if (!h2RequestsToSend.isEmpty()) {
// Similar to HTTP/1.1 counterpart below:
const auto &pair = std::as_const(h2RequestsToSend).first();
+ waitingForPotentialAbort = true;
emit pair.second->encrypted();
+
+ // We don't send or handle any received data until any effects from
+ // emitting encrypted() have been processed. This is necessary
+ // because the user may have called abort(). We may also abort the
+ // whole connection if the request has been aborted and there is
+ // no more requests to send.
+ QMetaObject::invokeMethod(this,
+ &QHttpNetworkConnectionChannel::checkAndResumeCommunication,
+ Qt::QueuedConnection);
+
// In case our peer has sent us its settings (window size, max concurrent streams etc.)
// let's give _q_receiveReply a chance to read them first ('invokeMethod', QueuedConnection).
}
@@ -1257,6 +1279,28 @@ void QHttpNetworkConnectionChannel::_q_encrypted()
QMetaObject::invokeMethod(connection, "_q_startNextRequest", Qt::QueuedConnection);
}
+
+void QHttpNetworkConnectionChannel::checkAndResumeCommunication()
+{
+ Q_ASSERT(connection->connectionType() == QHttpNetworkConnection::ConnectionTypeHTTP2
+ || connection->connectionType() == QHttpNetworkConnection::ConnectionTypeHTTP2Direct);
+
+ // Because HTTP/2 requires that we send a SETTINGS frame as the first thing we do, and respond
+ // to a SETTINGS frame with an ACK, we need to delay any handling until we can ensure that any
+ // effects from emitting encrypted() have been processed.
+ // This function is called after encrypted() was emitted, so check for changes.
+
+ if (!reply && h2RequestsToSend.isEmpty())
+ abort();
+ waitingForPotentialAbort = false;
+ if (needInvokeReadyRead)
+ _q_readyRead();
+ if (needInvokeReceiveReply)
+ _q_receiveReply();
+ if (needInvokeSendRequest)
+ sendRequest();
+}
+
void QHttpNetworkConnectionChannel::requeueHttp2Requests()
{
const auto h2RequestsToSendCopy = std::exchange(h2RequestsToSend, {});
diff --git a/src/network/access/qhttpnetworkconnectionchannel_p.h b/src/network/access/qhttpnetworkconnectionchannel_p.h
index c42290feca..061f20fd42 100644
--- a/src/network/access/qhttpnetworkconnectionchannel_p.h
+++ b/src/network/access/qhttpnetworkconnectionchannel_p.h
@@ -74,6 +74,10 @@ public:
QAbstractSocket *socket;
bool ssl;
bool isInitialized;
+ bool waitingForPotentialAbort = false;
+ bool needInvokeReceiveReply = false;
+ bool needInvokeReadyRead = false;
+ bool needInvokeSendRequest = false;
ChannelState state;
QHttpNetworkRequest request; // current request, only used for HTTP
QHttpNetworkReply *reply; // current reply for this request, only used for HTTP
@@ -146,6 +150,8 @@ public:
void closeAndResendCurrentRequest();
void resendCurrentRequest();
+ void checkAndResumeCommunication();
+
bool isSocketBusy() const;
bool isSocketWriting() const;
bool isSocketWaiting() const;
diff --git a/tests/auto/network/access/http2/tst_http2.cpp b/tests/auto/network/access/http2/tst_http2.cpp
index 00efbc9832..c02e7b7b5b 100644
--- a/tests/auto/network/access/http2/tst_http2.cpp
+++ b/tests/auto/network/access/http2/tst_http2.cpp
@@ -106,6 +106,8 @@ private slots:
void duplicateRequestsWithAborts();
+ void abortOnEncrypted();
+
protected slots:
// Slots to listen to our in-process server:
void serverStarted(quint16 port);
@@ -1479,6 +1481,48 @@ void tst_Http2::duplicateRequestsWithAborts()
QCOMPARE(finishedCount, ExpectedSuccessfulRequests);
}
+void tst_Http2::abortOnEncrypted()
+{
+#if !QT_CONFIG(ssl)
+ QSKIP("TLS support is needed for this test");
+#else
+ clearHTTP2State();
+ serverPort = 0;
+
+ ServerPtr targetServer(newServer(defaultServerSettings, H2Type::h2Direct));
+
+ QMetaObject::invokeMethod(targetServer.data(), "startServer", Qt::QueuedConnection);
+ runEventLoop();
+
+ nRequests = 1;
+ nSentRequests = 0;
+
+ const auto url = requestUrl(H2Type::h2Direct);
+ QNetworkRequest request(url);
+ request.setAttribute(QNetworkRequest::Http2DirectAttribute, true);
+
+ std::unique_ptr<QNetworkReply> reply{manager->get(request)};
+ reply->ignoreSslErrors();
+ connect(reply.get(), &QNetworkReply::encrypted, reply.get(), [reply = reply.get()](){
+ reply->abort();
+ });
+ connect(reply.get(), &QNetworkReply::errorOccurred, this, &tst_Http2::replyFinishedWithError);
+
+ runEventLoop();
+ STOP_ON_FAILURE
+
+ QCOMPARE(nRequests, 0);
+ QCOMPARE(reply->error(), QNetworkReply::OperationCanceledError);
+
+ const bool res = QTest::qWaitFor(
+ [this, server = targetServer.get()]() {
+ return serverGotSettingsACK || prefaceOK || nSentRequests > 0;
+ },
+ 500);
+ QVERIFY(!res);
+#endif // QT_CONFIG(ssl)
+}
+
void tst_Http2::serverStarted(quint16 port)
{
serverPort = port;
--
2.46.0
+6 -4
View File
@@ -200,10 +200,12 @@ comment "MySQL plugin needs a toolchain w/ C++, threads"
config BR2_PACKAGE_QT6BASE_PSQL
bool "PostgreSQL Plugin"
depends on BR2_USE_MMU
depends on !BR2_STATIC_LIBS
depends on BR2_USE_WCHAR
depends on !BR2_OPTIMIZE_FAST
depends on BR2_USE_MMU # postgresql
depends on BR2_USE_WCHAR # postgresql
depends on BR2_ENABLE_LOCALE # postgresql
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # postgresql
depends on !BR2_STATIC_LIBS # postgresql
depends on !BR2_OPTIMIZE_FAST # postgresql
select BR2_PACKAGE_POSTGRESQL
help
Build PostgreSQL plugin
+6
View File
@@ -1,3 +1,6 @@
config BR2_PACKAGE_HOST_QT6BASE_CONCURRENT
bool
# Select this if you need host qt6 tools that require the Qt::Gui module (e.g.
# Qt Shader Baker(qsb)).
config BR2_PACKAGE_HOST_QT6BASE_GUI
@@ -17,3 +20,6 @@ config BR2_PACKAGE_HOST_QT6BASE_TEST
# (e.g. qhelpgenerator).
config BR2_PACKAGE_HOST_QT6BASE_SQL
bool
config BR2_PACKAGE_HOST_QT6BASE_WIDGETS
bool
+3 -3
View File
@@ -1,5 +1,5 @@
# Hash from: https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/qtbase-everywhere-src-6.7.2.tar.xz.sha256
sha256 c5f22a5e10fb162895ded7de0963328e7307611c688487b5d152c9ee64767599 qtbase-everywhere-src-6.7.2.tar.xz
# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtbase-everywhere-src-6.8.1.tar.xz.sha256
sha256 40b14562ef3bd779bc0e0418ea2ae08fa28235f8ea6e8c0cb3bce1d6ad58dcaf qtbase-everywhere-src-6.8.1.tar.xz
# Hashes for license files
sha256 e3ba223bb1423f0aad8c3dfce0fe3148db48926d41e6fbc3afbbf5ff9e1c89cb LICENSES/Apache-2.0.txt
@@ -11,4 +11,4 @@ sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENS
sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSES/LGPL-3.0-only.txt
sha256 d040359701c01996a017d5c515678929cd1b0625e64cb86db44025fbb6cdf1fc LICENSES/MIT.txt
sha256 40678d338ce53cd93f8b22b281a2ecbcaa3ee65ce60b25ffb0c462b0530846b2 LICENSES/Qt-GPL-exception-1.0.txt
sha256 2a886915de4f296cdae5ed67064f86dba01d0c55286d86e8487f2a5caaf40216 src/3rdparty/harfbuzz-ng/COPYING
sha256 ba8f810f2455c2f08e2d56bb49b72f37fcf68f1f4fade38977cfd7372050ad64 src/3rdparty/harfbuzz-ng/COPYING
+14 -6
View File
@@ -10,9 +10,6 @@ QT6BASE_SOURCE = qtbase-$(QT6_SOURCE_TARBALL_PREFIX)-$(QT6BASE_VERSION).tar.xz
QT6BASE_CPE_ID_VENDOR = qt
QT6BASE_CPE_ID_PRODUCT = qt
# 0001-fix-CVE-2024-39936.patch
QT6BASE_IGNORE_CVES += CVE-2024-39936
QT6BASE_CMAKE_BACKEND = ninja
QT6BASE_LICENSE = \
@@ -46,7 +43,6 @@ QT6BASE_INSTALL_STAGING = YES
QT6BASE_CONF_OPTS = \
-DQT_HOST_PATH=$(HOST_DIR) \
-DINSTALL_ARCHDATADIR=lib/qt6 \
-DFEATURE_concurrent=OFF \
-DFEATURE_xml=OFF \
-DFEATURE_sql=OFF \
-DFEATURE_testlib=OFF \
@@ -87,8 +83,8 @@ HOST_QT6BASE_DEPENDENCIES = \
host-libb2 \
host-pcre2 \
host-zlib
HOST_QT6BASE_CONF_OPTS = \
-DFEATURE_concurrent=OFF \
-DFEATURE_xml=ON \
-DFEATURE_dbus=OFF \
-DFEATURE_icu=OFF \
@@ -98,6 +94,12 @@ HOST_QT6BASE_CONF_OPTS = \
-DFEATURE_system_pcre2=ON \
-DFEATURE_system_zlib=ON
ifeq ($(BR2_PACKAGE_HOST_QT6BASE_CONCURRENT),y)
HOST_QT6BASE_CONF_OPTS += -DFEATURE_concurrent=ON
else
HOST_QT6BASE_CONF_OPTS += -DFEATURE_concurrent=OFF
endif
# We need host-qt6base with Gui support when building host-qt6shadertools,
# otherwise the build is skipped and no qsb host tool is generated.
# qt6shadertools fail to build if qsb is not available.
@@ -116,10 +118,16 @@ HOST_QT6BASE_CONF_OPTS += \
-DFEATURE_printsupport=OFF \
-DFEATURE_kms=OFF \
-DFEATURE_fontconfig=OFF \
-DFEATURE_widgets=OFF \
-DFEATURE_libinput=OFF \
-DFEATURE_tslib=OFF \
-DFEATURE_eglfs=OFF
ifeq ($(BR2_PACKAGE_HOST_QT6BASE_WIDGETS),y)
HOST_QT6BASE_CONF_OPTS += -DFEATURE_widgets=ON
else
HOST_QT6BASE_CONF_OPTS += -DFEATURE_widgets=OFF
endif
else
HOST_QT6BASE_CONF_OPTS += -DFEATURE_gui=OFF
endif
+8
View File
@@ -0,0 +1,8 @@
config BR2_PACKAGE_QT6CHARTS
bool "qt6charts"
select BR2_PACKAGE_QT6BASE_GUI
select BR2_PACKAGE_QT6BASE_WIDGETS
help
This package corresponds the Qt Charts module:
https://doc.qt.io/qt-6/qtcharts-index.html
+5
View File
@@ -0,0 +1,5 @@
# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtcharts-everywhere-src-6.8.1.tar.xz.sha256
sha256 2edea3f16e248ef508d99332798645b7f5ab6edbbf2e3d7d78fb674156f07d29 qtcharts-everywhere-src-6.8.1.tar.xz
# Hashes for license files
sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSES/GPL-3.0-only.txt
+28
View File
@@ -0,0 +1,28 @@
################################################################################
#
# qt6charts
#
################################################################################
QT6CHARTS_VERSION = $(QT6_VERSION)
QT6CHARTS_SITE = $(QT6_SITE)
QT6CHARTS_SOURCE = qtcharts-$(QT6_SOURCE_TARBALL_PREFIX)-$(QT6CHARTS_VERSION).tar.xz
QT6CHARTS_INSTALL_STAGING = YES
QT6CHARTS_SUPPORTS_IN_SOURCE_BUILD = NO
QT6CHARTS_CMAKE_BACKEND = ninja
QT6CHARTS_LICENSE = GPL-3.0
QT6CHARTS_LICENSE_FILES = LICENSES/GPL-3.0-only.txt
QT6CHARTS_CONF_OPTS = \
-DQT_HOST_PATH=$(HOST_DIR) \
-DBUILD_WITH_PCH=OFF \
-DQT_BUILD_EXAMPLES=OFF \
-DQT_BUILD_TESTS=OFF
QT6CHARTS_DEPENDENCIES = qt6base
ifeq ($(BR2_PACKAGE_QT6DECLARATIVE),y)
QT6CHARTS_DEPENDENCIES += qt6declarative
endif
$(eval $(cmake-package))
@@ -1,5 +1,5 @@
# Hash from: https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/qt5compat-everywhere-src-6.7.2.tar.xz.sha256
sha256 8826b5189efc4d9bdb64fdb1aa89d0fdf4e53c60948ed7995621ed046e38c003 qt5compat-everywhere-src-6.7.2.tar.xz
# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qt5compat-everywhere-src-6.8.1.tar.xz.sha256
sha256 05c8c088b4cd8331fa8a9c8b7ff7c42a088cb112e673eae5708048d0131264fc qt5compat-everywhere-src-6.8.1.tar.xz
# Hashes for license files:
sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt
@@ -36,4 +36,10 @@ QT6CORE5COMPAT_DEPENDENCIES = \
host-pkgconf \
qt6base
# When Qt::Quick is available, qt6core5compat will build additional
# QML compatibility modules
ifeq ($(BR2_PACKAGE_QT6DECLARATIVE_QUICK),y)
QT6CORE5COMPAT_DEPENDENCIES += qt6declarative
endif
$(eval $(cmake-package))
@@ -1,28 +0,0 @@
From 8377691a0998fd84e6fc8349a5db450bf2d79164 Mon Sep 17 00:00:00 2001
From: Tasuku Suzuki <tasuku.suzuki@signal-slot.co.jp>
Date: Tue, 21 Nov 2023 23:58:43 +0900
Subject: Fix build with -no-feature-network
Change-Id: Ib21012301da6afb5458f707b39a9a8079d93eb93
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Upstream: https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=8377691a0998fd84e6fc8349a5db450bf2d79164
Signed-off-by: Roy Kollen Svendsen <roy.kollen.svendsen@akersolutions.com>
---
src/qml/configure.cmake | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/qml/configure.cmake b/src/qml/configure.cmake
index 2d0434643a..d1ff90bd54 100644
--- a/src/qml/configure.cmake
+++ b/src/qml/configure.cmake
@@ -82,7 +82,7 @@ qt_feature("qml-ssl" PUBLIC
SECTION "QML"
LABEL "QML SSL support"
PURPOSE "Provides ssl support in QML."
- CONDITION QT_FEATURE_ssl
+ CONDITION QT_FEATURE_qml_network AND QT_FEATURE_ssl
)
# On arm and arm64 we need a specialization of cacheFlush() for each OS to be
--
cgit v1.2.3
@@ -1,5 +1,5 @@
# Hash from: https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/qtdeclarative-everywhere-src-6.7.2.tar.xz.sha256
sha256 4c29cba1af8c42d425d8eb6e01bad24cb80f4b983d71eef566a0542dfdb9b999 qtdeclarative-everywhere-src-6.7.2.tar.xz
# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtdeclarative-everywhere-src-6.8.1.tar.xz.sha256
sha256 95d15d5c1b6adcedb1df6485219ad13b8dc1bb5168b5151f2f1f7246a4c039fc qtdeclarative-everywhere-src-6.8.1.tar.xz
# Hashes for license files:
sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt
@@ -35,12 +35,6 @@ QT6DECLARATIVE_CONF_OPTS = \
-DQT_BUILD_EXAMPLES=OFF \
-DQT_BUILD_TESTS=OFF
HOST_QT6DECLARATIVE_CONF_OPTS = \
-DQT_HOST_PATH=$(HOST_DIR) \
-DBUILD_WITH_PCH=OFF \
-DQT_BUILD_EXAMPLES=OFF \
-DQT_BUILD_TESTS=OFF
HOST_QT6DECLARATIVE_DEPENDENCIES = \
host-qt6base
+8
View File
@@ -0,0 +1,8 @@
config BR2_PACKAGE_QT6GRAPHS
bool "qt6graphs"
select BR2_PACKAGE_QT6DECLARATIVE
select BR2_PACKAGE_QT6QUICK3D
help
This package corresponds to the Qt Graphs module:
https://doc.qt.io/qt-6/qtgraphs-index.html
+5
View File
@@ -0,0 +1,5 @@
# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtgraphs-everywhere-src-6.8.1.tar.xz.sha256
sha256 1e46e3de69936835652ab40ef8caf5824ea71e26871274561fb65ec142d54a80 qtgraphs-everywhere-src-6.8.1.tar.xz
# Hashes for license files
sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSES/GPL-3.0-only.txt
+27
View File
@@ -0,0 +1,27 @@
################################################################################
#
# qt6graphs
#
################################################################################
QT6GRAPHS_VERSION = $(QT6_VERSION)
QT6GRAPHS_SITE = $(QT6_SITE)
QT6GRAPHS_SOURCE = qtgraphs-$(QT6_SOURCE_TARBALL_PREFIX)-$(QT6GRAPHS_VERSION).tar.xz
QT6GRAPHS_INSTALL_STAGING = YES
QT6GRAPHS_SUPPORTS_IN_SOURCE_BUILD = NO
QT6GRAPHS_CMAKE_BACKEND = ninja
QT6GRAPHS_LICENSE = GPL-3.0
QT6GRAPHS_LICENSE_FILES = LICENSES/GPL-3.0-only.txt
QT6GRAPHS_CONF_OPTS = \
-DQT_HOST_PATH=$(HOST_DIR) \
-DBUILD_WITH_PCH=OFF \
-DQT_BUILD_EXAMPLES=OFF \
-DQT_BUILD_TESTS=OFF
QT6GRAPHS_DEPENDENCIES = \
qt6base \
qt6declarative \
qt6quick3d
$(eval $(cmake-package))
@@ -1,5 +1,5 @@
# Hash from: https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/qtlanguageserver-everywhere-src-6.7.2.tar.xz.sha256
sha256 b659fe655144ffa061e3ae509eadb42ae373230517295a96935434340e101a92 qtlanguageserver-everywhere-src-6.7.2.tar.xz
# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtlanguageserver-everywhere-src-6.8.1.tar.xz.sha256
sha256 865e9436c1432a53e38a30625b6cee60bf72553ff508047115513a233c8e6d7e qtlanguageserver-everywhere-src-6.8.1.tar.xz
# Hashes for license files:
sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt
+3 -2
View File
@@ -1,6 +1,7 @@
sha256 be2d3f12378a8e2a103c328201b1e308f8c6c09bd752322592b3164cebba5bde qt6mqtt-6.7.2-git4.tar.gz
# Locally computed
sha256 757c96a645b81e858c19b5407d54b3a40ee288d04ffadc9a96dd52e50c6d8d6b qt6mqtt-6.8.1-git4.tar.gz
# Hashes for license files:
# Hashes for license files
sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt
sha256 110535522396708cea37c72a802c5e7e81391139f5f7985631c93ef242b206a4 LICENSES/GFDL-1.3-no-invariants-only.txt
sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSES/GPL-3.0-only.txt
+111
View File
@@ -0,0 +1,111 @@
config BR2_PACKAGE_QT6MULTIMEDIA
bool "qt6multimedia"
select BR2_PACKAGE_QT6BASE_GUI
select BR2_PACKAGE_QT6BASE_NETWORK
select BR2_PACKAGE_QT6SHADERTOOLS
help
This package provides Qt6 Multimedia:
https://doc.qt.io/qt-6/qtmultimedia-index.html
https://code.qt.io/cgit/qt/qtmultimedia.git
if BR2_PACKAGE_QT6MULTIMEDIA
comment "alsa support requires disabling pulseaudio"
depends on BR2_PACKAGE_QT6MULTIMEDIA_PULSEAUDIO
config BR2_PACKAGE_QT6MULTIMEDIA_ALSA
bool "alsa support"
# qt6-multimedia audio backend requires selection
# of either PulseAudio or ALSA.
depends on !BR2_PACKAGE_QT6MULTIMEDIA_PULSEAUDIO
select BR2_PACKAGE_ALSA_LIB
help
This option selects Alsa as audio backend.
config BR2_PACKAGE_QT6MULTIMEDIA_EXAMPLES
bool "examples"
help
This option enables the Qt6 Multimedia examples.
config BR2_PACKAGE_QT6MULTIMEDIA_FFMPEG
bool "ffmpeg plugin"
depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC
# qt6-multimedia ffmpeg plugin needs
# qt6base-concurrent, PulseAudio and ffmpeg-swcale.
select BR2_PACKAGE_FFMPEG
select BR2_PACKAGE_FFMPEG_SWSCALE
select BR2_PACKAGE_QT6BASE_CONCURRENT
select BR2_PACKAGE_QT6MULTIMEDIA_PULSEAUDIO
help
This option enables ffmpeg media backend.
if BR2_PACKAGE_QT6MULTIMEDIA_FFMPEG
comment "VAAPI support needs OpenGL, EGL, libgbm with dma-buf"
depends on !BR2_PACKAGE_QT6_GL_SUPPORTS || \
!BR2_PACKAGE_HAS_LIBEGL || \
!BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF
config BR2_PACKAGE_QT6MULTIMEDIA_VAAPI
bool "vaapi support"
depends on BR2_PACKAGE_QT6_GL_SUPPORTS
depends on BR2_PACKAGE_HAS_LIBEGL
depends on BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF
select BR2_PACKAGE_LIBVA
# ffmpeg-vaapi support needs qt6base-opengl
select BR2_PACKAGE_QT6BASE_OPENGL
select BR2_PACKAGE_QT6MULTIMEDIA_LINUX_DMA_BUF
help
This option enables the vaapi support.
endif
config BR2_PACKAGE_QT6MULTIMEDIA_GSTREAMER
bool "gstreamer plugin"
# gstreamer 1.x and gst-plugins-base-app are required
# for gstreamer support in qt6-multimedia
select BR2_PACKAGE_GST1_PLUGINS_BASE
select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP
select BR2_PACKAGE_GSTREAMER1
help
This option enables gstreamer media backend.
if BR2_PACKAGE_QT6MULTIMEDIA_GSTREAMER
config BR2_PACKAGE_QT6MULTIMEDIA_GST1_PLUGINS_PHOTOGRAPHY
bool "photography support"
select BR2_PACKAGE_GST1_PLUGINS_BAD
help
This option enables gstreamer-photography support.
endif
comment "dma-buf support needs EGM, libgbm with dma-buf"
depends on !BR2_PACKAGE_HAS_LIBEGL || \
!BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF
config BR2_PACKAGE_QT6MULTIMEDIA_LINUX_DMA_BUF
bool "linux dma buffer support"
# qt6 configure script needs EGL to check for linux dma buffer
# support
depends on BR2_PACKAGE_HAS_LIBEGL
depends on BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF
help
This option enables the linux dma buffer support.
config BR2_PACKAGE_QT6MULTIMEDIA_PULSEAUDIO
bool "pulseaudio support"
depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC
select BR2_PACKAGE_PULSEAUDIO
help
This option selects PulseAudio as audio backend.
config BR2_PACKAGE_QT6MULTIMEDIA_SPATIALAUDIO
bool "spatial audio module"
help
This option enables the Qt6 Spatial Audio module.
https://doc.qt.io/qt-6/qtspatialaudio-index.html
endif
@@ -0,0 +1,24 @@
# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtmultimedia-everywhere-src-6.8.1.tar.xz.sha256
sha256 75fa87134f9afab7f0a62c55a4744799ac79519560d19c8e1d4c32bdd173f953 qtmultimedia-everywhere-src-6.8.1.tar.xz
# Hashes for license files
sha256 f32fb3b417a194167cfad068223fc975ba96c5960513a10f66a3c28720aec1df LICENSES/BSD-2-Clause.txt
sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt
sha256 1f1b677d26ab73e159a55c3a914cf12d888e18a9d0d469fedab4aa6e5a48b1c0 LICENSES/BSD-Source-Code.txt
sha256 84c6ef3ea9e3254a54d0acf5d3e0c61ae011b8fef7dd6940591cf060e6380a8f LICENSES/BSL-1.0.txt
sha256 110535522396708cea37c72a802c5e7e81391139f5f7985631c93ef242b206a4 LICENSES/GFDL-1.3-no-invariants-only.txt
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSES/GPL-2.0-only.txt
sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSES/GPL-3.0-only.txt
sha256 7658542977bfdced9e1059a6c934ce4281de76d103b831007b825917dc62511a LICENSES/IJG.txt
sha256 f2ec607f67bb0dd3053b49835b02110d5cd0f8eb6da3aac4dc0b142a6b299be9 LICENSES/ISC.txt
sha256 fa6f36630bb1e0c571d34b2bbdf188d08495c9dbf58f28cac112f303fc1f58fb LICENSES/LGPL-2.1-or-later.txt
sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSES/LGPL-3.0-only.txt
sha256 b85dcd3e453d05982552c52b5fc9e0bdd6d23c6f8e844b984a88af32570b0cc0 LICENSES/MIT.txt
sha256 66a3107d5ad6a058aab753eaac2047ccb2ed0e39465dd0fe5844da3e300d5172 LICENSES/MPL-2.0.txt
sha256 40678d338ce53cd93f8b22b281a2ecbcaa3ee65ce60b25ffb0c462b0530846b2 LICENSES/Qt-GPL-exception-1.0.txt
sha256 bfb1112d49db5b1daecdfef24bd7e2f3ea0bafb33aa67aa0ab51e2bf8407c03d LICENSES/Zlib.txt
sha256 85da7c29c2d2f2e6b3116b1219584cb513474cab797b3312a779be4c2181e51e src/3rdparty/eigen/COPYING.BSD
sha256 fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85 src/3rdparty/eigen/COPYING.MPL2
sha256 8b69cf3ac3ddd34df478c4ae6eaacf5e6c63ea7ee6403c8dad97e4d1438bc3c4 src/3rdparty/eigen/COPYRIGHTS
sha256 b522f821df94da3bad917e98ef04817b3af421c3b8c23e8247ae7e517b289934 src/3rdparty/pffft/COPYRIGHTS
sha256 a46200592eb193853527250da098e6bb0c75424e7a2c7db8da526c4f301c3d88 src/3rdparty/pffft/LICENSE
+131
View File
@@ -0,0 +1,131 @@
################################################################################
#
# qt6multimedia
#
################################################################################
QT6MULTIMEDIA_VERSION = $(QT6_VERSION)
QT6MULTIMEDIA_SITE = $(QT6_SITE)
QT6MULTIMEDIA_SOURCE = qtmultimedia-$(QT6_SOURCE_TARBALL_PREFIX)-$(QT6MULTIMEDIA_VERSION).tar.xz
QT6MULTIMEDIA_INSTALL_STAGING = YES
QT6MULTIMEDIA_SUPPORTS_IN_SOURCE_BUILD = NO
QT6MULTIMEDIA_CMAKE_BACKEND = ninja
QT6MULTIMEDIA_LICENSE = GPL-3.0, LGPL-3.0
QT6MULTIMEDIA_LICENSE_FILES = \
LICENSES/BSD-2-Clause.txt \
LICENSES/BSD-3-Clause.txt \
LICENSES/BSD-Source-Code.txt \
LICENSES/BSL-1.0.txt \
LICENSES/GFDL-1.3-no-invariants-only.txt \
LICENSES/GPL-2.0-only.txt \
LICENSES/GPL-3.0-only.txt \
LICENSES/IJG.txt \
LICENSES/ISC.txt \
LICENSES/LGPL-2.1-or-later.txt \
LICENSES/LGPL-3.0-only.txt \
LICENSES/MIT.txt \
LICENSES/MPL-2.0.txt \
LICENSES/Qt-GPL-exception-1.0.txt \
LICENSES/Zlib.txt \
src/3rdparty/eigen/COPYING.BSD \
src/3rdparty/eigen/COPYING.MPL2 \
src/3rdparty/eigen/COPYRIGHTS \
src/3rdparty/pffft/COPYRIGHTS \
src/3rdparty/pffft/LICENSE
QT6MULTIMEDIA_CONF_OPTS = \
-DBUILD_WITH_PCH=OFF \
-DQT_BUILD_TESTS=OFF \
-DQT_HOST_PATH=$(HOST_DIR) \
-DFEATURE_gstreamer_gl=OFF
QT6MULTIMEDIA_DEPENDENCIES = \
qt6base \
qt6shadertools
# for multimedia quick module
ifeq ($(BR2_PACKAGE_QT6DECLARATIVE),y)
QT6MULTIMEDIA_DEPENDENCIES += qt6declarative
endif
ifeq ($(BR2_PACKAGE_QT6MULTIMEDIA_ALSA),y)
QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_alsa=ON
QT6MULTIMEDIA_DEPENDENCIES += alsa-lib
else
QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_alsa=OFF
endif
ifeq ($(BR2_PACKAGE_QT6MULTIMEDIA_EXAMPLES),y)
QT6MULTIMEDIA_CONF_OPTS += -DQT_BUILD_EXAMPLES=ON
QT6MULTIMEDIA_DEPENDENCIES += qt6svg
else
QT6MULTIMEDIA_CONF_OPTS += -DQT_BUILD_EXAMPLES=OFF
endif
ifeq ($(BR2_PACKAGE_QT6MULTIMEDIA_FFMPEG),y)
QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_ffmpeg=ON
QT6MULTIMEDIA_DEPENDENCIES += ffmpeg
else
QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_ffmpeg=OFF
endif
ifeq ($(BR2_PACKAGE_QT6MULTIMEDIA_GSTREAMER),y)
QT6MULTIMEDIA_CONF_OPTS += \
-DFEATURE_gstreamer=ON \
-DFEATURE_gstreamer_1_0=ON \
-DFEATURE_gstreamer_app=ON
QT6MULTIMEDIA_DEPENDENCIES += \
gst1-plugins-base \
gstreamer1
else
QT6MULTIMEDIA_CONF_OPTS += \
-DFEATURE_gstreamer=OFF \
-DFEATURE_gstreamer_1_0=OFF \
-DFEATURE_gstreamer_app=OFF
endif
ifeq ($(BR2_PACKAGE_QT6MULTIMEDIA_GST1_PLUGINS_PHOTOGRAPHY),y)
QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_gstreamer_photography=ON
QT6MULTIMEDIA_DEPENDENCIES += gst1-plugins-bad
else
QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_gstreamer_photography=OFF
endif
ifeq ($(BR2_PACKAGE_QT6MULTIMEDIA_LINUX_DMA_BUF),y)
QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_linux_dmabuf=ON
QT6MULTIMEDIA_DEPENDENCIES += \
libgbm \
libegl
else
QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_linux_dmabuf=OFF
endif
ifeq ($(BR2_PACKAGE_QT6MULTIMEDIA_PULSEAUDIO),y)
QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_pulseaudio=ON
QT6MULTIMEDIA_DEPENDENCIES += pulseaudio
else
QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_pulseaudio=OFF
endif
ifeq ($(BR2_PACKAGE_QT6MULTIMEDIA_SPATIALAUDIO),y)
QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_spatialaudio=ON
ifeq ($(BR2_PACKAGE_QT6QUICK3D),y)
QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_spatialaudio_quick3d=ON
QT6MULTIMEDIA_DEPENDENCIES += qt6quick3d
else
QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_spatialaudio_quick3d=OFF
endif
else
QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_spatialaudio=OFF
endif
ifeq ($(BR2_PACKAGE_QT6MULTIMEDIA_VAAPI),y)
QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_vaapi=ON
QT6MULTIMEDIA_DEPENDENCIES += libva
else
QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_vaapi=OFF
endif
$(eval $(cmake-package))
+1 -1
View File
@@ -1,7 +1,7 @@
config BR2_PACKAGE_QT6OPCUA
bool "qt6opcua"
select BR2_PACKAGE_QT6BASE_NETWORK
# qt6opcuda needs host-qt6opcua, and host-qt6opcua needs
# qt6opcua needs host-qt6opcua, and host-qt6opcua needs
# network support in qt6base.
select BR2_PACKAGE_HOST_QT6BASE_NETWORK
+3 -2
View File
@@ -1,6 +1,7 @@
sha256 653597e2926ddb512f078bab1e5d2a059202ba1bc1f68ff0b4a0e053ab1272b2 qt6opcua-6.7.2-git4.tar.gz
# Locally computed
sha256 0283f634707bf5c88ed30fec604bf7ea3bc22620cd060517812f9fb6304f254b qt6opcua-6.8.1-git4.tar.gz
# Hashes for license files:
# Hashes for license files
sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt
sha256 110535522396708cea37c72a802c5e7e81391139f5f7985631c93ef242b206a4 LICENSES/GFDL-1.3-no-invariants-only.txt
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSES/GPL-2.0-only.txt
-4
View File
@@ -28,10 +28,6 @@ QT6OPCUA_CONF_OPTS = \
-DQT_HOST_PATH=$(HOST_DIR) \
-DBUILD_WITH_PCH=OFF
HOST_QT6OPCUA_CONF_OPTS = \
-DQT_HOST_PATH=$(HOST_DIR) \
-DBUILD_WITH_PCH=OFF
QT6OPCUA_DEPENDENCIES = \
qt6base \
host-qt6opcua
@@ -0,0 +1,25 @@
From c39414988c227d290101a0235080dcaac119c184 Mon Sep 17 00:00:00 2001
From: loongson-gd <loongson-gd@loongson.cn>
Date: Wed, 5 Mar 2025 18:11:42 +0800
Subject: [PATCH] openxr:Add loongarch support
---
src/3rdparty/openxr/src/common/platform_utils.hpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/3rdparty/openxr/src/common/platform_utils.hpp b/src/3rdparty/openxr/src/common/platform_utils.hpp
index 35369a1..83ede6a 100644
--- a/src/3rdparty/openxr/src/common/platform_utils.hpp
+++ b/src/3rdparty/openxr/src/common/platform_utils.hpp
@@ -49,6 +49,8 @@
#define XR_ARCH_ABI "armv7a-vfp"
#elif defined(__ARM_ARCH_5TE__)
#define XR_ARCH_ABI "armv5te"
+#elif defined(__loongarch64)
+#define XR_ARCH_ABI "loongarch64"
#elif defined(__mips64)
#define XR_ARCH_ABI "mips64"
#elif defined(__mips)
--
2.34.1
+11
View File
@@ -0,0 +1,11 @@
config BR2_PACKAGE_QT6QUICK3D
bool "qt6quick3d"
select BR2_PACKAGE_HOST_QT6BASE_CONCURRENT # Host Quick3DRuntimeRender
select BR2_PACKAGE_HOST_QT6BASE_GUI
select BR2_PACKAGE_HOST_QT6BASE_WIDGETS
select BR2_PACKAGE_QT6DECLARATIVE
select BR2_PACKAGE_QT6DECLARATIVE_QUICK
help
This package corresponds to the Qt Quick 3D module:
https://doc.qt.io/qt-6/qtquick3d-index.html
+14
View File
@@ -0,0 +1,14 @@
# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtquick3d-everywhere-src-6.8.1.tar.xz.sha256
sha256 3f3d345e6c95fcd40ab37e6a37cd31811e5d239dea8e142e632d4ea41bf20ce7 qtquick3d-everywhere-src-6.8.1.tar.xz
# Hashes for license files
sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt
sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSES/GPL-3.0-only.txt
sha256 d040359701c01996a017d5c515678929cd1b0625e64cb86db44025fbb6cdf1fc LICENSES/MIT.txt
sha256 c3ed04bcbea49f521e4ab32c638fa86b13ebc7b8e1a8972807265079fcd1e6b9 src/3rdparty/assimp/LICENSE
sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/embree/LICENSE.txt
sha256 063805e3b8e24ceab4c5dea358b03245ee41c31be87cf65c61d836636cb494bb src/3rdparty/meshoptimizer/LICENSE.md
sha256 2af9d14c7cd67f13c3e7e91dcfe15ec5c8af42923635441e0f5a75bcadadeb33 src/3rdparty/tinyexr/LICENSE
sha256 2c16d5b1c2808277fe975b4f70f0fd9afc9b3bcf04e6c676665a82cb2d5579e3 src/3rdparty/xatlas/LICENSE
sha256 966313e8129db5d0b3b081d1a50ae107da9a3da2d8faa05899e3042a33192525 src/helpers/GODOT_LICENSE.txt
sha256 966313e8129db5d0b3b081d1a50ae107da9a3da2d8faa05899e3042a33192525 src/runtimerender/GODOT_LICENSE.txt
+62
View File
@@ -0,0 +1,62 @@
################################################################################
#
# qt6quick3d
#
################################################################################
QT6QUICK3D_VERSION = $(QT6_VERSION)
QT6QUICK3D_SITE = $(QT6_SITE)
QT6QUICK3D_SOURCE = qtquick3d-$(QT6_SOURCE_TARBALL_PREFIX)-$(QT6QUICK3D_VERSION).tar.xz
QT6QUICK3D_INSTALL_STAGING = YES
QT6QUICK3D_SUPPORTS_IN_SOURCE_BUILD = NO
QT6QUICK3D_CMAKE_BACKEND = ninja
QT6QUICK3D_LICENSE = GPL-3.0
QT6QUICK3D_LICENSE_FILES = \
LICENSES/BSD-3-Clause.txt \
LICENSES/GPL-3.0-only.txt \
LICENSES/MIT.txt \
src/3rdparty/assimp/LICENSE \
src/3rdparty/embree/LICENSE.txt \
src/3rdparty/meshoptimizer/LICENSE.md \
src/3rdparty/tinyexr/LICENSE \
src/3rdparty/xatlas/LICENSE \
src/helpers/GODOT_LICENSE.txt \
src/runtimerender/GODOT_LICENSE.txt
QT6QUICK3D_CONF_OPTS = \
-DQT_HOST_PATH=$(HOST_DIR) \
-DBUILD_WITH_PCH=OFF \
-DQT_BUILD_EXAMPLES=OFF \
-DQT_BUILD_TESTS=OFF
QT6QUICK3D_DEPENDENCIES = \
host-qt6quick3d \
host-qt6shadertools \
qt6base \
qt6declarative
ifeq ($(BR2_PACKAGE_ASSIMP),y)
QT6QUICK3D_CONF_OPTS += -DFEATURE_system_assimp=ON
QT6QUICK3D_DEPENDENCIES += assimp
else
QT6QUICK3D_CONF_OPTS += -DFEATURE_system_assimp=OFF
endif
ifeq ($(BR2_PACKAGE_QT6QUICKTIMELINE),y)
QT6QUICK3D_DEPENDENCIES += qt6quicktimeline
endif
ifeq ($(BR2_PACKAGE_QT6SHADERTOOLS),y)
QT6QUICK3D_DEPENDENCIES += qt6shadertools
endif
ifeq ($(BR2_PACKAGE_ZLIB),y)
QT6QUICK3D_CONF_OPTS += -DFEATURE_system_zlib=ON
QT6QUICK3D_DEPENDENCIES += zlib
else
QT6QUICK3D_CONF_OPTS += -DFEATURE_system_zlib=OFF
endif
$(eval $(cmake-package))
$(eval $(host-cmake-package))
+8
View File
@@ -0,0 +1,8 @@
config BR2_PACKAGE_QT6QUICKTIMELINE
bool "qt6quicktimeline"
select BR2_PACKAGE_QT6DECLARATIVE
select BR2_PACKAGE_QT6DECLARATIVE_QUICK
help
This package corresponds to the Qt Quick Timeline module:
https://doc.qt.io/qt-6/qtquicktimeline-index.html
@@ -0,0 +1,5 @@
# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtquicktimeline-everywhere-src-6.8.1.tar.xz.sha256
sha256 fdbc198e27fd7bce0801fb3cfa336e81932607e6a36c97ae8394880eedfe12a3 qtquicktimeline-everywhere-src-6.8.1.tar.xz
# Hashes for license files
sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSES/GPL-3.0-only.txt
@@ -0,0 +1,26 @@
################################################################################
#
# qt6quicktimeline
#
################################################################################
QT6QUICKTIMELINE_VERSION = $(QT6_VERSION)
QT6QUICKTIMELINE_SITE = $(QT6_SITE)
QT6QUICKTIMELINE_SOURCE = qtquicktimeline-$(QT6_SOURCE_TARBALL_PREFIX)-$(QT6QUICKTIMELINE_VERSION).tar.xz
QT6QUICKTIMELINE_INSTALL_STAGING = YES
QT6QUICKTIMELINE_SUPPORTS_IN_SOURCE_BUILD = NO
QT6QUICKTIMELINE_CMAKE_BACKEND = ninja
QT6QUICKTIMELINE_LICENSE = GPL-3.0
QT6QUICKTIMELINE_LICENSE_FILES = LICENSES/GPL-3.0-only.txt
QT6QUICKTIMELINE_CONF_OPTS = \
-DQT_HOST_PATH=$(HOST_DIR) \
-DBUILD_WITH_PCH=OFF \
-DQT_BUILD_EXAMPLES=OFF \
-DQT_BUILD_TESTS=OFF
QT6QUICKTIMELINE_DEPENDENCIES = \
qt6base \
qt6declarative
$(eval $(cmake-package))
+17
View File
@@ -0,0 +1,17 @@
config BR2_PACKAGE_QT6SCXML
bool "qt6scxml"
help
Qt is a cross-platform application and UI framework for
developers using C++.
This package provides two related state machine modules:
* StateMachine: provides classes for creating and executing
state graphs.
https://doc.qt.io/qt-6/qtstatemachine-index.html
* Scxml: provides functionality to create state machines
from SCXML files.
https://doc.qt.io/qt-6/qtscxml-index.html
+11
View File
@@ -0,0 +1,11 @@
# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtscxml-everywhere-src-6.8.1.tar.xz.sha256
sha256 2f406f44cfacd6eddb90468012a5d1d99d7a64ec05a21a2a7eda9dfc12614fd6 qtscxml-everywhere-src-6.8.1.tar.xz
# Hashes for license files:
sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt
sha256 110535522396708cea37c72a802c5e7e81391139f5f7985631c93ef242b206a4 LICENSES/GFDL-1.3-no-invariants-only.txt
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSES/GPL-2.0-only.txt
sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSES/GPL-3.0-only.txt
sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSES/LGPL-3.0-only.txt
sha256 9b1f50aae6267f9d5e0ceb6775ee86450262c25ec7c0573e151fe5d3f18a4700 LICENSES/LicenseRef-Qt-Commercial.txt
sha256 40678d338ce53cd93f8b22b281a2ecbcaa3ee65ce60b25ffb0c462b0530846b2 LICENSES/Qt-GPL-exception-1.0.txt
+50
View File
@@ -0,0 +1,50 @@
################################################################################
#
# qt6scxml
#
################################################################################
QT6SCXML_VERSION = $(QT6_VERSION)
QT6SCXML_SITE = $(QT6_SITE)
QT6SCXML_SOURCE = qtscxml-$(QT6_SOURCE_TARBALL_PREFIX)-$(QT6SCXML_VERSION).tar.xz
QT6SCXML_INSTALL_STAGING = YES
QT6SCXML_SUPPORTS_IN_SOURCE_BUILD = NO
QT6SCXML_CMAKE_BACKEND = ninja
QT6SCXML_LICENSE = \
BSD-3-Clause (buildsystem, examples, snippets) \
GFDL-1.3-no-invariants (docs), \
GPL-2.0 or GPL-3.0 or LGPL-3.0, \
GPL-3.0 with exception (tools), \
GPL-3.0 (tests)
QT6SCXML_LICENSE_FILES = \
LICENSES/BSD-3-Clause.txt \
LICENSES/GFDL-1.3-no-invariants-only.txt \
LICENSES/GPL-2.0-only.txt \
LICENSES/GPL-3.0-only.txt \
LICENSES/LGPL-3.0-only.txt \
LICENSES/Qt-GPL-exception-1.0.txt
QT6SCXML_CONF_OPTS = \
-DQT_HOST_PATH=$(HOST_DIR) \
-DBUILD_WITH_PCH=OFF \
-DQT_BUILD_EXAMPLES=OFF \
-DQT_BUILD_TESTS=OFF
QT6SCXML_DEPENDENCIES = \
host-qt6scxml \
qt6base
HOST_QT6SCXML_DEPENDENCIES = \
host-qt6base
# When we have support for qt6declarative in target qt6scxml, we also
# need it in the host qt6scxml.
ifeq ($(BR2_PACKAGE_QT6DECLARATIVE),y)
QT6SCXML_DEPENDENCIES += qt6declarative
HOST_QT6SCXML_DEPENDENCIES += host-qt6declarative
endif
$(eval $(cmake-package))
$(eval $(host-cmake-package))
+2 -2
View File
@@ -1,5 +1,5 @@
# Hash from: https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/qtserialbus-everywhere-src-6.7.2.tar.xz.sha256
sha256 67641ca99b455746d7d956c516dfaa5f2c48696834c71d5720d63e736d374b2b qtserialbus-everywhere-src-6.7.2.tar.xz
# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtserialbus-everywhere-src-6.8.1.tar.xz.sha256
sha256 40788d92ec5c3ae297818e9f9eea9d21e398a54fa3fd8ddd530d324548ed15da qtserialbus-everywhere-src-6.8.1.tar.xz
# Hashes for license files:
sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt
+2 -3
View File
@@ -1,5 +1,5 @@
# Hash from: https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/qtserialport-everywhere-src-6.7.2.tar.xz.sha256
sha256 21c34cd1161cb5197bcec662d26a17647b59b6fdff5c364576883c42dbd3b4fc qtserialport-everywhere-src-6.7.2.tar.xz
# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtserialport-everywhere-src-6.8.1.tar.xz.sha256
sha256 098e72a5c06d7db003e3eea1b0ed72d7308e3ea9cb9e89b538816dc96c938395 qtserialport-everywhere-src-6.8.1.tar.xz
# Hashes for license files:
sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt
@@ -7,4 +7,3 @@ sha256 110535522396708cea37c72a802c5e7e81391139f5f7985631c93ef242b206a4 LICENS
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSES/GPL-2.0-only.txt
sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSES/GPL-3.0-only.txt
sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSES/LGPL-3.0-only.txt
sha256 40678d338ce53cd93f8b22b281a2ecbcaa3ee65ce60b25ffb0c462b0530846b2 LICENSES/Qt-GPL-exception-1.0.txt
+1 -2
View File
@@ -23,8 +23,7 @@ QT6SERIALPORT_LICENSE_FILES = \
LICENSES/GFDL-1.3-no-invariants-only.txt \
LICENSES/GPL-2.0-only.txt \
LICENSES/GPL-3.0-only.txt \
LICENSES/LGPL-3.0-only.txt \
LICENSES/Qt-GPL-exception-1.0.txt
LICENSES/LGPL-3.0-only.txt
QT6SERIALPORT_CONF_OPTS = \
-DQT_HOST_PATH=$(HOST_DIR) \
@@ -1,5 +1,5 @@
# Hash from: https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/qtshadertools-everywhere-src-6.7.2.tar.xz.sha256
sha256 edfa34c0ac8c00fcaa949df1d8e7a77d89dadd6386e683ce6c3e3b117e2f7cc1 qtshadertools-everywhere-src-6.7.2.tar.xz
# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtshadertools-everywhere-src-6.8.1.tar.xz.sha256
sha256 55b70cd632473a8043c74ba89310f7ba9c5041d253bc60e7ae1fa789169c4846 qtshadertools-everywhere-src-6.8.1.tar.xz
# Hashes for license files:
sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt
+2 -2
View File
@@ -1,5 +1,5 @@
# Hash from: https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/qtsvg-everywhere-src-6.7.2.tar.xz.sha256
sha256 fb0d1286a35be3583fee34aeb5843c94719e07193bdf1d4d8b0dc14009caef01 qtsvg-everywhere-src-6.7.2.tar.xz
# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtsvg-everywhere-src-6.8.1.tar.xz.sha256
sha256 3d0de73596e36b2daa7c48d77c4426bb091752856912fba720215f756c560dd0 qtsvg-everywhere-src-6.8.1.tar.xz
# Hashes for license files:
sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt
+3
View File
@@ -36,5 +36,8 @@ QT6SVG_DEPENDENCIES = \
host-pkgconf \
qt6base
HOST_QT6SVG_DEPENDENCIES = \
host-qt6base
$(eval $(cmake-package))
$(eval $(host-cmake-package))
+2 -6
View File
@@ -1,12 +1,8 @@
config BR2_PACKAGE_QT6TOOLS
bool "qt6tools"
# The Qt Network module is required
select BR2_PACKAGE_QT6BASE_NETWORK
# qt6tools needs host-qt6tools, and host-qt6tools needs
# network support in qt6base. In addition, we also need
# host-qt6base with Sql support to build the qhelpgenerator
# tool, if target support for Sql is present
select BR2_PACKAGE_HOST_QT6BASE_NETWORK
select BR2_PACKAGE_HOST_QT6BASE_SQL if BR2_PACKAGE_QT6BASE_SQL
select BR2_PACKAGE_HOST_QT6TOOLS
help
Qt is a cross-platform application and UI framework for
developers using C++.
+25
View File
@@ -0,0 +1,25 @@
config BR2_PACKAGE_HOST_QT6TOOLS
bool "host qt6tools"
# The Qt Qt Network module is required
select BR2_PACKAGE_HOST_QT6BASE_NETWORK
# Requires the Qt Sql module to build the qhelpgenerator
# tool, if target support for Sql is present
select BR2_PACKAGE_HOST_QT6BASE_SQL if BR2_PACKAGE_QT6BASE_SQL
help
Qt is a cross-platform application and UI framework for
developers using C++.
Qt Tools provides tools facilitate the development
and design of applications.
https://github.com/qt/qttools
if BR2_PACKAGE_HOST_QT6TOOLS
config BR2_PACKAGE_HOST_QT6TOOLS_LINGUIST_TOOLS
bool "host linguist tools"
help
Translate Qt C++ and Qt Quick applications into local
languages.
endif
+2 -2
View File
@@ -1,5 +1,5 @@
# Hash from: https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/qttools-everywhere-src-6.7.2.tar.xz.sha256
sha256 58e855ad1b2533094726c8a425766b63a04a0eede2ed85086860e54593aa4b2a qttools-everywhere-src-6.7.2.tar.xz
# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qttools-everywhere-src-6.8.1.tar.xz.sha256
sha256 9d43d409be08b8681a0155a9c65114b69c9a3fc11aef6487bb7fdc5b283c432d qttools-everywhere-src-6.8.1.tar.xz
# Hashes for license files:
sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt
+16
View File
@@ -41,7 +41,23 @@ ifeq ($(BR2_PACKAGE_QT6DECLARATIVE),y)
QT6TOOLS_DEPENDENCIES += qt6declarative
endif
HOST_QT6TOOLS_CONF_OPTS = \
-DQT_BUILD_EXAMPLES=OFF \
-DQT_BUILD_TESTS=OFF
HOST_QT6TOOLS_DEPENDENCIES = host-qt6base
ifeq ($(BR2_PACKAGE_HOST_QT6TOOLS_LINGUIST_TOOLS),y)
HOST_QT6TOOLS_CONF_OPTS += -DFEATURE_linguist=ON
# When we have qt6declarative for the target, we need to build the
# linguist tool with host-qt6declarative support so that it handles
# QML/JS files
ifeq ($(BR2_PACKAGE_QT6DECLARATIVE),y)
HOST_QT6TOOLS_DEPENDENCIES += host-qt6declarative
endif
else
HOST_QT6TOOLS_CONF_OPTS += -DFEATURE_linguist=OFF
endif
$(eval $(cmake-package))
$(eval $(host-cmake-package))
@@ -1,5 +1,5 @@
# Hash from: https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/qtvirtualkeyboard-everywhere-src-6.7.2.tar.xz.sha256
sha256 320664b55a0960ff79c1b822dcf6e8cebe3e08b791147d41b570996d81ce180f qtvirtualkeyboard-everywhere-src-6.7.2.tar.xz
# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtvirtualkeyboard-everywhere-src-6.8.1.tar.xz.sha256
sha256 1022a3bc4093ec732e85b659158c8a70a31eecbd0dfef4e4f6c67f474f89a264 qtvirtualkeyboard-everywhere-src-6.8.1.tar.xz
# Hashes for license files:
sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt
+2 -2
View File
@@ -1,5 +1,5 @@
# Hash from: https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/qtwayland-everywhere-src-6.7.2.tar.xz.sha256
sha256 a2a057e1dd644bd44abb9990fecc194b2e25c2e0f39e81aa9fee4c1e5e2a8a5b qtwayland-everywhere-src-6.7.2.tar.xz
# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtwayland-everywhere-src-6.8.1.tar.xz.sha256
sha256 2226fbde4e2ddd12f8bf4b239c8f38fd706a54e789e63467dfddc77129eca203 qtwayland-everywhere-src-6.8.1.tar.xz
# Hashes for license files:
sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt
+2 -2
View File
@@ -1,5 +1,5 @@
# Hash from: https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/qtwebsockets-everywhere-src-6.7.2.tar.xz.sha256
sha256 5bde4af6ec9ce8c8632b782ab77b82d910721be2c714e6d38902521bcd1d215f qtwebsockets-everywhere-src-6.7.2.tar.xz
# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtwebsockets-everywhere-src-6.8.1.tar.xz.sha256
sha256 e4cfdae8760bedd1c2b00429a6c9bf88cc11c5018dcb46bde277fb1edf341e3f qtwebsockets-everywhere-src-6.8.1.tar.xz
# Hashes for license files:
sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt
+1 -1
View File
@@ -11,7 +11,7 @@ config BR2_PACKAGE_QT_MOVIE
name is logo_player
config BR2_PACKAGE_QT_MOVIE_AUTOBOOT
bool "qt movie auto run agter boot"
bool "qt movie auto run after boot"
default y
depends on BR2_PACKAGE_QT_MOVIE
help