From: Johnnynator <Johnnynator@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: [PR PATCH] [wip] qt6: update to 6.2 (alpha)
Date: Sun, 27 Jun 2021 21:18:30 +0200 [thread overview]
Message-ID: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-31686@inbox.vuxu.org> (raw)
[-- Attachment #1: Type: text/plain, Size: 2512 bytes --]
There is a new pull request by Johnnynator against master on the void-packages repository
https://github.com/Johnnynator/void-packages qt6.2
https://github.com/void-linux/void-packages/pull/31686
[wip] qt6: update to 6.2 (alpha)
- qt6-3d: update to 6.2.0alpha.
- qt6-base: update to 6.2.0alpha.
- qt6-charts: update to 6.2.0alpha.
- qt6-declarative: update to 6.2.0alpha.
- qt6-imageformats: update to 6.2.0alpha.
- qt6-lottie: update to 6.2.0alpha.
- qt6-networkauth: update to 6.2.0alpha.
- qt6-qt5compat: update to 6.2.0alpha.
- qt6-quick3d: update to 6.2.0alpha.
- qt6-quickcontrols2: update to 6.2.0alpha.
- qt6-quicktimeline: update to 6.2.0alpha.
- qt6-scxml: update to 6.2.0alpha.
- qt6-shadertools: update to 6.2.0alpha.
- qt6-svg: update to 6.2.0alpha.
- qt6-tools: update to 6.2.0alpha.
- qt6-translations: update to 6.2.0alpha.
- qt6-virtualkeyboard: update to 6.2.0alpha.
- qt6-wayland: update to 6.2.0alpha.
- New package: qt6-serialport-6.2.0alpha
- New package: qt6-websockets-6.2.0alpha
- New package: qt6-webchannel-6.2.0alpha
- New package: qt6-multimedia-6.2.0alpha
- New package: qt6-webengine-6.2.0alpha
- New package: qt6-location-6.2.0alpha
<!-- Mark items with [x] where applicable -->
#### General
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)
#### Have the results of the proposed changes been tested?
- [ ] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [x] I generally don't use the affected packages but briefly tested this PR
<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
#### Does it build and run successfully?
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [x] I built this PR locally for my native architecture, (ARCH-LIBC)
- [x] I built this PR locally for these architectures (if supported. mark crossbuilds):
- [x] aarch64-musl
- [x] armv7l
- [x] armv6l-musl
[ci skip]
A patch file from https://github.com/void-linux/void-packages/pull/31686.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-qt6.2-31686.patch --]
[-- Type: text/x-diff, Size: 120611 bytes --]
From a169ab9c53d284c7389a64c1369661fca5661838 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Daniel=20N=C3=A9ri?= <dne+github@mayonnaise.net>
Date: Sun, 27 Jun 2021 00:05:14 +0000
Subject: [PATCH 01/25] tailscale: update to 1.10.0.
---
srcpkgs/tailscale/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/tailscale/template b/srcpkgs/tailscale/template
index 27fb51011812..598429ea085e 100644
--- a/srcpkgs/tailscale/template
+++ b/srcpkgs/tailscale/template
@@ -1,6 +1,6 @@
# Template file for 'tailscale'
pkgname=tailscale
-version=1.8.5
+version=1.10.0
revision=1
build_style=go
go_import_path="tailscale.com"
@@ -14,7 +14,7 @@ maintainer="Noel Cower <ncower@nil.dev>"
license="BSD-3-Clause"
homepage="https://tailscale.com"
distfiles="https://github.com/tailscale/tailscale/archive/v${version}.tar.gz"
-checksum=f3a558f3006f0182dc12bd3f346a2f66e6f8389fcfa3e42f2b78e496bfc331ad
+checksum=8345fc01fd07d3fa325817104b373bbdd54568ef807135e9d5eafa5321fa7f87
post_install() {
vlicense LICENSE
From 945a006369c7c4f2b431f5347aa78249e9e2591c Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Thu, 24 Jun 2021 20:58:32 +0200
Subject: [PATCH 02/25] qt6-3d: update to 6.2.0alpha.
---
srcpkgs/qt6-3d/template | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/qt6-3d/template b/srcpkgs/qt6-3d/template
index dec8bdebf98f..9a45c8c011ef 100644
--- a/srcpkgs/qt6-3d/template
+++ b/srcpkgs/qt6-3d/template
@@ -1,8 +1,8 @@
# Template file for 'qt6-3d'
pkgname=qt6-3d
-version=6.1.1
+version=6.2.0alpha
revision=1
-wrksrc="qt3d-everywhere-src-${version}"
+wrksrc="qt3d-everywhere-src-${version/alpha/-alpha}"
build_style=cmake
configure_args="-DQT_HOST_PATH=/usr"
hostmakedepends="perl qt6-declarative-devel"
@@ -12,8 +12,8 @@ short_desc="Cross-platform application and UI framework - 3d"
maintainer="John <me@johnnynator.dev>"
license="(LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only) AND GPL-3.0-only with Qt-GPL-exception-1.0"
homepage="https://qt.io/"
-distfiles="http://download.qt.io/official_releases/qt/${version%.*}/${version}/submodules/qt3d-everywhere-src-${version}.tar.xz"
-checksum=66e25fcf0bd965374f9814ef8fb960ff7c0414ec9480dcdc57caad17f23ede08
+distfiles="http://download.qt.io/development_releases/qt/${version%.*}/${version/alpha/-alpha}/submodules/qt3d-everywhere-src-${version/alpha/-alpha}.tar.xz"
+checksum=8fff7ac79b3f508df00bfc4e14e401b1dde0a5bc1d67d3cb88c05b04ac12aa1b
qt6-3d-devel_package() {
depends="${sourcepkg}>=${version}_${revision}"
From 782625d45ea9ff1cff4a696c216329ec91ca8540 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Thu, 24 Jun 2021 20:58:41 +0200
Subject: [PATCH 03/25] qt6-base: update to 6.2.0alpha.
---
.../qt6-base/patches/musl-usr-path-hack.patch | 25 +++++++++++++++++++
srcpkgs/qt6-base/template | 16 ++++++------
2 files changed, 33 insertions(+), 8 deletions(-)
create mode 100644 srcpkgs/qt6-base/patches/musl-usr-path-hack.patch
diff --git a/srcpkgs/qt6-base/patches/musl-usr-path-hack.patch b/srcpkgs/qt6-base/patches/musl-usr-path-hack.patch
new file mode 100644
index 000000000000..a2ec7550e7bb
--- /dev/null
+++ b/srcpkgs/qt6-base/patches/musl-usr-path-hack.patch
@@ -0,0 +1,25 @@
+Source: @Johnnynator
+Upsteam: No
+Subject: Musl always returns /lib/libQt6Core.so.6 for Dl_info.dli_fname.
+This also happens sometimes with qtwebengine on glibc.
+This breaks qt6-webengine's search path for translations.
+Using realpath instead would probably be a more correct solution.
+
+---
+diff --git qtbasesrc/corelib/global/qlibraryinfo.cpp qtbasesrc/corelib/global/qlibraryinfo.cpp
+index 8bcf67e73d..28d7355310 100644
+--- a/src/corelib/global/qlibraryinfo.cpp
++++ b/src/corelib/global/qlibraryinfo.cpp
+@@ -558,6 +558,12 @@ static QString getRelocatablePrefix()
+ int result = dladdr(reinterpret_cast<void *>(&QLibraryInfo::isDebugBuild), &info);
+ if (result > 0 && info.dli_fname)
+ prefixPath = prefixFromQtCoreLibraryHelper(QString::fromLocal8Bit(info.dli_fname));
++#if 1
++ QDir preDir(prefixPath);
++ if (preDir.isRoot()) {
++ prefixPath = QStringLiteral("/usr");
++ }
++#endif
+ #elif defined(Q_OS_WIN)
+ HMODULE hModule = getWindowsModuleHandle();
+ const int kBufferSize = 4096;
diff --git a/srcpkgs/qt6-base/template b/srcpkgs/qt6-base/template
index bb043213a360..fad36fe8bc70 100644
--- a/srcpkgs/qt6-base/template
+++ b/srcpkgs/qt6-base/template
@@ -1,8 +1,8 @@
# Template file for 'qt6-base'
pkgname=qt6-base
-version=6.1.1
+version=6.2.0alpha
revision=1
-wrksrc="qtbase-everywhere-src-${version}"
+wrksrc="qtbase-everywhere-src-${version/alpha/-alpha}"
build_style=cmake
configure_args="-DINSTALL_DATADIR=share/qt6
-DINSTALL_ARCHDATADIR=lib/qt6
@@ -27,8 +27,8 @@ short_desc="Cross-platform application and UI framework (QT6)"
maintainer="John <me@johnnynator.dev>"
license="GPL-3.0-only WITH Qt-GPL-exception-1.0, LGPL-3.0-only, GPL-2.0-or-later"
homepage="https://www.qt.io"
-distfiles="https://download.qt.io/official_releases/qt/${version%.*}/${version}/submodules/qtbase-everywhere-src-${version}.tar.xz"
-checksum=21a8aa9f07170e047270c668c8b037536f40226db7adbc529a0b41c3a3cb3ff2
+distfiles="https://download.qt.io/development_releases/qt/${version%.*}/${version/alpha/-alpha}/submodules/qtbase-everywhere-src-${version/alpha/-alpha}.tar.xz"
+checksum=eb18d8fc5b5136ab0d177d89c54ec197363904fedb2aecb0d87033ce78ddffcc
python_version=3
if [ "$CROSS_BUILD" ]; then
@@ -84,10 +84,10 @@ qt6-gui_package() {
short_desc+=" - Gui"
pkg_install() {
vmove "usr/lib/libQt6Gui.so.*"
- vmove "usr/lib/libQt6XcbQpa.so.*"
- vmove "usr/lib/libQt6EglFSDeviceIntegration.so.*"
- vmove "usr/lib/libQt6EglFsKmsGbmSupport.so.*"
- vmove "usr/lib/libQt6EglFsKmsSupport.so.*"
+ vmove "usr/lib/libQt6XcbQpaPrivate.so.*"
+ vmove "usr/lib/libQt6EglFSDeviceIntegrationPrivate.so.*"
+ vmove "usr/lib/libQt6EglFsKmsGbmSupportPrivate.so.*"
+ vmove "usr/lib/libQt6EglFsKmsSupportPrivate.so.*"
vmove "usr/lib/libQt6OpenGL.so.*"
vmove usr/lib/qt6/plugins/generic
vmove usr/lib/qt6/plugins/platforms
From fcfa7c78e478144ad8008e5c83b1cceae844477b Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Thu, 24 Jun 2021 20:58:45 +0200
Subject: [PATCH 04/25] qt6-charts: update to 6.2.0alpha.
---
srcpkgs/qt6-charts/template | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/qt6-charts/template b/srcpkgs/qt6-charts/template
index 1645fe5b4507..1beaf0dbecfd 100644
--- a/srcpkgs/qt6-charts/template
+++ b/srcpkgs/qt6-charts/template
@@ -1,8 +1,8 @@
# Template file for 'qt6-charts'
pkgname=qt6-charts
-version=6.1.1
+version=6.2.0alpha
revision=1
-wrksrc="qtcharts-everywhere-src-${version}"
+wrksrc="qtcharts-everywhere-src-${version/alpha/-alpha}"
build_style=cmake
configure_args="-DQT_HOST_PATH=/usr"
hostmakedepends="perl qt6-declarative-devel"
@@ -11,8 +11,8 @@ short_desc="Cross-platform application and UI framework - charts"
maintainer="John <me@johnnynator.dev>"
license="GPL-3.0-only"
homepage="https://qt.io/"
-distfiles="http://download.qt.io/official_releases/qt/${version%.*}/${version}/submodules/qtcharts-everywhere-src-${version}.tar.xz"
-checksum=a245b8e1b3edd22c5319d8cf0ee18f95901cfc39e4f94b34b59befffc17af60a
+distfiles="http://download.qt.io/development_releases/qt/${version%.*}/${version/alpha/-alpha}/submodules/qtcharts-everywhere-src-${version/alpha/-alpha}.tar.xz"
+checksum=294205bc1e855bb44a0e17c707b981c617fc08d55d071e1d02441ff5a4e7e676
qt6-charts-devel_package() {
depends="${sourcepkg}>=${version}_${revision}"
From 0028f19ff4ea75b0c68e505bed2ac3a3119d04c1 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Thu, 24 Jun 2021 20:58:51 +0200
Subject: [PATCH 05/25] qt6-declarative: update to 6.2.0alpha.
---
srcpkgs/qt6-declarative/template | 24 ++++++++++++++----------
1 file changed, 14 insertions(+), 10 deletions(-)
diff --git a/srcpkgs/qt6-declarative/template b/srcpkgs/qt6-declarative/template
index a61861576499..bef006df96f0 100644
--- a/srcpkgs/qt6-declarative/template
+++ b/srcpkgs/qt6-declarative/template
@@ -1,20 +1,23 @@
# Template file for 'qt6-declarative'
pkgname=qt6-declarative
-version=6.1.1
+version=6.2.0alpha
revision=1
-wrksrc="qtdeclarative-everywhere-src-${version}"
+wrksrc="qtdeclarative-everywhere-src-${version/alpha/-alpha}"
build_style=cmake
-configure_args=" -DQT_HOST_PATH=/usr
- -DQT_BUILD_TOOLS_WHEN_CROSSCOMPILING=true"
+configure_args=" -DQT_HOST_PATH=/usr"
hostmakedepends="qt6-base-devel perl pkg-config wayland-devel
- qt6-declarative-devel"
+ qt6-shadertools-devel qt6-declarative-devel"
makedepends="qt6-base-devel Vulkan-Headers"
short_desc="Cross-platform application and UI framework - Declarative"
maintainer="John <me@johnnynator.dev>"
license="GPL-3.0-only with Qt-GPL-exception-1.0, LGPL-3.0-only, GPL-2.0-or-later"
homepage="https://www.qt.io"
-distfiles="https://download.qt.io/official_releases/qt/${version%.*}/${version}/submodules/qtdeclarative-everywhere-src-${version}.tar.xz"
-checksum=805394307479ebca9899996af8357037c4f1ff8b783162ade0c5a05cea7ee2d2
+distfiles="https://download.qt.io/development_releases/qt/${version%.*}/${version/alpha/-alpha}/submodules/qtdeclarative-everywhere-src-${version/alpha/-alpha}.tar.xz"
+checksum=4fd2d9448620586862e56149c43ef93b6dddcb60d6f211ab933bed984d1f1d8a
+
+if [ "$CROSS_BUILD" ]; then
+ configure_args+=" -DQT_BUILD_TOOLS_WHEN_CROSSCOMPILING=true"
+fi
if [ "$XBPS_CHECK_PKGS" ]; then
configure_args+=" -DQT_BUILD_TESTS=ON"
@@ -34,9 +37,10 @@ qt6-declarative-tools_package() {
short_desc+=" - tools"
pkg_install() {
vmove usr/lib/qt6/plugins/qmltooling
- for bin in qmlcachegen qmleasing qmlformat qmlimportscanner \
- qmllint qmlplugindump qmlpreview qmlprofiler qmlscene \
- qmltestrunner qmltime qmltyperegistrar; do
+ for bin in qmlcachegen qmlimportscanner qmltyperegistrar; do
+ vmove usr/lib/qt6/libexec/$bin
+ done
+ for bin in qmlformat qmllint qmlpreview qmlprofiler; do
vmove usr/lib/qt6/bin/$bin
done
}
From 7b311a0017ce60f4bfd8914e51049e9befc776b5 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Thu, 24 Jun 2021 20:58:53 +0200
Subject: [PATCH 06/25] qt6-imageformats: update to 6.2.0alpha.
---
srcpkgs/qt6-imageformats/template | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/qt6-imageformats/template b/srcpkgs/qt6-imageformats/template
index 45c34a253e53..8207913c89f9 100644
--- a/srcpkgs/qt6-imageformats/template
+++ b/srcpkgs/qt6-imageformats/template
@@ -1,8 +1,8 @@
# Template file for 'qt6-imageformats'
pkgname=qt6-imageformats
-version=6.1.1
+version=6.2.0alpha
revision=1
-wrksrc="qtimageformats-everywhere-src-${version}"
+wrksrc="qtimageformats-everywhere-src-${version/alpha/-alpha}"
build_style=cmake
configure_args="-DQT_HOST_PATH=/usr"
hostmakedepends="perl qt6-base-devel"
@@ -11,5 +11,5 @@ short_desc="Cross-platform application and UI framework - imageformats"
maintainer="John <me@johnnynator.dev>"
license="LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only"
homepage="https://qt.io/"
-distfiles="http://download.qt.io/official_releases/qt/${version%.*}/${version}/submodules/qtimageformats-everywhere-src-${version}.tar.xz"
-checksum=d7ee9d96ed6958241acde2b5d505f89d7dcfd710d0944b100ac6de203b0e107d
+distfiles="http://download.qt.io/development_releases/qt/${version%.*}/${version/alpha/-alpha}/submodules/qtimageformats-everywhere-src-${version/alpha/-alpha}.tar.xz"
+checksum=6e4a3690b5de83733f9a4ad492784b33748684cd99e98aa7cd3c30c97faa2bae
From 34d09a16564ded75f1bb51e7cc3869b54afe7cbb Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Thu, 24 Jun 2021 20:58:56 +0200
Subject: [PATCH 07/25] qt6-lottie: update to 6.2.0alpha.
---
srcpkgs/qt6-lottie/template | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/qt6-lottie/template b/srcpkgs/qt6-lottie/template
index 775396bcac64..0a55513d0cb8 100644
--- a/srcpkgs/qt6-lottie/template
+++ b/srcpkgs/qt6-lottie/template
@@ -1,8 +1,8 @@
# Template file for 'qt6-lottie'
pkgname=qt6-lottie
-version=6.1.1
+version=6.2.0alpha
revision=1
-wrksrc="qtlottie-everywhere-src-${version}"
+wrksrc="qtlottie-everywhere-src-${version/alpha/-alpha}"
build_style=cmake
configure_args="-DQT_HOST_PATH=/usr"
hostmakedepends="perl qt6-base-devel"
@@ -11,8 +11,8 @@ short_desc="Cross-platform application and UI framework - lottie"
maintainer="John <me@johnnynator.dev>"
license="GPL-3.0-only"
homepage="https://qt.io/"
-distfiles="http://download.qt.io/official_releases/qt/${version%.*}/${version}/submodules/qtlottie-everywhere-src-${version}.tar.xz"
-checksum=df8ee26ea3aa4524f82703f602449d990724ca232cb98498746e8f49e23037ed
+distfiles="http://download.qt.io/development_releases/qt/${version%.*}/${version/alpha/-alpha}/submodules/qtlottie-everywhere-src-${version/alpha/-alpha}.tar.xz"
+checksum=07e01a8993866abcb372cc8569d299f79cc6a91ebf66a5a85a5abe722527eadc
if [ "$XBPS_CHECK_PKGS" ]; then
configure_args+=" -DQT_BUILD_TESTS=ON"
From 6073498f41816f1a870e018f8f51b94949bf7460 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Thu, 24 Jun 2021 20:58:58 +0200
Subject: [PATCH 08/25] qt6-networkauth: update to 6.2.0alpha.
---
srcpkgs/qt6-networkauth/template | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/qt6-networkauth/template b/srcpkgs/qt6-networkauth/template
index 8ffb44cad94a..654a2bb0fd69 100644
--- a/srcpkgs/qt6-networkauth/template
+++ b/srcpkgs/qt6-networkauth/template
@@ -1,8 +1,8 @@
# Template file for 'qt6-networkauth'
pkgname=qt6-networkauth
-version=6.1.1
+version=6.2.0alpha
revision=1
-wrksrc="qtnetworkauth-everywhere-src-${version}"
+wrksrc="qtnetworkauth-everywhere-src-${version/alpha/-alpha}"
build_style=cmake
configure_args="-DQT_HOST_PATH=/usr"
hostmakedepends="perl qt6-base-devel"
@@ -11,8 +11,8 @@ short_desc="Cross-platform application and UI framework - networkauth"
maintainer="John <me@johnnynator.dev>"
license="GPL-3.0-only"
homepage="https://qt.io/"
-distfiles="http://download.qt.io/official_releases/qt/${version%.*}/${version}/submodules/qtnetworkauth-everywhere-src-${version}.tar.xz"
-checksum=4e1b7f6584fe21e8a04ee6d9c5761e5858587e8bab01a522ee53f82dfd1efdd7
+distfiles="http://download.qt.io/development_releases/qt/${version%.*}/${version/alpha/-alpha}/submodules/qtnetworkauth-everywhere-src-${version/alpha/-alpha}.tar.xz"
+checksum=75784d38da1d476b209c3151dbd9afda0708fdcfbfd48d09a520754a442ccda6
if [ "$XBPS_CHECK_PKGS" ]; then
configure_args+=" -DQT_BUILD_TESTS=ON"
From 08e90f20b9c6a9144bdfd0838370851ede390838 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Thu, 24 Jun 2021 20:59:02 +0200
Subject: [PATCH 09/25] qt6-qt5compat: update to 6.2.0alpha.
---
srcpkgs/qt6-qt5compat/template | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/qt6-qt5compat/template b/srcpkgs/qt6-qt5compat/template
index d64b37bff575..0567c1b374e5 100644
--- a/srcpkgs/qt6-qt5compat/template
+++ b/srcpkgs/qt6-qt5compat/template
@@ -1,8 +1,8 @@
# Template file for 'qt6-qt5compat'
pkgname=qt6-qt5compat
-version=6.1.1
+version=6.2.0alpha
revision=1
-wrksrc="qt5compat-everywhere-src-${version}"
+wrksrc="qt5compat-everywhere-src-${version/alpha/-alpha}"
build_style=cmake
configure_args="-DQT_HOST_PATH=/usr "
hostmakedepends="qt6-base-devel perl"
@@ -11,8 +11,8 @@ short_desc="Cross-platform application and UI framework - Qt5 Compatibilty Compo
maintainer="John <me@johnnynator.dev>"
license="GPL-3.0-only with Qt-GPL-exception-1.0, LGPL-3.0-only, GPL-2.0-or-later"
homepage="https://qt.io/"
-distfiles="http://download.qt.io/official_releases/qt/${version%.*}/${version}/submodules/qt5compat-everywhere-src-${version}.tar.xz"
-checksum=7d08f1044cb09f8b3ee31af0de25771bae72936a6f9a699134d9b8d29dfaa5a7
+distfiles="http://download.qt.io/development_releases/qt/${version%.*}/${version/alpha/-alpha}/submodules/qt5compat-everywhere-src-${version/alpha/-alpha}.tar.xz"
+checksum=210dbe079b51ba47841219fde59ad11a8e77a4a851a73b77121153ed03afb473
if [ "$XBPS_CHECK_PKGS" ]; then
configure_args+=" -DQT_BUILD_TESTS=ON"
From 6f67688b5c75a273ccec942a7fb45a82e7824d9c Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Thu, 24 Jun 2021 20:59:12 +0200
Subject: [PATCH 10/25] qt6-quick3d: update to 6.2.0alpha.
---
srcpkgs/qt6-quick3d/template | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/qt6-quick3d/template b/srcpkgs/qt6-quick3d/template
index d75bd8c086ca..673ec342450f 100644
--- a/srcpkgs/qt6-quick3d/template
+++ b/srcpkgs/qt6-quick3d/template
@@ -1,8 +1,8 @@
# Template file for 'qt6-quick3d'
pkgname=qt6-quick3d
-version=6.1.1
+version=6.2.0alpha
revision=1
-wrksrc="qtquick3d-everywhere-src-${version}"
+wrksrc="qtquick3d-everywhere-src-${version/alpha/-alpha}"
build_style=cmake
configure_args="-DQT_HOST_PATH=/usr "
hostmakedepends="perl qt6-base-devel qt6-declarative-devel qt6-shadertools-devel"
@@ -12,8 +12,8 @@ short_desc="Cross-platform application and UI framework - Quick3d"
maintainer="John <me@johnnynator.dev>"
license="GPL-3.0-or-later"
homepage="https://qt.io/"
-distfiles="http://download.qt.io/official_releases/qt/${version%.*}/${version}/submodules/qtquick3d-everywhere-src-${version}.tar.xz"
-checksum=94b45ae9d08495d701cfb586f1f85b12a1a10f8c29865de0d427a2366ae4507c
+distfiles="http://download.qt.io/development_releases/qt/${version%.*}/${version/alpha/-alpha}/submodules/qtquick3d-everywhere-src-${version/alpha/-alpha}.tar.xz"
+checksum=b60012e2d3d4b9d62cbddd84b56dcae985bc7b111b551d0eadd06551772db806
if [ "$XBPS_TARGET_ENDIAN" = "be" ]; then
# possibly a qt6-shadertools bug, actually
From d7ebf34d78a5eb5bbdf0ef7671e609382468cb55 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Thu, 24 Jun 2021 20:59:16 +0200
Subject: [PATCH 11/25] qt6-quickcontrols2: update to 6.2.0alpha.
---
srcpkgs/qt6-quickcontrols2/template | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/qt6-quickcontrols2/template b/srcpkgs/qt6-quickcontrols2/template
index ab57102a19cf..efd4972c669c 100644
--- a/srcpkgs/qt6-quickcontrols2/template
+++ b/srcpkgs/qt6-quickcontrols2/template
@@ -1,8 +1,8 @@
# Template file for 'qt6-quickcontrols2'
pkgname=qt6-quickcontrols2
-version=6.1.1
+version=6.2.0alpha
revision=1
-wrksrc="qtquickcontrols2-everywhere-src-${version}"
+wrksrc="qtquickcontrols2-everywhere-src-${version/alpha/-alpha}"
build_style=cmake
configure_args="-DQT_HOST_PATH=/usr "
hostmakedepends="perl qt6-base-devel qt6-declarative-devel"
@@ -11,8 +11,8 @@ short_desc="Cross-platform application and UI framework - quickcontrols2"
maintainer="John <me@johnnynator.dev>"
license="GPL-2.0-or-later, LGPL-3.0-or-later"
homepage="https://qt.io/"
-distfiles="http://download.qt.io/official_releases/qt/${version%.*}/${version}/submodules/qtquickcontrols2-everywhere-src-${version}.tar.xz"
-checksum=7ebc99724bedd97a2c6a606ba2726feb66bb76eb9f30262ae13cd246f5665ea4
+distfiles="http://download.qt.io/development_releases/qt/${version%.*}/${version/alpha/-alpha}/submodules/qtquickcontrols2-everywhere-src-${version/alpha/-alpha}.tar.xz"
+checksum=40c8af99adb342c45809bfe06c73ac7d923433518cb7bc7997f6fc40e169c4c5
qt6-quickcontrols2-devel_package() {
depends="${sourcepkg}>=${version}_${revision} qt6-base-devel"
From bd636b7a59adad7671b098a74b46a96fc643ef5d Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Thu, 24 Jun 2021 20:59:18 +0200
Subject: [PATCH 12/25] qt6-quicktimeline: update to 6.2.0alpha.
---
srcpkgs/qt6-quicktimeline/template | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/qt6-quicktimeline/template b/srcpkgs/qt6-quicktimeline/template
index e9c02e2440c2..bc0225e767bc 100644
--- a/srcpkgs/qt6-quicktimeline/template
+++ b/srcpkgs/qt6-quicktimeline/template
@@ -1,8 +1,8 @@
# Template file for 'qt6-quicktimeline'
pkgname=qt6-quicktimeline
-version=6.1.1
+version=6.2.0alpha
revision=1
-wrksrc="qtquicktimeline-everywhere-src-${version}"
+wrksrc="qtquicktimeline-everywhere-src-${version/alpha/-alpha}"
build_style=cmake
configure_args="-DQT_HOST_PATH=/usr "
hostmakedepends="perl qt6-base-devel qt6-declarative-devel"
@@ -11,8 +11,8 @@ short_desc="Cross-platform application and UI framework - quicktimeline"
maintainer="John <me@johnnynator.dev>"
license="GPL-3.0-or-later"
homepage="https://qt.io/"
-distfiles="http://download.qt.io/official_releases/qt/${version%.*}/${version}/submodules/qtquicktimeline-everywhere-src-${version}.tar.xz"
-checksum=40fb664eadf295001d2c49c333032406b6f45f14acddee7e72b8d6c5ea26a6a2
+distfiles="http://download.qt.io/development_releases/qt/${version%.*}/${version/alpha/-alpha}/submodules/qtquicktimeline-everywhere-src-${version/alpha/-alpha}.tar.xz"
+checksum=e5b024adf9ae291004b5273465757583796c989f317e3bc62366953f02c7a89a
if [ "$XBPS_CHECK_PKGS" ]; then
configure_args+=" -DQT_BUILD_TESTS=ON"
From 98e438415f6e17803a530d079d67f1f7551dff1c Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Thu, 24 Jun 2021 20:59:21 +0200
Subject: [PATCH 13/25] qt6-scxml: update to 6.2.0alpha.
---
srcpkgs/qt6-scxml/template | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/qt6-scxml/template b/srcpkgs/qt6-scxml/template
index e3a594de99e3..f8324f91a3d7 100644
--- a/srcpkgs/qt6-scxml/template
+++ b/srcpkgs/qt6-scxml/template
@@ -1,8 +1,8 @@
# Template file for 'qt6-scxml'
pkgname=qt6-scxml
-version=6.1.1
+version=6.2.0alpha
revision=1
-wrksrc="qtscxml-everywhere-src-${version}"
+wrksrc="qtscxml-everywhere-src-${version/alpha/-alpha}"
build_style=cmake
configure_args="-DQT_HOST_PATH=/usr"
hostmakedepends="perl qt6-declarative-devel"
@@ -11,8 +11,8 @@ short_desc="Cross-platform application and UI framework - scxml"
maintainer="John <me@johnnynator.dev>"
license="LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only"
homepage="https://qt.io/"
-distfiles="http://download.qt.io/official_releases/qt/${version%.*}/${version}/submodules/qtscxml-everywhere-src-${version}.tar.xz"
-checksum=ffeb650458bb60bb076ac3460588f77f7c841b4f4b1de706960b9b34984dc528
+distfiles="http://download.qt.io/development_releases/qt/${version%.*}/${version/alpha/-alpha}/submodules/qtscxml-everywhere-src-${version/alpha/-alpha}.tar.xz"
+checksum=e29a333477e84d407421096fd2d90bccfb95ae4b8d0ed0d0785586e56cfa9d0c
if [ "$XBPS_CHECK_PKGS" ]; then
configure_args+=" -DQT_BUILD_TESTS=ON"
From 583e2350be1253b38877afb8a1254284e5ec2359 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Thu, 24 Jun 2021 20:59:23 +0200
Subject: [PATCH 14/25] qt6-shadertools: update to 6.2.0alpha.
---
srcpkgs/qt6-shadertools/template | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/qt6-shadertools/template b/srcpkgs/qt6-shadertools/template
index 9b55463602b7..42fa436708a6 100644
--- a/srcpkgs/qt6-shadertools/template
+++ b/srcpkgs/qt6-shadertools/template
@@ -1,8 +1,8 @@
# Template file for 'qt6-shadertools'
pkgname=qt6-shadertools
-version=6.1.1
+version=6.2.0alpha
revision=1
-wrksrc="qtshadertools-everywhere-src-${version}"
+wrksrc="qtshadertools-everywhere-src-${version/alpha/-alpha}"
build_style=cmake
configure_args="-DQT_HOST_PATH=/usr "
hostmakedepends="perl qt6-base-devel"
@@ -11,8 +11,8 @@ short_desc="Cross-platform application and UI framework - shadertools"
maintainer="John <me@johnnynator.dev>"
license="GPL-3.0-or-later"
homepage="https://qt.io/"
-distfiles="http://download.qt.io/official_releases/qt/${version%.*}/${version}/submodules/qtshadertools-everywhere-src-${version}.tar.xz"
-checksum=324a9f6f87d4e82c0b5f80e6301c7dbc47617dbe752f3e3726c141bd85855512
+distfiles="http://download.qt.io/development_releases/qt/${version%.*}/${version/alpha/-alpha}/submodules/qtshadertools-everywhere-src-${version/alpha/-alpha}.tar.xz"
+checksum=08144fa6d96c4382e47b3203d27f999b86d4ed1f1b828e09a48614f32b12ee59
qt6-shadertools-devel_package() {
depends="${sourcepkg}>=${version}_${revision} qt6-base-devel>=${version}_1"
From 41fa91fdc3a1bca9120cf848e6afdfd0e2f803a5 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Thu, 24 Jun 2021 20:59:26 +0200
Subject: [PATCH 15/25] qt6-svg: update to 6.2.0alpha.
---
srcpkgs/qt6-svg/template | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/qt6-svg/template b/srcpkgs/qt6-svg/template
index 9042cc483ff9..c37793e0613b 100644
--- a/srcpkgs/qt6-svg/template
+++ b/srcpkgs/qt6-svg/template
@@ -1,8 +1,8 @@
# Template file for 'qt6-svg'
pkgname=qt6-svg
-version=6.1.1
+version=6.2.0alpha
revision=1
-wrksrc="qtsvg-everywhere-src-${version}"
+wrksrc="qtsvg-everywhere-src-${version/alpha/-alpha}"
build_style=cmake
configure_args="-DQT_HOST_PATH=/usr "
hostmakedepends="qt6-base-devel perl"
@@ -11,8 +11,8 @@ short_desc="Cross-platform application and UI framework (QT6) - qt6-svg componen
maintainer="John <me@johnnynator.dev>"
license="GPL-3.0-only with Qt-GPL-exception-1.0, GPL-2.0-or-later, LGPL-3.0-only"
homepage="https://qt.io/"
-distfiles="http://download.qt.io/official_releases/qt/${version%.*}/${version}/submodules/qtsvg-everywhere-src-${version}.tar.xz"
-checksum=e2f62385c940de76dea480a2615c9b11dd2bf0cec2cc778096c0bebfa1ef15ec
+distfiles="http://download.qt.io/development_releases/qt/${version%.*}/${version/alpha/-alpha}/submodules/qtsvg-everywhere-src-${version/alpha/-alpha}.tar.xz"
+checksum=dd7c5312b8430130103d91908bd5f19fa2c6bf01c76acb757e5974603b3769c8
if [ "$XBPS_CHECK_PKGS" ]; then
configure_args+=" -DQT_BUILD_TESTS=ON"
From 95b0f9af9ad7f5c8dc9f9495e014fa7c1f4e0607 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Thu, 24 Jun 2021 20:59:30 +0200
Subject: [PATCH 16/25] qt6-tools: update to 6.2.0alpha.
---
srcpkgs/qt6-tools/template | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/qt6-tools/template b/srcpkgs/qt6-tools/template
index 16b20c72d05a..0e7a9126bcf7 100644
--- a/srcpkgs/qt6-tools/template
+++ b/srcpkgs/qt6-tools/template
@@ -1,8 +1,8 @@
# Template file for 'qt6-tools'
pkgname=qt6-tools
-version=6.1.1
+version=6.2.0alpha
revision=1
-wrksrc="qttools-everywhere-src-${version}"
+wrksrc="qttools-everywhere-src-${version/alpha/-alpha}"
build_style=cmake
configure_args="-DQT_HOST_PATH=/usr "
hostmakedepends="qt6-base-devel perl"
@@ -11,8 +11,8 @@ short_desc="Cross-platform application and UI framework (QT6) - qt6-tools compon
maintainer="John <me@johnnynator.dev>"
license="GPL-3.0-only with Qt-GPL-exception-1.0, LGPL-3.0-only, GPL-2.0-or-later"
homepage="https://qt.io/"
-distfiles="http://download.qt.io/official_releases/qt/${version%.*}/${version}/submodules/qttools-everywhere-src-${version}.tar.xz"
-checksum=cba8d9a836e83b7a5e6d068239635b261f7ca4a059992b2b66cd546380091273
+distfiles="http://download.qt.io/development_releases/qt/${version%.*}/${version/alpha/-alpha}/submodules/qttools-everywhere-src-${version/alpha/-alpha}.tar.xz"
+checksum=32596431f71f7b4bbcd05e86c0490f97bf68b66e560337e5418a7faee5d86e84
if [ "$XBPS_CHECK_PKGS" ]; then
configure_args+=" -DQT_BUILD_TESTS=ON"
From c8784540312c4ab6c946b9e623571f4db7dc0c77 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Thu, 24 Jun 2021 20:59:32 +0200
Subject: [PATCH 17/25] qt6-translations: update to 6.2.0alpha.
---
srcpkgs/qt6-translations/template | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/qt6-translations/template b/srcpkgs/qt6-translations/template
index 088d21f4bdc8..c8be8fe68426 100644
--- a/srcpkgs/qt6-translations/template
+++ b/srcpkgs/qt6-translations/template
@@ -1,8 +1,8 @@
# Template file for 'qt6-translations'
pkgname=qt6-translations
-version=6.1.1
+version=6.2.0alpha
revision=1
-wrksrc="qttranslations-everywhere-src-${version}"
+wrksrc="qttranslations-everywhere-src-${version/alpha/-alpha}"
build_style=cmake
configure_args="-DQT_HOST_PATH=/usr "
hostmakedepends="qt6-base-devel qt6-tools-devel perl"
@@ -11,5 +11,5 @@ short_desc="Cross-platform application and UI framework - translations"
maintainer="John <me@johnnynator.dev>"
license="GPL-3.0-only with Qt-GPL-exception-1.0"
homepage="https://qt.io/"
-distfiles="http://download.qt.io/official_releases/qt/${version%.*}/${version}/submodules/qttranslations-everywhere-src-${version}.tar.xz"
-checksum=6cf3d191335a6b3a64864e7ba41819e7be461d1d2861d643babe836f81d4c393
+distfiles="http://download.qt.io/development_releases/qt/${version%.*}/${version/alpha/-alpha}/submodules/qttranslations-everywhere-src-${version/alpha/-alpha}.tar.xz"
+checksum=0fecd5d3e8f8823d1c77e95fbbac80c084b08df5a02f06fe71b2af6ceceb87ad
From f61a7493a0ed503ddeee391a47353376cb3854dc Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Thu, 24 Jun 2021 20:59:35 +0200
Subject: [PATCH 18/25] qt6-virtualkeyboard: update to 6.2.0alpha.
---
srcpkgs/qt6-virtualkeyboard/template | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/srcpkgs/qt6-virtualkeyboard/template b/srcpkgs/qt6-virtualkeyboard/template
index 07c4a4475f2e..c5034fa3e95d 100644
--- a/srcpkgs/qt6-virtualkeyboard/template
+++ b/srcpkgs/qt6-virtualkeyboard/template
@@ -1,8 +1,8 @@
# Template file for 'qt6-virtualkeyboard'
pkgname=qt6-virtualkeyboard
-version=6.1.1
+version=6.2.0alpha
revision=1
-wrksrc="qtvirtualkeyboard-everywhere-src-${version}"
+wrksrc="qtvirtualkeyboard-everywhere-src-${version/alpha/-alpha}"
build_style=cmake
configure_args="-DQT_HOST_PATH=/usr"
hostmakedepends="perl pkg-config qt6-declarative-devel"
@@ -13,8 +13,8 @@ short_desc="Cross-platform application and UI framework - virtualkeyboard"
maintainer="John <me@johnnynator.dev>"
license="GPL-3.0-only"
homepage="https://qt.io/"
-distfiles="http://download.qt.io/official_releases/qt/${version%.*}/${version}/submodules/qtvirtualkeyboard-everywhere-src-${version}.tar.xz"
-checksum=246d1acdcd953819b09b1da22bd359335d145d8a3550d9e827dc1fd27b6bd3ff
+distfiles="http://download.qt.io/development_releases/qt/${version%.*}/${version/alpha/-alpha}/submodules/qtvirtualkeyboard-everywhere-src-${version/alpha/-alpha}.tar.xz"
+checksum=1675dad7cd41fddb593d1fcf0a6d2a7c0f27ae9962232cba8a0a94dd38044320
if [ "$XBPS_CHECK_PKGS" ]; then
configure_args+=" -DQT_BUILD_TESTS=ON"
From e2f270803e509a6f4ad715dbd44d72d4080358c8 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Thu, 24 Jun 2021 20:59:37 +0200
Subject: [PATCH 19/25] qt6-wayland: update to 6.2.0alpha.
---
srcpkgs/qt6-wayland/template | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/srcpkgs/qt6-wayland/template b/srcpkgs/qt6-wayland/template
index fff2a9b1e8e4..77c5eecd2551 100644
--- a/srcpkgs/qt6-wayland/template
+++ b/srcpkgs/qt6-wayland/template
@@ -1,8 +1,8 @@
# Template file for 'qt6-wayland'
pkgname=qt6-wayland
-version=6.1.1
+version=6.2.0alpha
revision=1
-wrksrc="qtwayland-everywhere-src-${version}"
+wrksrc="qtwayland-everywhere-src-${version/alpha/-alpha}"
build_style=cmake
configure_args="-DQT_HOST_PATH=/usr -DQT_BUILD_TOOLS_WHEN_CROSSCOMPILING=true"
hostmakedepends="qt6-base-devel perl pkg-config wayland-devel qt6-wayland-devel"
@@ -14,8 +14,8 @@ short_desc="Cross-platform application and UI framework - Wayland"
maintainer="John <me@johnnynator.dev>"
license="GPL-3.0-only with Qt-GPL-exception-1.0, LGPL-3.0-only, GPL-2.0-or-later"
homepage="https://www.qt.io"
-distfiles="https://download.qt.io/official_releases/qt/${version%.*}/${version}/submodules/qtwayland-everywhere-src-${version}.tar.xz"
-checksum=2cfb2b5403eb2037670549dd2d3968eaa30a9ce523dd08314c5bc677fdf27db6
+distfiles="https://download.qt.io/development_releases/qt/${version%.*}/${version/alpha/-alpha}/submodules/qtwayland-everywhere-src-${version/alpha/-alpha}.tar.xz"
+checksum=71209da169478c6ea3555f8e55edd9fe9d758ac9826c404af2a5e912a8fcfa5d
if [ "$XBPS_CHECK_PKGS" ]; then
configure_args+=" -DQT_BUILD_TESTS=ON"
@@ -33,7 +33,7 @@ qt6-wayland-devel_package() {
vmove usr/include
vmove usr/lib/cmake
vmove usr/lib/qt6/mkspecs
- vmove usr/lib/qt6/bin/qtwaylandscanner
+ vmove usr/lib/qt6/libexec/qtwaylandscanner
vmove "usr/lib/*.so"
vmove "usr/lib/*.prl"
}
From b322227f06e9774a872f2d98040d705cf1365b41 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 26 Jun 2021 12:16:54 +0200
Subject: [PATCH 20/25] New package: qt6-serialport-6.2.0alpha
---
common/shlibs | 1 +
srcpkgs/qt6-serialport-devel | 1 +
srcpkgs/qt6-serialport/template | 27 +++++++++++++++++++++++++++
3 files changed, 29 insertions(+)
create mode 120000 srcpkgs/qt6-serialport-devel
create mode 100644 srcpkgs/qt6-serialport/template
diff --git a/common/shlibs b/common/shlibs
index 8a7eef8df8c3..eb023b6275aa 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -2060,6 +2060,7 @@ libQt6Help.so.6 qt6-tools-6.1.0_1
libQt6UiTools.so.6 qt6-tools-6.1.0_1
libQt6HunspellInputMethod.so.6 qt6-virtualkeyboard-6.1.0_1
libQt6VirtualKeyboard.so.6 qt6-virtualkeyboard-6.1.0_1
+libQt6SerialPort.so.6 qt6-serialport-6.2.0alpha_1
libnpth.so.0 npth-1.1_1
libnpupnp.so.4 libnpupnp-4.0.2_1
libglfw.so.3 glfw-3.0.4_1
diff --git a/srcpkgs/qt6-serialport-devel b/srcpkgs/qt6-serialport-devel
new file mode 120000
index 000000000000..f6a498cf2653
--- /dev/null
+++ b/srcpkgs/qt6-serialport-devel
@@ -0,0 +1 @@
+qt6-serialport
\ No newline at end of file
diff --git a/srcpkgs/qt6-serialport/template b/srcpkgs/qt6-serialport/template
new file mode 100644
index 000000000000..45e5915979cc
--- /dev/null
+++ b/srcpkgs/qt6-serialport/template
@@ -0,0 +1,27 @@
+# Template file for 'qt6-serialport'
+pkgname=qt6-serialport
+version=6.2.0alpha
+revision=1
+wrksrc="qtserialport-everywhere-src-${version/alpha/-alpha}"
+build_style=cmake
+configure_args="-DQT_HOST_PATH=/usr"
+hostmakedepends="perl qt6-base-devel pkg-config"
+makedepends="qt6-base-devel"
+short_desc="Cross-platform application and UI framework - serialport"
+maintainer="John <me@johnnynator.dev>"
+license="(LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only) AND GPL-3.0-only with Qt-GPL-exception-1.0"
+homepage="https://qt.io/"
+distfiles="http://download.qt.io/development_releases/qt/${version%.*}/${version/alpha/-alpha}/submodules/qtserialport-everywhere-src-${version/alpha/-alpha}.tar.xz"
+checksum=51129c6964c42668e2ea205f1fcb0e0ea099aaeae74607112957343afb531863
+
+qt6-serialport-devel_package() {
+ depends="${sourcepkg}>=${version}_${revision} qt6-base-devel>=${version}_1"
+ short_desc+=" - development files"
+ pkg_install() {
+ vmove usr/include
+ vmove usr/lib/cmake
+ vmove usr/lib/qt6/mkspecs
+ vmove "usr/lib/*.so"
+ vmove "usr/lib/*.prl"
+ }
+}
From cd74e1273d5b658e7e46bfc6654c55e55a0d213f Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 26 Jun 2021 12:23:48 +0200
Subject: [PATCH 21/25] New package: qt6-websockets-6.2.0alpha
---
common/shlibs | 1 +
srcpkgs/qt6-websockets-devel | 1 +
srcpkgs/qt6-websockets/template | 27 +++++++++++++++++++++++++++
3 files changed, 29 insertions(+)
create mode 120000 srcpkgs/qt6-websockets-devel
create mode 100644 srcpkgs/qt6-websockets/template
diff --git a/common/shlibs b/common/shlibs
index eb023b6275aa..69227af2267f 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -2061,6 +2061,7 @@ libQt6UiTools.so.6 qt6-tools-6.1.0_1
libQt6HunspellInputMethod.so.6 qt6-virtualkeyboard-6.1.0_1
libQt6VirtualKeyboard.so.6 qt6-virtualkeyboard-6.1.0_1
libQt6SerialPort.so.6 qt6-serialport-6.2.0alpha_1
+libQt6WebSockets.so.6 qt6-websockets-6.2.0alpha_1
libnpth.so.0 npth-1.1_1
libnpupnp.so.4 libnpupnp-4.0.2_1
libglfw.so.3 glfw-3.0.4_1
diff --git a/srcpkgs/qt6-websockets-devel b/srcpkgs/qt6-websockets-devel
new file mode 120000
index 000000000000..a3c674e42954
--- /dev/null
+++ b/srcpkgs/qt6-websockets-devel
@@ -0,0 +1 @@
+qt6-websockets
\ No newline at end of file
diff --git a/srcpkgs/qt6-websockets/template b/srcpkgs/qt6-websockets/template
new file mode 100644
index 000000000000..6177426904ae
--- /dev/null
+++ b/srcpkgs/qt6-websockets/template
@@ -0,0 +1,27 @@
+# Template file for 'qt6-websockets'
+pkgname=qt6-websockets
+version=6.2.0alpha
+revision=1
+wrksrc="qtwebsockets-everywhere-src-${version/alpha/-alpha}"
+build_style=cmake
+configure_args="-DQT_HOST_PATH=/usr"
+hostmakedepends="perl qt6-base-devel qt6-declarative-devel"
+makedepends="qt6-base-devel qt6-declarative-devel"
+short_desc="Cross-platform application and UI framework - websockets"
+maintainer="John <me@johnnynator.dev>"
+license="(LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only) AND GPL-3.0-only with Qt-GPL-exception-1.0"
+homepage="https://qt.io/"
+distfiles="http://download.qt.io/development_releases/qt/${version%.*}/${version/alpha/-alpha}/submodules/qtwebsockets-everywhere-src-${version/alpha/-alpha}.tar.xz"
+checksum=f8277d05192ee5f823356a6c6b72ea816a0187f6a0915b783605bee9549a8761
+
+qt6-websockets-devel_package() {
+ depends="${sourcepkg}>=${version}_${revision} qt6-base-devel>=${version}_1"
+ short_desc+=" - development files"
+ pkg_install() {
+ vmove usr/include
+ vmove usr/lib/cmake
+ vmove usr/lib/qt6/mkspecs
+ vmove "usr/lib/*.so"
+ vmove "usr/lib/*.prl"
+ }
+}
From 157a42de6ef78b662b4ae568e2b9440a7bc194c1 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 26 Jun 2021 12:25:04 +0200
Subject: [PATCH 22/25] New package: qt6-webchannel-6.2.0alpha
---
common/shlibs | 1 +
srcpkgs/qt6-webchannel-devel | 1 +
srcpkgs/qt6-webchannel/template | 28 ++++++++++++++++++++++++++++
3 files changed, 30 insertions(+)
create mode 120000 srcpkgs/qt6-webchannel-devel
create mode 100644 srcpkgs/qt6-webchannel/template
diff --git a/common/shlibs b/common/shlibs
index 69227af2267f..e6d1ef7157b4 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -2062,6 +2062,7 @@ libQt6HunspellInputMethod.so.6 qt6-virtualkeyboard-6.1.0_1
libQt6VirtualKeyboard.so.6 qt6-virtualkeyboard-6.1.0_1
libQt6SerialPort.so.6 qt6-serialport-6.2.0alpha_1
libQt6WebSockets.so.6 qt6-websockets-6.2.0alpha_1
+libQt6WebChannel.so.6 qt6-webchannel-6.2.0alpha_1
libnpth.so.0 npth-1.1_1
libnpupnp.so.4 libnpupnp-4.0.2_1
libglfw.so.3 glfw-3.0.4_1
diff --git a/srcpkgs/qt6-webchannel-devel b/srcpkgs/qt6-webchannel-devel
new file mode 120000
index 000000000000..03e8b23d785d
--- /dev/null
+++ b/srcpkgs/qt6-webchannel-devel
@@ -0,0 +1 @@
+qt6-webchannel
\ No newline at end of file
diff --git a/srcpkgs/qt6-webchannel/template b/srcpkgs/qt6-webchannel/template
new file mode 100644
index 000000000000..a1d217810c90
--- /dev/null
+++ b/srcpkgs/qt6-webchannel/template
@@ -0,0 +1,28 @@
+# Template file for 'qt6-webchannel'
+pkgname=qt6-webchannel
+version=6.2.0alpha
+revision=1
+wrksrc="qtwebchannel-everywhere-src-${version/alpha/-alpha}"
+build_style=cmake
+configure_args="-DQT_HOST_PATH=/usr"
+hostmakedepends="perl qt6-base-devel qt6-declarative-devel"
+makedepends="qt6-base-devel qt6-declarative-devel qt6-websockets-devel"
+short_desc="Cross-platform application and UI framework - webchannel"
+maintainer="John <me@johnnynator.dev>"
+license="(LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only) AND GPL-3.0-only with Qt-GPL-exception-1.0"
+homepage="https://qt.io/"
+distfiles="http://download.qt.io/development_releases/qt/${version%.*}/${version/alpha/-alpha}/submodules/qtwebchannel-everywhere-src-${version/alpha/-alpha}.tar.xz"
+checksum=68fd3f0508b6df69b5736d7e142509131f3728630abdcd432a06430e5ca8920c
+
+qt6-webchannel-devel_package() {
+ depends="${sourcepkg}>=${version}_${revision} qt6-base-devel>=${version}_1
+ qt6-websockets-devel>=${version}_1"
+ short_desc+=" - development files"
+ pkg_install() {
+ vmove usr/include
+ vmove usr/lib/cmake
+ vmove usr/lib/qt6/mkspecs
+ vmove "usr/lib/*.so"
+ vmove "usr/lib/*.prl"
+ }
+}
From 0dd36f8635e032ca87f03eab1cc64831b791fb01 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 26 Jun 2021 21:08:25 +0200
Subject: [PATCH 23/25] New package: qt6-multimedia-6.2.0alpha
---
srcpkgs/qt6-multimedia-devel | 1 +
srcpkgs/qt6-multimedia/template | 29 +++++++++++++++++++++++++++++
2 files changed, 30 insertions(+)
create mode 120000 srcpkgs/qt6-multimedia-devel
create mode 100644 srcpkgs/qt6-multimedia/template
diff --git a/srcpkgs/qt6-multimedia-devel b/srcpkgs/qt6-multimedia-devel
new file mode 120000
index 000000000000..9343446502d0
--- /dev/null
+++ b/srcpkgs/qt6-multimedia-devel
@@ -0,0 +1 @@
+qt6-multimedia
\ No newline at end of file
diff --git a/srcpkgs/qt6-multimedia/template b/srcpkgs/qt6-multimedia/template
new file mode 100644
index 000000000000..41a25959361e
--- /dev/null
+++ b/srcpkgs/qt6-multimedia/template
@@ -0,0 +1,29 @@
+# Template file for 'qt6-multimedia'
+pkgname=qt6-multimedia
+version=6.2.0alpha
+revision=1
+wrksrc="qtmultimedia-everywhere-src-${version/alpha/-alpha}"
+build_style=cmake
+configure_args="-DQT_HOST_PATH=/usr -DQT_FEATURE_gstreamer=ON"
+hostmakedepends="perl qt6-declarative-devel pkg-config
+ qt6-shadertools-devel"
+makedepends="qt6-declarative-devel qt6-quickcontrols2-devel
+ qt6-shadertools-devel libglib-devel gst-plugins-base1-devel"
+short_desc="Cross-platform application and UI framework - multimedia"
+maintainer="John <me@johnnynator.dev>"
+license="(LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only) AND GPL-3.0-only with Qt-GPL-exception-1.0"
+homepage="https://qt.io/"
+distfiles="http://download.qt.io/development_releases/qt/${version%.*}/${version/alpha/-alpha}/submodules/qtmultimedia-everywhere-src-${version/alpha/-alpha}.tar.xz"
+checksum=9241fe9456c04ba1feaffd74883d37155c0218baf8aa9fc3dd54642791f378cd
+
+qt6-multimedia-devel_package() {
+ depends="${sourcepkg}>=${version}_${revision} qt6-base-devel>=${version}_1"
+ short_desc+=" - development files"
+ pkg_install() {
+ vmove usr/include
+ vmove usr/lib/cmake
+ vmove usr/lib/qt6/mkspecs
+ vmove "usr/lib/*.so"
+ vmove "usr/lib/*.prl"
+ }
+}
From c58ed734db40dc0aa08b551c0b53be44c517f2ce Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 27 Jun 2021 00:35:33 +0200
Subject: [PATCH 24/25] New package: qt6-webengine-6.2.0alpha
---
srcpkgs/qt6-webengine-devel | 1 +
srcpkgs/qt6-webengine/files/resolv_compat.h | 29 ++
...-compilation-support-to-cmake-builds.patch | 474 ++++++++++++++++++
.../patches/0001-mus-cstring.patch | 10 +
...use-target-C-XX-FLAGS-for-host-cmake.patch | 26 +
.../patches/0002-None-no-debug.patch | 11 +
...reg.h-to-get-__WORDSIZE-on-musl-libc.patch | 26 +
.../patches/0003-musl-dispatch-to-musl.patch | 103 ++++
.../patches/0004-musl-no-mallinfo.patch | 39 ++
.../patches/0005-musl-off_t.patch | 10 +
.../patches/0006-musl-pread-pwrite.patch | 18 +
.../patches/0008-musl-resolve.patch | 26 +
.../patches/0009-musl-siginfo_t.patch | 18 +
.../patches/0010-musl-stackstart.patch | 20 +
.../patches/0011-musl-sandbox.patch | 71 +++
...0012-musl-chromium-default-stacksize.patch | 15 +
.../0014-musl-cross-no-asm_ptrace_h.patch | 30 ++
.../patches/0015-no-glibc-cmake-check.patch | 14 +
.../patches/0016-qt-musl-execinfo.patch | 106 ++++
.../0017-qt-musl-thread-stacksize.patch | 26 +
.../patches/0018-sandbox-membarrier.patch | 60 +++
.../patches/0020-msgvec-push_back.patch | 14 +
.../patches/0021-sandbox-sched_getparam.patch | 26 +
.../0022-canonicalize-file-name-musl.patch | 11 +
.../patches/0089-enable-ppc64.patch | 37 ++
.../qt6-webengine/patches/0110-size_t.patch | 16 +
.../patches/0111-armv7l-neon.patch | 10 +
.../patches/0112-arm-user_vfp.patch | 20 +
.../patches/0113-arm-elf_auxv_t.patch | 18 +
.../qt6-webengine/patches/0114-time64.patch | 89 ++++
.../patches/0121-glibc-2.33.patch | 144 ++++++
srcpkgs/qt6-webengine/template | 93 ++++
32 files changed, 1611 insertions(+)
create mode 120000 srcpkgs/qt6-webengine-devel
create mode 100644 srcpkgs/qt6-webengine/files/resolv_compat.h
create mode 100644 srcpkgs/qt6-webengine/patches/0001-Add-cross-compilation-support-to-cmake-builds.patch
create mode 100644 srcpkgs/qt6-webengine/patches/0001-mus-cstring.patch
create mode 100644 srcpkgs/qt6-webengine/patches/0002-Do-not-use-target-C-XX-FLAGS-for-host-cmake.patch
create mode 100644 srcpkgs/qt6-webengine/patches/0002-None-no-debug.patch
create mode 100644 srcpkgs/qt6-webengine/patches/0002-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch
create mode 100644 srcpkgs/qt6-webengine/patches/0003-musl-dispatch-to-musl.patch
create mode 100644 srcpkgs/qt6-webengine/patches/0004-musl-no-mallinfo.patch
create mode 100644 srcpkgs/qt6-webengine/patches/0005-musl-off_t.patch
create mode 100644 srcpkgs/qt6-webengine/patches/0006-musl-pread-pwrite.patch
create mode 100644 srcpkgs/qt6-webengine/patches/0008-musl-resolve.patch
create mode 100644 srcpkgs/qt6-webengine/patches/0009-musl-siginfo_t.patch
create mode 100644 srcpkgs/qt6-webengine/patches/0010-musl-stackstart.patch
create mode 100644 srcpkgs/qt6-webengine/patches/0011-musl-sandbox.patch
create mode 100644 srcpkgs/qt6-webengine/patches/0012-musl-chromium-default-stacksize.patch
create mode 100644 srcpkgs/qt6-webengine/patches/0014-musl-cross-no-asm_ptrace_h.patch
create mode 100644 srcpkgs/qt6-webengine/patches/0015-no-glibc-cmake-check.patch
create mode 100644 srcpkgs/qt6-webengine/patches/0016-qt-musl-execinfo.patch
create mode 100644 srcpkgs/qt6-webengine/patches/0017-qt-musl-thread-stacksize.patch
create mode 100644 srcpkgs/qt6-webengine/patches/0018-sandbox-membarrier.patch
create mode 100644 srcpkgs/qt6-webengine/patches/0020-msgvec-push_back.patch
create mode 100644 srcpkgs/qt6-webengine/patches/0021-sandbox-sched_getparam.patch
create mode 100644 srcpkgs/qt6-webengine/patches/0022-canonicalize-file-name-musl.patch
create mode 100644 srcpkgs/qt6-webengine/patches/0089-enable-ppc64.patch
create mode 100644 srcpkgs/qt6-webengine/patches/0110-size_t.patch
create mode 100644 srcpkgs/qt6-webengine/patches/0111-armv7l-neon.patch
create mode 100644 srcpkgs/qt6-webengine/patches/0112-arm-user_vfp.patch
create mode 100644 srcpkgs/qt6-webengine/patches/0113-arm-elf_auxv_t.patch
create mode 100644 srcpkgs/qt6-webengine/patches/0114-time64.patch
create mode 100644 srcpkgs/qt6-webengine/patches/0121-glibc-2.33.patch
create mode 100644 srcpkgs/qt6-webengine/template
diff --git a/srcpkgs/qt6-webengine-devel b/srcpkgs/qt6-webengine-devel
new file mode 120000
index 000000000000..8e4d1b99c587
--- /dev/null
+++ b/srcpkgs/qt6-webengine-devel
@@ -0,0 +1 @@
+qt6-webengine
\ No newline at end of file
diff --git a/srcpkgs/qt6-webengine/files/resolv_compat.h b/srcpkgs/qt6-webengine/files/resolv_compat.h
new file mode 100644
index 000000000000..4f0e852a19d0
--- /dev/null
+++ b/srcpkgs/qt6-webengine/files/resolv_compat.h
@@ -0,0 +1,29 @@
+#if !defined(__GLIBC__)
+/***************************************************************************
+ * resolv_compat.h
+ *
+ * Mimick GLIBC's res_ninit() and res_nclose() for musl libc
+ * Note: res_init() is actually deprecated according to
+ * http://docs.oracle.com/cd/E36784_01/html/E36875/res-nclose-3resolv.html
+ **************************************************************************/
+#include <string.h>
+
+static inline int res_ninit(res_state statp)
+{
+ int rc = res_init();
+ if (statp != &_res) {
+ memcpy(statp, &_res, sizeof(*statp));
+ }
+ return rc;
+}
+
+static inline int res_nclose(res_state statp)
+{
+ if (!statp)
+ return -1;
+ if (statp != &_res) {
+ memset(statp, 0, sizeof(*statp));
+ }
+ return 0;
+}
+#endif
diff --git a/srcpkgs/qt6-webengine/patches/0001-Add-cross-compilation-support-to-cmake-builds.patch b/srcpkgs/qt6-webengine/patches/0001-Add-cross-compilation-support-to-cmake-builds.patch
new file mode 100644
index 000000000000..c70f219e5f4d
--- /dev/null
+++ b/srcpkgs/qt6-webengine/patches/0001-Add-cross-compilation-support-to-cmake-builds.patch
@@ -0,0 +1,474 @@
+From 7a22a424ff2997f644d930050635db214c068d10 Mon Sep 17 00:00:00 2001
+From: Michal Klocek <michal.klocek@qt.io>
+Date: Sun, 23 May 2021 17:39:28 +0200
+Subject: [PATCH 1/2] Add cross compilation support to cmake builds
+
+Add arm cross-compile basic support. CMake does not
+support host builds. However we do host build with gn and
+changing that would require an extra effort to keep all necessary
+changes with Chromium upstream. Therefore let gn to perform
+the host build for required tools and just feed gn with all the
+build data.
+
+Add new build steps:
+
+* install gn into QT_HOST_PATH/libexec.
+* run hostBuild project to get native architecture and compiler
+* call PkgConfigHost to pass pkg-config paths to gn
+* create wrapper script for host pkg-config to escape
+ yocto shell pkg config exports
+
+This change also splits gn toolchain into 3 toolchains host,target,v8
+Now hostBuild provides host and v8 toolchain in case of cross compile.
+
+The build optimizations will follow in another patch.
+
+Note this is tested only with yocto based images.
+
+Pick-to: dev
+Task-number: QTBUG-91760
+Change-Id: Ic2bea12229acc71fbd36a848e9ed4fed7e14b485
+---
+ CMakeLists.txt | 37 ++++++++++++++++--
+ cmake/FindGn.cmake | 9 +++--
+ cmake/FindNinja.cmake | 4 +-
+ cmake/FindPkgConfigHost.cmake | 40 ++++++++++++++++++++
+ cmake/Functions.cmake | 45 ++++++++++++++++++++++
+ configure.cmake | 10 ++++-
+ src/core/CMakeLists.txt | 48 ++++++++++++++++++------
+ src/core/api/configure.cmake | 10 ++---
+ src/core/configure/BUILD.toolchain.gn.in | 32 ++--------------
+ src/core/configure/CMakeLists.txt | 35 +++++++++++++++++
+ 10 files changed, 215 insertions(+), 55 deletions(-)
+ create mode 100644 cmake/FindPkgConfigHost.cmake
+ create mode 100644 src/core/configure/CMakeLists.txt
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8a3ff75c..2a93dca5 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -63,6 +63,7 @@ add_subdirectory(src/process)
+ add_subdirectory(src/webenginewidgets)
+ add_subdirectory(src/webenginequick)
+ qt_build_repo_end()
++get_install_config(installConfig)
+
+ ### NINJA
+
+@@ -94,9 +95,10 @@ if(NOT Gn_FOUND)
+ -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
+ -DCMAKE_PREFIX_PATH:PATH=<INSTALL_DIR>
+ -DWEBENGINE_ROOT_BUILD_DIR=${CMAKE_CURRENT_BINARY_DIR}
+-)
++ )
+ endif()
+
++
+ ### LIBS
+
+ # on windows source path can be specified without hard drive letter,
+@@ -115,12 +117,14 @@ endif()
+ list(TRANSFORM featureList PREPEND "-D")
+ list(APPEND libsCmakeArgs
+ "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}"
+- "-DWEBENGINE_ROOT_BUILD_PATH=${CMAKE_CURRENT_BINARY_DIR}"
++ "-DWEBENGINE_ROOT_BUILD_DIR=${CMAKE_CURRENT_BINARY_DIR}"
+ "-DWEBENGINE_ROOT_SOURCE_DIR=${WEBENGINE_ROOT_SOURCE_DIR}"
+ "-DWEBENGINE_REPO_BUILD=TRUE"
+ "${featureList}"
+ )
+-
++if(QT_HOST_PATH)
++ list(APPEND libsCmakeArgs "-DQT_HOST_PATH=${QT_HOST_PATH}")
++endif()
+ if(LINUX)
+ set(cmd "${CMAKE_COMMAND} --build ${CMAKE_CURRENT_BINARY_DIR}/src")
+ file(GENERATE OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/src/build.sh CONTENT "ulimit -n 4096 && ${cmd}\n")
+@@ -210,3 +214,30 @@ if(NOT QT_FEATURE_framework)
+ DESTINATION ${CMAKE_INSTALL_PREFIX}
+ )
+ endif()
++
++### CROSS BUILD SETUP
++
++# install gn for cross build
++# TODO: is this really needed, should we skip it and just build gn as host build ?
++if(LINUX AND NOT Gn_FOUND OR INSTALL_GN)
++ set(INSTALL_GN 1 CACHE INTERNAL "")
++ install(
++ PROGRAMS ${installDir}/bin/gn
++ CONFIGURATIONS ${installConfig}
++ RUNTIME DESTINATION "${INSTALL_LIBEXECDIR}"
++ )
++endif()
++
++if(CMAKE_CROSSCOMPILING)
++ externalproject_add(hostBuild
++ SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/src/core/configure
++ BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/configure
++ PREFIX cross
++ USES_TERMINAL_BUILD ON
++ CMAKE_ARGS -DCMAKE_TOOLCHAIN_FILE=${QT_HOST_PATH}/lib/cmake/Qt6/qt.toolchain.cmake
++ -DWEBENGINE_ROOT_BUILD_DIR=${CMAKE_CURRENT_BINARY_DIR}
++ -DWEBENGINE_ROOT_SOURCE_DIR=${WEBENGINE_ROOT_SOURCE_DIR}
++ -DGN_TARGET_CPU=${TEST_architecture_arch}
++ )
++ externalproject_add_stepdependencies(libs install hostBuild)
++endif()
+diff --git a/cmake/FindGn.cmake b/cmake/FindGn.cmake
+index 12a90778..abfa0fe2 100644
+--- a/cmake/FindGn.cmake
++++ b/cmake/FindGn.cmake
+@@ -1,9 +1,10 @@
+ if (NOT DEFINED WEBENGINE_ROOT_BUILD_DIR)
+- set(WEBENGINE_ROOT_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/../..)
++ set(WEBENGINE_ROOT_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR})
++endif()
++find_program(Gn_EXECUTABLE NAMES gn PATHS "${WEBENGINE_ROOT_BUILD_DIR}/install/bin" NO_DEFAULT_PATH)
++if(NOT QT_HOST_PATH STREQUAL "")
++ find_program(Gn_EXECUTABLE NAMES gn PATHS ${QT_HOST_PATH}/${INSTALL_LIBEXECDIR} NO_DEFAULT_PATH)
+ endif()
+-
+-set(CMAKE_PROGRAM_PATH ${WEBENGINE_ROOT_BUILD_DIR}/install/bin)
+-
+ find_program(Gn_EXECUTABLE NAMES gn)
+
+ if(Gn_EXECUTABLE)
+diff --git a/cmake/FindNinja.cmake b/cmake/FindNinja.cmake
+index 3615d58b..720e7326 100644
+--- a/cmake/FindNinja.cmake
++++ b/cmake/FindNinja.cmake
+@@ -1,8 +1,8 @@
+ if (NOT DEFINED WEBENGINE_ROOT_BUILD_DIR)
+- set(WEBENGINE_ROOT_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/..)
++ set(WEBENGINE_ROOT_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR})
+ endif()
+
+-set(CMAKE_PROGRAM_PATH ${WEBENGINE_ROOT_BUILD_DIR}/install/bin)
++find_program(Ninja_EXECUTABLE NAMES ninja ninja-build PATHS "${WEBENGINE_ROOT_BUILD_DIR}/install/bin" NO_DEFAULT_PATH)
+ find_program(Ninja_EXECUTABLE NAMES ninja ninja-build)
+
+ if(Ninja_EXECUTABLE)
+diff --git a/cmake/FindPkgConfigHost.cmake b/cmake/FindPkgConfigHost.cmake
+new file mode 100644
+index 00000000..de021638
+--- /dev/null
++++ b/cmake/FindPkgConfigHost.cmake
+@@ -0,0 +1,40 @@
++# this is just simply pkg config wrapper to pass executable path to gn
++
++if(CMAKE_CROSSCOMPILING)
++ # find pkg-config, use PKG_CONFIG_HOST if set
++ if((NOT PKG_CONFIG_HOST_EXECUTABLE) AND (NOT "$ENV{PKG_CONFIG_HOST}" STREQUAL ""))
++ set(PKG_CONFIG_HOST_EXECUTABLE "$ENV{PKG_CONFIG_HOST}" CACHE FILEPATH "pkg-config host executable")
++ endif()
++
++ find_program(PKG_CONFIG_HOST_EXECUTABLE NAMES "pkg-config" DOC "pkg-config executable"
++ NO_SYSTEM_ENVIRONMENT_PATH
++ NO_CMAKE_FIND_ROOT_PATH
++ )
++
++ if(PKG_CONFIG_HOST_EXECUTABLE)
++ mark_as_advanced(PKG_CONFIG_HOST_EXECUTABLE)
++ execute_process(COMMAND ${PKG_CONFIG_HOST_EXECUTABLE} --version
++ OUTPUT_VARIABLE PKG_CONFIG_HOST_VERSION_STRING
++ OUTPUT_STRIP_TRAILING_WHITESPACE
++ ERROR_QUIET)
++ endif ()
++
++ include(FindPackageHandleStandardArgs)
++ find_package_handle_standard_args(PkgConfigHost
++ FOUND_VAR PkgConfigHost_FOUND
++ VERSION_VAR PKG_CONFIG_HOST_VERSION_STRING
++ REQUIRED_VARS PKG_CONFIG_HOST_EXECUTABLE
++ )
++else() # if not corss build simply wrap FindPkgConfig
++ find_package(PkgConfig)
++ if(PKG_CONFIG_FOUND)
++ include(FindPackageHandleStandardArgs)
++ set(PKG_CONFIG_HOST_VERSION ${PKG_CONFIG_VERSION})
++ set(PKG_CONFIG_HOST_EXECUTABLE ${PKG_CONFIG_EXECUTABLE})
++ find_package_handle_standard_args(PkgConfigHost
++ FOUND_VAR PkgConfigHost_FOUND
++ VERSION_VAR PKG_CONFIG_HOST_VERSION_STRING
++ REQUIRED_VARS PKG_CONFIG_HOST_EXECUTABLE
++ )
++ endif()
++endif()
+diff --git a/cmake/Functions.cmake b/cmake/Functions.cmake
+index d29ed7a4..3cdfdee9 100644
+--- a/cmake/Functions.cmake
++++ b/cmake/Functions.cmake
+@@ -348,3 +348,48 @@ function(qt_internal_add_external_project_dependency_to_root_project name)
+
+ cmake_policy(POP)
+ endfunction()
++
++function(get_gn_arch result arch)
++ if("${arch}" STREQUAL "i386")
++ set(${result} "x86" PARENT_SCOPE)
++ elseif("${arch}" STREQUAL "x86_64")
++ set(${result} "x64" PARENT_SCOPE)
++ elseif("${arch}" STREQUAL "arm")
++ set(${result} "arm" PARENT_SCOPE)
++ elseif("${arch}" STREQUAL "arm64")
++ set(${result} "arm64" PARENT_SCOPE)
++ elseif("${arch}" STREQUAL "mipsel")
++ set(${result} "mipsel" PARENT_SCOPE)
++ elseif("${arch}" STREQUAL "mipsel64")
++ set(${result} "mips64el" PARENT_SCOPE)
++ else()
++ message(DEBUG "Unsupported achitecture: ${arch}")
++ endif()
++endfunction()
++
++function(get_v8_arch result targetArch)
++ set(list32 i386 arm mipsel)
++ if("${targetArch}" IN_LIST list32)
++ set(${result} "i386" PARENT_SCOPE)
++ else()
++ set(${result} "x86_64" PARENT_SCOPE)
++ endif()
++endfunction()
++
++function(configure_gn_toolchain name cpuType v8CpuType toolchainIn toolchainOut)
++ set(GN_TOOLCHAIN ${name})
++ get_gn_arch(GN_CPU ${cpuType})
++ get_gn_arch(GN_V8_CPU ${v8CpuType})
++ configure_file(${toolchainIn} ${toolchainOut}/BUILD.gn @ONLY)
++endfunction()
++
++function(create_pkg_config_host_wrapper wrapperName wrapperCmd)
++ file(WRITE ${wrapperName}
++ "#!/bin/sh\n"
++ "unset PKG_CONFIG_LIBDIR\n"
++ "unset PKG_CONFIG_PATH\n"
++ "unset PKG_CONFIG_SYSROOT_DIR\n"
++ "exec ${wrapperCmd} \"$@\""
++ )
++ file(CHMOD ${wrapperName} PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE)
++endfunction()
+diff --git a/configure.cmake b/configure.cmake
+index 53392313..2a8552d7 100644
+--- a/configure.cmake
++++ b/configure.cmake
+@@ -333,9 +333,17 @@ endif()
+ assertTargets(webEngineError webEngineSupport Gui Widgets OpenGL OpenGLWidgets Quick Qml)
+ add_check_for_support(webEngineError webEngineSupport
+ MODULE QtWebEngine
+- CONDITION (LINUX AND NOT CMAKE_CROSSCOMPILING) OR (WIN32 AND NOT WIN_ARM_64) OR (MACOS AND NOT MAC_UNIVERSAL)
++ CONDITION LINUX OR (WIN32 AND NOT WIN_ARM_64) OR (MACOS AND NOT MAC_UNIVERSAL)
+ MESSAGE "Build can be done only on Linux, Windows or macOS."
+ )
++if(LINUX AND CMAKE_CROSSCOMPILING)
++ get_gn_arch(testArch ${TEST_architecture_arch})
++ add_check_for_support(webEngineError webEngineSupport
++ MODULE QtWebEngine
++ CONDITION testArch
++ MESSAGE "Cross compiling is not supported for ${TEST_architecture_arch}."
++ )
++endif()
+ add_check_for_support(webEngineError webEngineSupport
+ MODULE QtWebEngine
+ CONDITION NOT QT_FEATURE_static
+diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
+index fd935fe1..40d7fd8e 100644
+--- a/src/core/CMakeLists.txt
++++ b/src/core/CMakeLists.txt
+@@ -24,6 +24,11 @@ find_package(Nodejs 12.0)
+ find_package(PkgConfig)
+ if(PkgConfig_FOUND)
+ pkg_check_modules(XSCRNSAVER xscrnsaver)
++ find_package(PkgConfigHost)
++ if(CMAKE_CROSSCOMPILING)
++ create_pkg_config_host_wrapper("${buildDir}/pkg-config-host_wrapper.sh" "${PKG_CONFIG_HOST_EXECUTABLE}")
++ set(PKG_CONFIG_HOST_EXECUTABLE "${buildDir}/pkg-config-host_wrapper.sh")
++ endif()
+ endif()
+
+ get_target_property(qtWebEngineProcessName WebEngineCore QTWEBENGINEPROCESS_NAME)
+@@ -36,6 +41,24 @@ else()
+ set(configs ${CMAKE_BUILD_TYPE})
+ endif()
+
++##
++# TOOLCHAIN SETUP
++##
++
++if(LINUX)
++ if(NOT CMAKE_CROSSCOMPILING) # delivered by hostBuild project
++ configure_gn_toolchain(host ${TEST_architecture_arch} ${TEST_architecture_arch}
++ ${WEBENGINE_ROOT_SOURCE_DIR}/src/core/configure/BUILD.toolchain.gn.in
++ ${buildDir}/host_toolchain)
++ configure_gn_toolchain(v8 ${TEST_architecture_arch} ${TEST_architecture_arch}
++ ${WEBENGINE_ROOT_SOURCE_DIR}/src/core/configure/BUILD.toolchain.gn.in
++ ${buildDir}/v8_toolchain)
++ endif()
++ configure_gn_toolchain(target ${TEST_architecture_arch} ${TEST_architecture_arch}
++ ${WEBENGINE_ROOT_SOURCE_DIR}/src/core/configure/BUILD.toolchain.gn.in
++ ${buildDir}/target_toolchain)
++endif()
++
+ foreach(config ${configs})
+
+ ##
+@@ -250,12 +273,6 @@ foreach(config ${configs})
+ configure_gn_target(${buildGn} ${config}
+ ${WEBENGINE_ROOT_SOURCE_DIR}/src/core/configure/BUILD.root.gn.in ${buildDir}/${config}/BUILD.gn)
+
+-##
+-# TOOLCHAIN SETUP
+-##
+-
+- configure_file(${WEBENGINE_ROOT_SOURCE_DIR}/src/core/configure/BUILD.toolchain.gn.in
+- ${buildDir}/${config}/toolchain/BUILD.gn @ONLY)
+
+ ##
+ # GN CALL PARAMETERS SETUP
+@@ -419,6 +436,15 @@ foreach(config ${configs})
+ )
+ endif()
+ if(LINUX)
++ get_gn_arch(cpu ${TEST_architecture_arch})
++ if(CMAKE_CROSSCOMPILING)
++ list(APPEND gnArgArg target_cpu="${cpu}")
++ else()
++ list(APPEND gnArgArg host_cpu="${cpu}")
++ endif()
++ if(CMAKE_SYSROOT)
++ list(APPEND gnArgArg target_sysroot="${CMAKE_SYSROOT}")
++ endif()
+ list(APPEND gnArgArg
+ use_cups=false
+ use_gio=false
+@@ -435,11 +461,11 @@ foreach(config ${configs})
+ ozone_platform_external=true
+ ozone_platform="qt"
+ ozone_extra_path="${CMAKE_CURRENT_LIST_DIR}/ozone/ozone_extra.gni"
+- custom_toolchain="${buildDir}/${config}/toolchain:target"
+- host_toolchain="${buildDir}/${config}/toolchain:host"
+- host_cpu="x64"
+- pkg_config="pkg-config"
+- host_pkg_config="/usr/bin/pkg-config"
++ custom_toolchain="${buildDir}/target_toolchain:target"
++ host_toolchain="${buildDir}/host_toolchain:host"
++ v8_snapshot_toolchain="${buildDir}/v8_toolchain:v8"
++ pkg_config="${PKG_CONFIG_EXECUTABLE}"
++ host_pkg_config="${PKG_CONFIG_HOST_EXECUTABLE}"
+ use_glib=false
+ )
+ set(systemLibs libjpeg libpng freetype harfbuzz libevent libwebp libxml
+diff --git a/src/core/api/configure.cmake b/src/core/api/configure.cmake
+index 35d28e87..0cf46bf0 100644
+--- a/src/core/api/configure.cmake
++++ b/src/core/api/configure.cmake
+@@ -143,11 +143,11 @@ qt_configure_add_summary_entry(
+ CONDITION UNIX
+ )
+ qt_configure_end_summary_section() # end of "Qt WebEngineCore" section
+-qt_configure_add_report_entry(
+- TYPE WARNING
+- MESSAGE "Thumb instruction set is required to build ffmpeg for QtWebEngine."
+- CONDITION LINUX AND QT_FEATURE_webengine_embedded_build AND NOT QT_FEATURE_webengine_system_ffmpeg AND ( TEST_architecture_arch STREQUAL arm ) AND NOT QT_FEATURE_webengine_arm_thumb
+-)
++#qt_configure_add_report_entry(
++# TYPE WARNING
++# MESSAGE "Thumb instruction set is required to build ffmpeg for QtWebEngine."
++# CONDITION LINUX AND QT_FEATURE_webengine_embedded_build AND NOT QT_FEATURE_webengine_system_ffmpeg AND ( TEST_architecture_arch STREQUAL arm ) AND NOT QT_FEATURE_webengine_arm_thumb
++#)
+ qt_configure_add_report_entry(
+ TYPE WARNING
+ MESSAGE "V8 snapshot cannot be built. Most likely, the 32-bit host compiler does not work. Please make sure you have 32-bit devel environment installed."
+diff --git a/src/core/configure/BUILD.toolchain.gn.in b/src/core/configure/BUILD.toolchain.gn.in
+index e44fa42d..c1bf3845 100644
+--- a/src/core/configure/BUILD.toolchain.gn.in
++++ b/src/core/configure/BUILD.toolchain.gn.in
+@@ -1,6 +1,6 @@
+ import("//build/config/sysroot.gni")
+ import("//build/toolchain/gcc_toolchain.gni")
+-gcc_toolchain("host") {
++gcc_toolchain("@GN_TOOLCHAIN@") {
+ cc = "@CMAKE_C_COMPILER@"
+ cxx = "@CMAKE_CXX_COMPILER@"
+ ld = "@CMAKE_CXX_COMPILER@"
+@@ -9,34 +9,8 @@ gcc_toolchain("host") {
+ extra_cppflags = ""
+ toolchain_args = {
+ current_os = "linux"
+- current_cpu = "x64"
+- is_clang = false
+- use_gold = false
+- }
+-}
+-gcc_toolchain("v8_snapshot") {
+- cc = "@CMAKE_C_COMPILER@"
+- cxx = "@CMAKE_CXX_COMPILER@"
+- ld = "@CMAKE_CXX_COMPILER@"
+- ar = "@CMAKE_AR@"
+- nm = "@CMAKE_NM@"
+- toolchain_args = {
+- current_os = "linux"
+- current_cpu = "x64"
+- v8_current_cpu = "x64"
+- is_clang = false
+- use_gold = false
+- }
+- }
+-gcc_toolchain("target") {
+- cc = "@CMAKE_C_COMPILER@"
+- cxx = "@CMAKE_CXX_COMPILER@"
+- ld = "@CMAKE_CXX_COMPILER@"
+- ar = "@CMAKE_AR@"
+- nm = "@CMAKE_NM@"
+- toolchain_args = {
+- current_os = "linux"
+- current_cpu = "x64"
++ current_cpu = "@GN_CPU@"
++ v8_current_cpu = "@GN_V8_CPU@"
+ is_clang = false
+ use_gold = false
+ }
+diff --git a/src/core/configure/CMakeLists.txt b/src/core/configure/CMakeLists.txt
+new file mode 100644
+index 00000000..0ae4b4b4
+--- /dev/null
++++ b/src/core/configure/CMakeLists.txt
+@@ -0,0 +1,35 @@
++cmake_minimum_required(VERSION 3.19)
++
++if(NOT DEFINED WEBENGINE_ROOT_SOURCE_DIR)
++ get_filename_component(WEBENGINE_ROOT_SOURCE_DIR "${CMAKE_CURRENT_LIST_DIR}/../../.." REALPATH)
++endif()
++if (NOT DEFINED WEBENGINE_ROOT_BUILD_DIR)
++ get_filename_component(WEBENGINE_ROOT_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/../../.." REALPATH)
++endif()
++
++include(${WEBENGINE_ROOT_SOURCE_DIR}/.cmake.conf)
++include(${WEBENGINE_ROOT_SOURCE_DIR}/cmake/Functions.cmake)
++
++set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${WEBENGINE_ROOT_SOURCE_DIR}/cmake")
++
++project(QtWebEngineConfigure
++ VERSION "${QT_REPO_MODULE_VERSION}"
++ LANGUAGES CXX C)
++
++find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS BuildInternals Core)
++
++set(buildDir ${CMAKE_CURRENT_BINARY_DIR})
++configure_gn_toolchain(host ${TEST_architecture_arch} ${TEST_architecture_arch}
++ ${WEBENGINE_ROOT_SOURCE_DIR}/src/core/configure/BUILD.toolchain.gn.in
++ ${buildDir}/host_toolchain
++)
++install(FILES ${buildDir}/host_toolchain/BUILD.gn
++ DESTINATION ${WEBENGINE_ROOT_BUILD_DIR}/src/core/host_toolchain
++ )
++get_v8_arch(GN_V8_HOST_CPU ${GN_TARGET_CPU})
++configure_gn_toolchain(v8 ${GN_V8_HOST_CPU} ${GN_TARGET_CPU}
++ ${WEBENGINE_ROOT_SOURCE_DIR}/src/core/configure/BUILD.toolchain.gn.in
++ ${buildDir}/v8_toolchain)
++install(FILES ${buildDir}/v8_toolchain/BUILD.gn
++ DESTINATION ${WEBENGINE_ROOT_BUILD_DIR}/src/core/v8_toolchain
++)
+--
+2.32.0
+
diff --git a/srcpkgs/qt6-webengine/patches/0001-mus-cstring.patch b/srcpkgs/qt6-webengine/patches/0001-mus-cstring.patch
new file mode 100644
index 000000000000..d4b22c77ce96
--- /dev/null
+++ b/srcpkgs/qt6-webengine/patches/0001-mus-cstring.patch
@@ -0,0 +1,10 @@
+--- a/src/3rdparty/chromium/mojo/public/cpp/platform/named_platform_channel_posix.cc 2021-03-08 10:30:42.504006604 +0100
++++ - 2021-03-08 10:31:27.415366585 +0100
+@@ -8,6 +8,7 @@
+ #include <sys/socket.h>
+ #include <sys/un.h>
+ #include <unistd.h>
++#include <cstring>
+
+ #include "base/files/file_util.h"
+ #include "base/files/scoped_file.h"
diff --git a/srcpkgs/qt6-webengine/patches/0002-Do-not-use-target-C-XX-FLAGS-for-host-cmake.patch b/srcpkgs/qt6-webengine/patches/0002-Do-not-use-target-C-XX-FLAGS-for-host-cmake.patch
new file mode 100644
index 000000000000..de6d5abb4461
--- /dev/null
+++ b/srcpkgs/qt6-webengine/patches/0002-Do-not-use-target-C-XX-FLAGS-for-host-cmake.patch
@@ -0,0 +1,26 @@
+From 8eece1b0c72bef7319069703031543ddd0ca87ee Mon Sep 17 00:00:00 2001
+From: John Zimmermann <me@johnnynator.dev>
+Date: Sun, 27 Jun 2021 20:35:15 +0200
+Subject: [PATCH 2/2] Do not use target C{XX}FLAGS for host cmake
+
+Change-Id: Ia66d153fa9f1aff63491f6a1ec7380b8bda1e3c7
+---
+ CMakeLists.txt | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 2a93dca5..2a8e6cfb 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -238,6 +238,8 @@ if(CMAKE_CROSSCOMPILING)
+ -DWEBENGINE_ROOT_BUILD_DIR=${CMAKE_CURRENT_BINARY_DIR}
+ -DWEBENGINE_ROOT_SOURCE_DIR=${WEBENGINE_ROOT_SOURCE_DIR}
+ -DGN_TARGET_CPU=${TEST_architecture_arch}
++ -DCMAKE_CXX_FLAGS=$ENV{CXXFLAGS_FOR_BUILD}
++ -DCMAKE_C_FLAGS=$ENV{CFLAGS_FOR_BUILD}
+ )
+ externalproject_add_stepdependencies(libs install hostBuild)
+ endif()
+--
+2.32.0
+
diff --git a/srcpkgs/qt6-webengine/patches/0002-None-no-debug.patch b/srcpkgs/qt6-webengine/patches/0002-None-no-debug.patch
new file mode 100644
index 000000000000..4a428fe03b37
--- /dev/null
+++ b/srcpkgs/qt6-webengine/patches/0002-None-no-debug.patch
@@ -0,0 +1,11 @@
+--- a/src/core/CMakeLists.txt 2021-06-27 14:24:18.812840134 +0200
++++ b/src/core/CMakeLists.txt 2021-06-27 14:51:46.825108637 +0200
+@@ -299,6 +299,8 @@
+ endif()
+ elseif(${config} STREQUAL "MinSizeRel")
+ list(APPEND gnArgArg is_debug=false symbol_level=0 optimize_for_size=true)
++ elseif(${config} STREQUAL "None")
++ list(APPEND gnArgArg is_debug=false symbol_level=0)
+ endif()
+
+ list(APPEND gnArgArg
diff --git a/srcpkgs/qt6-webengine/patches/0002-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch b/srcpkgs/qt6-webengine/patches/0002-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch
new file mode 100644
index 000000000000..da4160b21bd3
--- /dev/null
+++ b/srcpkgs/qt6-webengine/patches/0002-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch
@@ -0,0 +1,26 @@
+From 9001c54d6b974449174a8cee8f3f5d78a9bd6c9e Mon Sep 17 00:00:00 2001
+From: Felix Janda <felix.janda@posteo.de>
+Date: Sun, 1 Feb 2015 14:26:52 +0100
+Subject: [PATCH 3/6] include <sys/reg.h> to get __WORDSIZE on musl libc
+
+---
+ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/common/linux/elf_core_dump.h b/src/common/linux/elf_core_dump.h
+index d03c7a8..02eb391 100644
+--- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h
++++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h
+@@ -36,6 +36,9 @@
+ #include <elf.h>
+ #include <link.h>
+ #include <stddef.h>
++#ifndef __GLIBC__
++#include <sys/reg.h>
++#endif
+
+ #include "common/memory_range.h"
+
+--
+2.0.5
+
diff --git a/srcpkgs/qt6-webengine/patches/0003-musl-dispatch-to-musl.patch b/srcpkgs/qt6-webengine/patches/0003-musl-dispatch-to-musl.patch
new file mode 100644
index 000000000000..de32a3dab95c
--- /dev/null
+++ b/srcpkgs/qt6-webengine/patches/0003-musl-dispatch-to-musl.patch
@@ -0,0 +1,103 @@
+--- qtwebengine/src/3rdparty/chromium/base/allocator/allocator_shim_default_dispatch_to_glibc.cc
+--- qtwebengine/src/3rdparty/chromium/base/allocator/allocator_shim_default_dispatch_to_glibc.cc
+@@ -6,6 +6,7 @@
+
+ #include <malloc.h>
+
++#if defined(__GLIBC__)
+ // This translation unit defines a default dispatch for the allocator shim which
+ // routes allocations to libc functions.
+ // The code here is strongly inspired from tcmalloc's libc_override_glibc.h.
+@@ -73,3 +74,92 @@ const AllocatorDispatch AllocatorDispatch::default_dispatch = {
+ nullptr, /* free_definite_size_function */
+ nullptr, /* next */
+ };
++
++#else // defined(__GLIBC__)
++
++#include <dlfcn.h>
++
++extern "C" {
++// Declare function pointers to the memory functions
++typedef void* (*t_libc_malloc)(size_t size);
++typedef void* (*t_libc_calloc)(size_t n, size_t size);
++typedef void* (*t_libc_realloc)(void* address, size_t size);
++typedef void* (*t_libc_memalign)(size_t alignment, size_t size);
++typedef void (*t_libc_free)(void* ptr);
++typedef size_t (*t_libc_malloc_usable_size)(void* ptr);
++
++// Static instances of pointers to libc.so dl symbols
++static t_libc_malloc libc_malloc = NULL;
++static t_libc_calloc libc_calloc = NULL;
++static t_libc_realloc libc_realloc = NULL;
++static t_libc_memalign libc_memalign = NULL;
++static t_libc_free libc_free = NULL;
++static t_libc_malloc_usable_size libc_malloc_usable_size = NULL;
++
++// resolve the symbols in libc.so
++void musl_libc_memory_init(void)
++{
++ libc_malloc = (t_libc_malloc) dlsym(RTLD_NEXT, "malloc");
++ libc_calloc = (t_libc_calloc) dlsym(RTLD_NEXT, "calloc");
++ libc_realloc = (t_libc_realloc) dlsym(RTLD_NEXT, "realloc");
++ libc_memalign = (t_libc_memalign) dlsym(RTLD_NEXT, "memalign");
++ libc_free = (t_libc_free) dlsym(RTLD_NEXT, "free");
++ libc_malloc_usable_size = (t_libc_malloc_usable_size) dlsym(RTLD_NEXT, "malloc_usable_size");
++}
++} // extern "C"
++
++namespace {
++
++using base::allocator::AllocatorDispatch;
++
++void* MuslMalloc(const AllocatorDispatch*, size_t size, void* context) {
++ if (!libc_malloc)
++ musl_libc_memory_init();
++ return (*libc_malloc)(size);
++}
++
++void* MuslCalloc(const AllocatorDispatch*, size_t n, size_t size, void* context) {
++ if (!libc_calloc)
++ musl_libc_memory_init();
++ return (*libc_calloc)(n, size);
++}
++
++void* MuslRealloc(const AllocatorDispatch*, void* address, size_t size, void* context) {
++ if (!libc_realloc)
++ musl_libc_memory_init();
++ return (*libc_realloc)(address, size);
++}
++
++void* MuslMemalign(const AllocatorDispatch*, size_t alignment, size_t size, void* context) {
++ if (!libc_memalign)
++ musl_libc_memory_init();
++ return (*libc_memalign)(alignment, size);
++}
++
++void MuslFree(const AllocatorDispatch*, void* address, void* context) {
++ if (!libc_free)
++ musl_libc_memory_init();
++ (*libc_free)(address);
++}
++
++size_t MuslGetSizeEstimate(const AllocatorDispatch*, void* address, void* context) {
++ // TODO(siggi, primiano): malloc_usable_size may need redirection in the
++ // presence of interposing shims that divert allocations.
++ if (!libc_malloc_usable_size)
++ musl_libc_memory_init();
++ return (*libc_malloc_usable_size)(address);
++}
++
++} // namespace
++
++const AllocatorDispatch AllocatorDispatch::default_dispatch = {
++ &MuslMalloc, /* alloc_function */
++ &MuslCalloc, /* alloc_zero_initialized_function */
++ &MuslMemalign, /* alloc_aligned_function */
++ &MuslRealloc, /* realloc_function */
++ &MuslFree, /* free_function */
++ &MuslGetSizeEstimate, /* get_size_estimate_function */
++ nullptr, /* next */
++};
++
++#endif
diff --git a/srcpkgs/qt6-webengine/patches/0004-musl-no-mallinfo.patch b/srcpkgs/qt6-webengine/patches/0004-musl-no-mallinfo.patch
new file mode 100644
index 000000000000..36900f907833
--- /dev/null
+++ b/srcpkgs/qt6-webengine/patches/0004-musl-no-mallinfo.patch
@@ -0,0 +1,39 @@
+--- qtwebengine/src/3rdparty/chromium/base/trace_event/malloc_dump_provider.cc 2017-11-28 14:06:53.000000000 +0100
++++ qtwebengine/src/3rdparty/chromium/base/trace_event/malloc_dump_provider.cc 2018-01-27 20:13:26.960932805 +0100
+@@ -243,7 +243,7 @@
+ allocated_objects_count = main_heap_info.block_count;
+ #elif defined(OS_FUCHSIA)
+ // TODO(fuchsia): Port, see https://crbug.com/706592.
+-#else
++#elif defined(__GLIBC__)
+ struct mallinfo info = mallinfo();
+ DCHECK_GE(info.arena + info.hblkhd, info.uordblks);
+
+@@ -255,6 +255,8 @@
+
+ // Total allocated space is given by |uordblks|.
+ allocated_objects_size = info.uordblks;
++#else
++// musl libc does not support mallinfo()
+ #endif
+
+ MemoryAllocatorDump* outer_dump = pmd->CreateAllocatorDump("malloc");
+--- qtwebengine/src/3rdparty/chromium/base/process/process_metrics_posix.cc 2021-02-23 16:36:59.000000000 +0100
++++ - 2021-03-07 21:03:38.579424720 +0100
+@@ -119,14 +119,14 @@
+ malloc_statistics_t stats = {0};
+ malloc_zone_statistics(nullptr, &stats);
+ return stats.size_in_use;
+-#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#elif (defined(OS_LINUX) && defined(__GLIBC__)) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
+ struct mallinfo minfo = mallinfo();
+ #if BUILDFLAG(USE_TCMALLOC)
+ return minfo.uordblks;
+ #else
+ return minfo.hblkhd + minfo.arena;
+ #endif
+-#elif defined(OS_FUCHSIA)
++#else //if defined(OS_FUCHSIA) // also musl doesn't do this.
+ // TODO(fuchsia): Not currently exposed. https://crbug.com/735087.
+ return 0;
+ #endif
diff --git a/srcpkgs/qt6-webengine/patches/0005-musl-off_t.patch b/srcpkgs/qt6-webengine/patches/0005-musl-off_t.patch
new file mode 100644
index 000000000000..52db3b9ebf46
--- /dev/null
+++ b/srcpkgs/qt6-webengine/patches/0005-musl-off_t.patch
@@ -0,0 +1,10 @@
+--- qtwebengine/src/3rdparty/chromium/third_party/ots/include/opentype-sanitiser.h 2016-05-26 14:58:54.000000000 +0200
++++ qtwebengine/src/3rdparty/chromium/third_party/ots/include/opentype-sanitiser.h 2016-10-01 14:31:30.885000000 +0200
+@@ -21,6 +21,7 @@
+ #define htons(x) _byteswap_ushort (x)
+ #else
+ #include <arpa/inet.h>
++#include <sys/types.h>
+ #include <stdint.h>
+ #endif
+
diff --git a/srcpkgs/qt6-webengine/patches/0006-musl-pread-pwrite.patch b/srcpkgs/qt6-webengine/patches/0006-musl-pread-pwrite.patch
new file mode 100644
index 000000000000..00017bba0172
--- /dev/null
+++ b/srcpkgs/qt6-webengine/patches/0006-musl-pread-pwrite.patch
@@ -0,0 +1,18 @@
+--- qtwebengine/src/3rdparty/chromium/third_party/lss/linux_syscall_support.h 2018-09-07 21:25:26.639964100 +0200
++++ qtwebengine/src/3rdparty/chromium/third_party/lss/linux_syscall_support.h 2018-09-07 21:25:11.611964995 +0200
+@@ -1794,6 +1794,15 @@
+ /* End of s390/s390x definitions */
+ #endif
+
++#ifndef __GLIBC__
++ /* For Musl libc pread/pread is the same as pread64/pwrite64 */
++#ifndef __NR_pread
++#define __NR_pread __NR_pread64
++#endif
++#ifndef __NR_pwrite
++#define __NR_pwrite __NR_pwrite64
++#endif
++#endif /* ifndef __GLIBC__ */
+
+ /* After forking, we must make sure to only call system calls. */
+ #if defined(__BOUNDED_POINTERS__)
diff --git a/srcpkgs/qt6-webengine/patches/0008-musl-resolve.patch b/srcpkgs/qt6-webengine/patches/0008-musl-resolve.patch
new file mode 100644
index 000000000000..edfceb79f30a
--- /dev/null
+++ b/srcpkgs/qt6-webengine/patches/0008-musl-resolve.patch
@@ -0,0 +1,26 @@
+--- qtwebengine/src/3rdparty/chromium/net/dns/dns_reloader.cc 2016-11-07 15:46:18.000000000 +0100
++++ qtwebengine/src/3rdparty/chromium/net/dns/dns_reloader.cc 2016-12-20 03:33:11.749059656 +0100
+@@ -9,6 +9,10 @@
+
+ #include <resolv.h>
+
++#if !defined(__GLIBC__)
++#include "resolv_compat.h"
++#endif
++
+ #include "base/lazy_instance.h"
+ #include "base/logging.h"
+ #include "base/macros.h"
+--- qtwebengine/src/3rdparty/chromium/net/dns/dns_config_service_posix.cc 2016-11-07 15:46:18.000000000 +0100
++++ qtwebengine/src/3rdparty/chromium/net/dns/dns_config_service_posix.cc 2016-12-20 03:40:07.671953098 +0100
+@@ -6,6 +6,10 @@
+
+ #include <string>
+
++#if !defined(__GLIBC__)
++#include "resolv_compat.h"
++#endif
++
+ #include "base/bind.h"
+ #include "base/files/file.h"
+ #include "base/files/file_path.h"
diff --git a/srcpkgs/qt6-webengine/patches/0009-musl-siginfo_t.patch b/srcpkgs/qt6-webengine/patches/0009-musl-siginfo_t.patch
new file mode 100644
index 000000000000..fe760be16664
--- /dev/null
+++ b/srcpkgs/qt6-webengine/patches/0009-musl-siginfo_t.patch
@@ -0,0 +1,18 @@
+There's a subtle difference in the internal name of siginfo_t fields
+between glibc and musl. The structure itself is equivalent, so it
+should suffice to add a macro to rename the field.
+
+--- qtwebengine/src/3rdparty/chromium/sandbox/linux/seccomp-bpf/trap.cc 2015-02-17 05:57:43.000000000 +0100
++++ qtwebengine/src/3rdparty/chromium/sandbox/linux/seccomp-bpf/trap.cc 2015-06-03 08:20:25.032716427 +0200
+@@ -22,6 +22,11 @@
+ #include "sandbox/linux/services/android_ucontext.h"
+ #endif
+
++// musl libc defines siginfo_t __si_fields instead of _sifields
++#if !defined(__GLIBC__)
++#define _sifields __si_fields
++#endif
++
+ namespace {
+
+ const int kCapacityIncrement = 20;
diff --git a/srcpkgs/qt6-webengine/patches/0010-musl-stackstart.patch b/srcpkgs/qt6-webengine/patches/0010-musl-stackstart.patch
new file mode 100644
index 000000000000..a9f8ab6c252c
--- /dev/null
+++ b/srcpkgs/qt6-webengine/patches/0010-musl-stackstart.patch
@@ -0,0 +1,20 @@
+--- qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc 2018-01-27 23:08:43.586475349 +0100
++++ qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc 2018-01-27 23:18:22.274505203 +0100
+@@ -28,7 +28,7 @@
+ // FIXME: On Mac OSX and Linux, this method cannot estimate stack size
+ // correctly for the main thread.
+
+-#elif defined(__GLIBC__) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \
++#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \
+ defined(OS_FUCHSIA)
+ // pthread_getattr_np() can fail if the thread is not invoked by
+ // pthread_create() (e.g., the main thread of blink_unittests).
+@@ -96,7 +96,7 @@
+ }
+
+ void* GetStackStart() {
+-#if defined(__GLIBC__) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \
++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \
+ defined(OS_FUCHSIA)
+ pthread_attr_t attr;
+ int error;
diff --git a/srcpkgs/qt6-webengine/patches/0011-musl-sandbox.patch b/srcpkgs/qt6-webengine/patches/0011-musl-sandbox.patch
new file mode 100644
index 000000000000..d3de1e41183d
--- /dev/null
+++ b/srcpkgs/qt6-webengine/patches/0011-musl-sandbox.patch
@@ -0,0 +1,71 @@
+--- qtwebengine/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc 2018-06-15 09:47:20.000000000 +0200
++++ qtwebengine/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc 2018-09-13 19:53:53.453780253 +0200
+@@ -129,7 +129,7 @@
+ // CLONE_VM, nor CLONE_THREAD, which includes all fork() implementations.
+ ResultExpr RestrictCloneToThreadsAndEPERMFork() {
+ const Arg<unsigned long> flags(0);
+-
++#if defined(__GLIBC__)
+ // TODO(mdempsky): Extend DSL to support (flags & ~mask1) == mask2.
+ const uint64_t kAndroidCloneMask = CLONE_VM | CLONE_FS | CLONE_FILES |
+ CLONE_SIGHAND | CLONE_THREAD |
+@@ -148,6 +148,17 @@
+ return If(IsAndroid() ? android_test : glibc_test, Allow())
+ .ElseIf((flags & (CLONE_VM | CLONE_THREAD)) == 0, Error(EPERM))
+ .Else(CrashSIGSYSClone());
++#else
++ const int required = CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND |
++ CLONE_THREAD | CLONE_SYSVSEM;
++ const int safe = CLONE_SETTLS | CLONE_PARENT_SETTID | CLONE_CHILD_CLEARTID |
++ CLONE_DETACHED;
++ const BoolExpr thread_clone_ok = (flags&~safe)==required;
++
++ return If(thread_clone_ok, Allow())
++ .ElseIf((flags & (CLONE_VM | CLONE_THREAD)) == 0, Error(EPERM))
++ .Else(CrashSIGSYSClone());
++#endif
+ }
+
+ ResultExpr RestrictPrctl() {
+--- qtwebengine/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc 2018-06-15 09:47:20.000000000 +0200
++++ qtwebengine/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc 2018-09-13 19:56:31.779773940 +0200
+@@ -375,6 +375,9 @@
+ #if defined(__i386__)
+ case __NR_waitpid:
+ #endif
++#if !defined(__GLIBC__)
++ case __NR_set_tid_address:
++#endif
+ return true;
+ case __NR_clone: // Should be parameter-restricted.
+ case __NR_setns: // Privileged.
+@@ -387,7 +390,9 @@
+ #if defined(__i386__) || defined(__x86_64__) || defined(__mips__)
+ case __NR_set_thread_area:
+ #endif
++#if defined(__GLIBC__)
+ case __NR_set_tid_address:
++#endif
+ case __NR_unshare:
+ #if !defined(__mips__) && !defined(__aarch64__)
+ case __NR_vfork:
+@@ -496,6 +501,9 @@
+ case __NR_mlock:
+ case __NR_munlock:
+ case __NR_munmap:
++#if !defined(__GLIBC__)
++ case __NR_mremap:
++#endif
+ return true;
+ case __NR_madvise:
+ case __NR_mincore:
+@@ -511,7 +519,9 @@
+ case __NR_modify_ldt:
+ #endif
+ case __NR_mprotect:
++#if defined(__GLIBC__)
+ case __NR_mremap:
++#endif
+ case __NR_msync:
+ case __NR_munlockall:
+ case __NR_readahead:
diff --git a/srcpkgs/qt6-webengine/patches/0012-musl-chromium-default-stacksize.patch b/srcpkgs/qt6-webengine/patches/0012-musl-chromium-default-stacksize.patch
new file mode 100644
index 000000000000..7bf5a22fba71
--- /dev/null
+++ b/srcpkgs/qt6-webengine/patches/0012-musl-chromium-default-stacksize.patch
@@ -0,0 +1,15 @@
+--- qtwebengine/src/3rdparty/chromium/base/threading/platform_thread_linux.cc.orig 2018-09-19 18:05:15.523923703 +0200
++++ qtwebengine/src/3rdparty/chromium/base/threading/platform_thread_linux.cc 2018-09-19 18:08:05.150932454 +0200
+@@ -173,7 +173,12 @@
+
+ size_t GetDefaultThreadStackSize(const pthread_attr_t& attributes) {
+ #if !defined(THREAD_SANITIZER)
++#if defined(__GLIBC__)
+ return 0;
++#else // defined(__GLIBC__)
++ // For Musl libc try with a default stack size of 2 MiB
++ return 2 * 1024 * 1024;
++#endif // !defined(__GLIBC__)
+ #else
+ // ThreadSanitizer bloats the stack heavily. Evidence has been that the
+ // default stack size isn't enough for some browser tests.
diff --git a/srcpkgs/qt6-webengine/patches/0014-musl-cross-no-asm_ptrace_h.patch b/srcpkgs/qt6-webengine/patches/0014-musl-cross-no-asm_ptrace_h.patch
new file mode 100644
index 000000000000..140742f72c25
--- /dev/null
+++ b/srcpkgs/qt6-webengine/patches/0014-musl-cross-no-asm_ptrace_h.patch
@@ -0,0 +1,30 @@
+--- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc 2018-08-27 10:21:31.000000000 +0200
++++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc 2018-11-22 00:41:58.522477559 +0100
+@@ -38,7 +38,12 @@
+
+ #include "client/linux/minidump_writer/linux_ptrace_dumper.h"
+
++#if defined(__GLIBC__)
+ #include <asm/ptrace.h>
++#else
++/* For arm*-musl this definition is missing */
++#define ARM_sp uregs[13]
++#endif
+ #include <assert.h>
+ #include <errno.h>
+ #include <fcntl.h>
+--- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc 2018-08-27 10:21:31.000000000 +0200
++++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc 2018-11-22 00:49:39.533492245 +0100
+@@ -32,7 +32,12 @@
+
+ #include "client/linux/minidump_writer/linux_core_dumper.h"
+
++#if defined(__GLIBC__)
+ #include <asm/ptrace.h>
++#else
++/* For arm*-musl this definition is missing */
++#define ARM_sp uregs[13]
++#endif
+ #include <assert.h>
+ #include <elf.h>
+ #include <stdio.h>
diff --git a/srcpkgs/qt6-webengine/patches/0015-no-glibc-cmake-check.patch b/srcpkgs/qt6-webengine/patches/0015-no-glibc-cmake-check.patch
new file mode 100644
index 000000000000..f6c3aadb8421
--- /dev/null
+++ b/srcpkgs/qt6-webengine/patches/0015-no-glibc-cmake-check.patch
@@ -0,0 +1,14 @@
+--- a/configure.cmake 2021-06-21 23:31:04.000000000 +0200
++++ - 2021-06-27 16:16:32.873528917 +0200
+@@ -373,11 +373,6 @@
+ )
+ add_check_for_support(webEngineError webEngineSupport
+ MODULE QtWebEngine
+- CONDITION NOT LINUX OR TEST_glibc
+- MESSAGE "A suitable version >= 2.17 of glibc is required."
+-)
+-add_check_for_support(webEngineError webEngineSupport
+- MODULE QtWebEngine
+ CONDITION NOT LINUX OR TEST_khr
+ MESSAGE "Build requires Khronos development headers for build - see mesa/libegl1-mesa-dev"
+ )
diff --git a/srcpkgs/qt6-webengine/patches/0016-qt-musl-execinfo.patch b/srcpkgs/qt6-webengine/patches/0016-qt-musl-execinfo.patch
new file mode 100644
index 000000000000..608dd0b4e078
--- /dev/null
+++ b/srcpkgs/qt6-webengine/patches/0016-qt-musl-execinfo.patch
@@ -0,0 +1,106 @@
+--- qtwebengine/src/3rdparty/chromium//base/debug/stack_trace_posix.cc.orig 2019-04-09 09:31:16.000000000 +0200
++++ qtwebengine/src/3rdparty/chromium//base/debug/stack_trace_posix.cc 2019-05-06 23:16:13.245502467 +0200
+@@ -27,7 +27,7 @@
+ #if !defined(USE_SYMBOLIZE)
+ #include <cxxabi.h>
+ #endif
+-#if !defined(__UCLIBC__) && !defined(_AIX)
++#if defined(__GLIBC__) && !defined(_AIX)
+ #include <execinfo.h>
+ #endif
+
+@@ -86,7 +86,7 @@
+ // Note: code in this function is NOT async-signal safe (std::string uses
+ // malloc internally).
+
+-#if !defined(__UCLIBC__) && !defined(_AIX)
++#if defined(__GLIBC__) && !defined(_AIX)
+ std::string::size_type search_from = 0;
+ while (search_from < text->size()) {
+ // Look for the start of a mangled symbol, from search_from.
+@@ -121,7 +121,7 @@
+ search_from = mangled_start + 2;
+ }
+ }
+-#endif // !defined(__UCLIBC__) && !defined(_AIX)
++#endif // !defined(__GLIBC__) && !defined(_AIX)
+ }
+ #endif // !defined(USE_SYMBOLIZE)
+
+@@ -133,7 +133,7 @@
+ virtual ~BacktraceOutputHandler() = default;
+ };
+
+-#if !defined(__UCLIBC__) && !defined(_AIX)
++#if defined(__GLIBC__) && !defined(_AIX)
+ void OutputPointer(void* pointer, BacktraceOutputHandler* handler) {
+ // This should be more than enough to store a 64-bit number in hex:
+ // 16 hex digits + 1 for null-terminator.
+@@ -216,7 +216,7 @@
+ }
+ #endif // defined(USE_SYMBOLIZE)
+ }
+-#endif // !defined(__UCLIBC__) && !defined(_AIX)
++#endif // !defined(__GLIBC__) && !defined(_AIX)
+
+ void PrintToStderr(const char* output) {
+ // NOTE: This code MUST be async-signal safe (it's used by in-process
+@@ -812,7 +812,7 @@
+ // NOTE: This code MUST be async-signal safe (it's used by in-process
+ // stack dumping signal handler). NO malloc or stdio is allowed here.
+
+-#if !defined(__UCLIBC__) && !defined(_AIX)
++#if defined(__GLIBC__) && !defined(_AIX)
+ // Though the backtrace API man page does not list any possible negative
+ // return values, we take no chance.
+ return base::saturated_cast<size_t>(backtrace(trace, count));
+@@ -825,13 +825,13 @@
+ // NOTE: This code MUST be async-signal safe (it's used by in-process
+ // stack dumping signal handler). NO malloc or stdio is allowed here.
+
+-#if !defined(__UCLIBC__) && !defined(_AIX)
++#if defined(__GLIBC__) && !defined(_AIX)
+ PrintBacktraceOutputHandler handler;
+ ProcessBacktrace(trace_, count_, prefix_string, &handler);
+ #endif
+ }
+
+-#if !defined(__UCLIBC__) && !defined(_AIX)
++#if defined(__GLIBC__) && !defined(_AIX)
+ void StackTrace::OutputToStreamWithPrefix(std::ostream* os,
+ const char* prefix_string) const {
+ StreamBacktraceOutputHandler handler(os);
+--- qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.cc 2019-04-09 09:31:16.000000000 +0200
++++ - 2019-05-06 23:18:14.923566992 +0200
+@@ -233,7 +233,7 @@
+ }
+ std::string StackTrace::ToStringWithPrefix(const char* prefix_string) const {
+ std::stringstream stream;
+-#if !defined(__UCLIBC__) && !defined(_AIX)
++#if defined(__GLIBC__) && !defined(_AIX)
+ OutputToStreamWithPrefix(&stream, prefix_string);
+ #endif
+ return stream.str();
+--- qtwebengine/src/3rdparty/chromium//base/logging.cc 2017-11-28 14:06:53.000000000 +0100
+--- qtwebengine/src/3rdparty/chromium//base/logging.cc 2018-01-27 22:46:34.970406807 +0100
+@@ -546,7 +546,7 @@
+
+ LogMessage::~LogMessage() {
+ size_t stack_start = stream_.tellp();
+-#if !defined(OFFICIAL_BUILD) && !defined(OS_NACL) && !defined(__UCLIBC__) && \
++#if !defined(OFFICIAL_BUILD) && !defined(OS_NACL) && defined(__GLIBC__) && \
+ !defined(OS_AIX)
+ if (severity_ == LOG_FATAL && !base::debug::BeingDebugged()) {
+ // Include a stack trace on a fatal, unless a debugger is attached.
+--- a/src/3rdparty/chromium/base/debug/stack_trace.cc 2021-06-27 18:17:06.834705848 +0200
++++ - 2021-06-27 18:27:53.014102803 +0200
+@@ -217,7 +217,9 @@
+ }
+
+ void StackTrace::OutputToStream(std::ostream* os) const {
++#if defined(__GLIBC__) && !defined(_AIX)
+ OutputToStreamWithPrefix(os, nullptr);
++#endif
+ }
+
+ std::string StackTrace::ToString() const {
diff --git a/srcpkgs/qt6-webengine/patches/0017-qt-musl-thread-stacksize.patch b/srcpkgs/qt6-webengine/patches/0017-qt-musl-thread-stacksize.patch
new file mode 100644
index 000000000000..496753bef30f
--- /dev/null
+++ b/srcpkgs/qt6-webengine/patches/0017-qt-musl-thread-stacksize.patch
@@ -0,0 +1,26 @@
+diff --git a/src/3rdparty/chromium/ppapi/utility/threading/simple_thread.cc b/src/3rdparty/chromium/ppapi/utility/threading/simple_thread.cc
+index 02bf49b..05ee182 100644
+--- qtwebengine/src/3rdparty/chromium/ppapi/utility/threading/simple_thread.cc
++++ qtwebengine/src/3rdparty/chromium/ppapi/utility/threading/simple_thread.cc
+@@ -13,7 +13,7 @@ namespace pp {
+ namespace {
+
+ // Use 2MB default stack size for Native Client, otherwise use system default.
+-#if defined(__native_client__)
++#if defined(__native_client__) || !defined(__GLIBC__)
+ const size_t kDefaultStackSize = 2 * 1024 * 1024;
+ #else
+ const size_t kDefaultStackSize = 0;
+diff --git a/src/3rdparty/chromium/v8/src/base/platform/platform-posix.cc b/src/3rdparty/chromium/v8/src/base/platform/platform-posix.cc
+index cf7f3ec..e06a5ce 100644
+--- qtwebengine/src/3rdparty/chromium/v8/src/base/platform/platform-posix.cc
++++ qtwebengine/src/3rdparty/chromium/v8/src/base/platform/platform-posix.cc
+@@ -761,7 +761,7 @@ void Thread::Start() {
+ #if V8_OS_MACOSX
+ // Default on Mac OS X is 512kB -- bump up to 1MB
+ stack_size = 1 * 1024 * 1024;
+-#elif V8_OS_AIX
++#elif V8_OS_AIX || !defined(__GLIBC__)
+ // Default on AIX is 96kB -- bump up to 2MB
+ stack_size = 2 * 1024 * 1024;
+ #endif
diff --git a/srcpkgs/qt6-webengine/patches/0018-sandbox-membarrier.patch b/srcpkgs/qt6-webengine/patches/0018-sandbox-membarrier.patch
new file mode 100644
index 000000000000..b73971f24324
--- /dev/null
+++ b/srcpkgs/qt6-webengine/patches/0018-sandbox-membarrier.patch
@@ -0,0 +1,60 @@
+--- qtwebengine/src/3rdparty/chromium//sandbox/linux/system_headers/arm64_linux_syscalls.h
++++ qtwebengine/src/3rdparty/chromium//sandbox/linux/system_headers/arm64_linux_syscalls.h
+@@ -1063,4 +1063,8 @@
+ #define __NR_memfd_create 279
+ #endif
+
++#if !defined(__NR_membarrier)
++#define __NR_membarrier 283
++#endif
++
+ #endif // SANDBOX_LINUX_SYSTEM_HEADERS_ARM64_LINUX_SYSCALLS_H_
+
+--- qtwebengine/src/3rdparty/chromium//sandbox/linux/system_headers/arm_linux_syscalls.h
++++ qtwebengine/src/3rdparty/chromium//sandbox/linux/system_headers/arm_linux_syscalls.h
+@@ -1385,6 +1385,10 @@
+ #define __NR_memfd_create (__NR_SYSCALL_BASE+385)
+ #endif
+
++#if !defined(__NR_membarrier)
++#define __NR_membarrier (__NR_SYSCALL_BASE+389)
++#endif
++
+ // ARM private syscalls.
+ #if !defined(__ARM_NR_BASE)
+ #define __ARM_NR_BASE (__NR_SYSCALL_BASE + 0xF0000)
+
+--- qtwebengine/src/3rdparty/chromium//sandbox/linux/system_headers/x86_32_linux_syscalls.h
++++ qtwebengine/src/3rdparty/chromium//sandbox/linux/system_headers/x86_32_linux_syscalls.h
+@@ -1422,5 +1422,9 @@
+ #define __NR_memfd_create 356
+ #endif
+
++#if !defined(__NR_membarrier)
++#define __NR_membarrier 375
++#endif
++
+ #endif // SANDBOX_LINUX_SYSTEM_HEADERS_X86_32_LINUX_SYSCALLS_H_
+
+--- qtwebengine/src/3rdparty/chromium//sandbox/linux/system_headers/x86_64_linux_syscalls.h
++++ qtwebengine/src/3rdparty/chromium//sandbox/linux/system_headers/x86_64_linux_syscalls.h
+@@ -1290,5 +1290,9 @@
+ #define __NR_memfd_create 319
+ #endif
+
++#if !defined(__NR_membarrier)
++#define __NR_membarrier 324
++#endif
++
+ #endif // SANDBOX_LINUX_SYSTEM_HEADERS_X86_64_LINUX_SYSCALLS_H_
+
+--- qtwebengine/src/3rdparty/chromium//sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
++++ qtwebengine/src/3rdparty/chromium//sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
+@@ -370,6 +370,7 @@
+ switch (sysno) {
+ case __NR_exit:
+ case __NR_exit_group:
++ case __NR_membarrier:
+ case __NR_wait4:
+ case __NR_waitid:
+ #if defined(__i386__)
diff --git a/srcpkgs/qt6-webengine/patches/0020-msgvec-push_back.patch b/srcpkgs/qt6-webengine/patches/0020-msgvec-push_back.patch
new file mode 100644
index 000000000000..75481a2889f4
--- /dev/null
+++ b/srcpkgs/qt6-webengine/patches/0020-msgvec-push_back.patch
@@ -0,0 +1,14 @@
+--- qtwebengine-everywhere-src-5.14.0-beta2/src/3rdparty/chromium/net/socket/udp_socket_posix.cc 2019-10-08 08:27:43.000000000 +0200
++++ - 2019-11-11 22:41:46.699068889 +0100
+@@ -1191,7 +1191,11 @@
+ msg_iov->push_back({const_cast<char*>(buffer->data()), buffer->length()});
+ msgvec->reserve(buffers.size());
+ for (size_t j = 0; j < buffers.size(); j++)
++#if defined(__GLIBC__)
+ msgvec->push_back({{nullptr, 0, &msg_iov[j], 1, nullptr, 0, 0}, 0});
++#else
++ msgvec->push_back({{nullptr, 0, &msg_iov[j], 1, 0, 0, 0}, 0});
++#endif
+ int result = HANDLE_EINTR(Sendmmsg(fd, &msgvec[0], buffers.size(), 0));
+ SendResult send_result(0, 0, std::move(buffers));
+ if (result < 0) {
diff --git a/srcpkgs/qt6-webengine/patches/0021-sandbox-sched_getparam.patch b/srcpkgs/qt6-webengine/patches/0021-sandbox-sched_getparam.patch
new file mode 100644
index 000000000000..d8c6aa15cf66
--- /dev/null
+++ b/srcpkgs/qt6-webengine/patches/0021-sandbox-sched_getparam.patch
@@ -0,0 +1,26 @@
+Allow SYS_sched_getparam and SYS_sched_getscheduler
+musl uses them for pthread_getschedparam()
+
+source: https://git.alpinelinux.org/aports/commit/community/chromium?id=54af9f8ac24f52d382c5758e2445bf0206eff40e
+
+--- a/src/3rdparty/chromium/sandbox/policy/linux/bpf_renderer_policy_linux.cc 2021-02-23 16:36:59.000000000 +0100
++++ - 2021-03-07 21:13:44.992079145 +0100
+@@ -93,11 +93,18 @@
+ case __NR_sysinfo:
+ case __NR_times:
+ case __NR_uname:
++#if !defined(__GLIBC__)
++ case __NR_sched_getparam:
++ case __NR_sched_getscheduler:
++ case __NR_sched_setscheduler:
++#endif
+ return Allow();
+ case __NR_sched_getaffinity:
++#if defined(__GLIBC__)
+ case __NR_sched_getparam:
+ case __NR_sched_getscheduler:
+ case __NR_sched_setscheduler:
++#endif
+ return RestrictSchedTarget(GetPolicyPid(), sysno);
+ case __NR_prlimit64:
+ // See crbug.com/662450 and setrlimit comment above.
diff --git a/srcpkgs/qt6-webengine/patches/0022-canonicalize-file-name-musl.patch b/srcpkgs/qt6-webengine/patches/0022-canonicalize-file-name-musl.patch
new file mode 100644
index 000000000000..893ed2d41bb4
--- /dev/null
+++ b/srcpkgs/qt6-webengine/patches/0022-canonicalize-file-name-musl.patch
@@ -0,0 +1,11 @@
+--- qtwebengine/src/3rdparty/chromium/third_party/nasm/nasmlib/realpath.c 2019-09-23 14:24:20.000000000 +0200
++++ - 2019-10-11 06:27:28.450329986 +0200
+@@ -57,7 +57,7 @@
+ */
+ char *nasm_realpath(const char *rel_path)
+ {
+- char *rp = canonicalize_file_name(rel_path);
++ char *rp = realpath(rel_path, NULL);
+ return rp ? rp : nasm_strdup(rel_path);
+ }
+
diff --git a/srcpkgs/qt6-webengine/patches/0089-enable-ppc64.patch b/srcpkgs/qt6-webengine/patches/0089-enable-ppc64.patch
new file mode 100644
index 000000000000..4fb19ccdd2e5
--- /dev/null
+++ b/srcpkgs/qt6-webengine/patches/0089-enable-ppc64.patch
@@ -0,0 +1,37 @@
+From 463f1234c57a36e78ff666bd55094a9d4e68f296 Mon Sep 17 00:00:00 2001
+From: q66 <daniel@octaforge.org>
+Date: Sat, 18 Jan 2020 23:52:55 +0100
+Subject: [PATCH 1/3] Enable ppc64 builds
+
+---
+ configure.pri | 1 +
+ mkspecs/features/functions.prf | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/configure.pri b/configure.pri
+index 3a144e3f8..cabe8b24a 100644
+--- a/configure.pri 2021-02-24 10:45:58.000000000 +0100
++++ - 2021-03-07 21:18:43.124754796 +0100
+@@ -144,6 +144,7 @@
+ contains(QT_ARCH, "arm")|contains(QT_ARCH, "arm64"): return(true)
+ contains(QT_ARCH, "mips"): return(true)
+ contains(QT_ARCH, "mips64"): return(true)
++ contains(QT_ARCH, "power64"): return(true)
+ qtLog("Architecture not supported.")
+ return(false)
+ }
+diff --git a/mkspecs/features/functions.prf b/mkspecs/features/functions.prf
+index 512e2523b..e31123654 100644
+--- a/mkspecs/features/functions.prf 2021-02-24 10:45:58.000000000 +0100
++++ - 2021-03-07 21:19:21.345036293 +0100
+@@ -107,6 +107,7 @@
+ contains(qtArch, "mips"): return(mipsel)
+ contains(qtArch, "mips64"): return(mips64el)
+ contains(qtArch, "mips64el"): return(mips64el)
++ contains(qtArch, "power64"): return(ppc64)
+ return(unknown)
+ }
+
+--
+2.26.0
+
diff --git a/srcpkgs/qt6-webengine/patches/0110-size_t.patch b/srcpkgs/qt6-webengine/patches/0110-size_t.patch
new file mode 100644
index 000000000000..462e3202279f
--- /dev/null
+++ b/srcpkgs/qt6-webengine/patches/0110-size_t.patch
@@ -0,0 +1,16 @@
+--- a/src/3rdparty/chromium/third_party/angle/include/platform/PlatformMethods.h 2021-02-23 16:36:59.000000000 +0100
++++ - 2021-03-07 21:44:25.477989726 +0100
+@@ -239,11 +239,11 @@
+ using ProgramKeyType = std::array<uint8_t, 20>;
+ using CacheProgramFunc = void (*)(PlatformMethods *platform,
+ const ProgramKeyType &key,
+- size_t programSize,
++ std::size_t programSize,
+ const uint8_t *programBytes);
+ inline void DefaultCacheProgram(PlatformMethods *platform,
+ const ProgramKeyType &key,
+- size_t programSize,
++ std::size_t programSize,
+ const uint8_t *programBytes)
+ {}
+
diff --git a/srcpkgs/qt6-webengine/patches/0111-armv7l-neon.patch b/srcpkgs/qt6-webengine/patches/0111-armv7l-neon.patch
new file mode 100644
index 000000000000..368099b981cc
--- /dev/null
+++ b/srcpkgs/qt6-webengine/patches/0111-armv7l-neon.patch
@@ -0,0 +1,10 @@
+--- a/src/3rdparty/chromium/skia/BUILD.gn 2020-09-01 13:02:34.000000000 +0200
++++ b/src/3rdparty/chromium/skia/BUILD.gn 2020-10-06 20:51:48.834970455 +0200
+@@ -772,7 +772,6 @@
+ # Root build config sets -mfpu=$arm_fpu, which we expect to be neon
+ # when running this.
+ if (!arm_use_neon) {
+- configs -= [ "//build/config/compiler:compiler_arm_fpu" ]
+ cflags += [ "-mfpu=neon" ]
+ }
+ }
diff --git a/srcpkgs/qt6-webengine/patches/0112-arm-user_vfp.patch b/srcpkgs/qt6-webengine/patches/0112-arm-user_vfp.patch
new file mode 100644
index 000000000000..6e2d62f35ee6
--- /dev/null
+++ b/srcpkgs/qt6-webengine/patches/0112-arm-user_vfp.patch
@@ -0,0 +1,20 @@
+--- a/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/thread_info.h
++++ b/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/thread_info.h
+@@ -17,6 +17,17 @@
+
+ #include <stdint.h>
+ #include <sys/user.h>
++#if !defined(__GLIBC__)
++struct user_vfp {
++ unsigned long long fpregs[32];
++ unsigned long fpscr;
++};
++struct user_vfp_exc {
++ unsigned long fpexc;
++ unsigned long fpinst;
++ unsigned long fpinst2;
++};
++#endif /* !defined(__GLIBC__) */
+
+ #include <type_traits>
+
diff --git a/srcpkgs/qt6-webengine/patches/0113-arm-elf_auxv_t.patch b/srcpkgs/qt6-webengine/patches/0113-arm-elf_auxv_t.patch
new file mode 100644
index 000000000000..5c7cbfc46f65
--- /dev/null
+++ b/srcpkgs/qt6-webengine/patches/0113-arm-elf_auxv_t.patch
@@ -0,0 +1,18 @@
+--- a/src/3rdparty/chromium/v8/src/base/cpu.cc 2020-09-01 13:02:34.000000000 +0200
++++ b/src/3rdparty/chromium/v8/src/base/cpu.cc 2020-10-06 21:28:45.124882085 +0200
+@@ -109,6 +109,15 @@
+ #define HWCAP_IDIV (HWCAP_IDIVA | HWCAP_IDIVT)
+ #define HWCAP_LPAE (1 << 20)
+
++#ifndef __GLIBC__
++#include <elf.h>
++#ifdef __LP64__
++typedef Elf64_auxv_t elf_auxv_t;
++#else
++typedef Elf32_auxv_t elf_auxv_t;
++#endif
++#endif
++
+ static uint32_t ReadELFHWCaps() {
+ #if V8_GLIBC_PREREQ(2, 16)
+ return static_cast<uint32_t>(getauxval(AT_HWCAP));
diff --git a/srcpkgs/qt6-webengine/patches/0114-time64.patch b/srcpkgs/qt6-webengine/patches/0114-time64.patch
new file mode 100644
index 000000000000..6a98dd4e480e
--- /dev/null
+++ b/srcpkgs/qt6-webengine/patches/0114-time64.patch
@@ -0,0 +1,89 @@
+Description: fix seccomp-bpf failures in syscalls 0403, 0407
+ glibc ≥ 2.31 uses these syscalls on 32-bit platforms:
+ .
+ - https://sourceware.org/git/?p=glibc.git;a=commit;h=2e44b10b42d68d98
+ - https://sourceware.org/git/?p=glibc.git;a=commit;h=ec138c67cbda8b58
+Author: Andreas Müller <schnitzeltony@gmail.com>
+Forwarded: no
+Last-Update: 2020-09-02
+
+--- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
++++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
+@@ -148,7 +148,14 @@ ResultExpr EvaluateSyscallImpl(int fs_de
+ return Allow();
+ #endif
+
+- if (sysno == __NR_clock_gettime || sysno == __NR_clock_nanosleep) {
++ if (sysno == __NR_clock_gettime || sysno == __NR_clock_nanosleep
++#if defined(__NR_clock_gettime64)
++ || sysno == __NR_clock_gettime64
++#endif
++#if defined(__NR_clock_nanosleep_time64)
++ || sysno == __NR_clock_nanosleep_time64
++#endif
++ ) {
+ return RestrictClockID();
+ }
+
+--- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions_unittests.cc
++++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions_unittests.cc
+@@ -60,6 +60,12 @@ class RestrictClockIdPolicy : public bpf
+ case __NR_clock_gettime:
+ case __NR_clock_getres:
+ case __NR_clock_nanosleep:
++#if defined(__NR_clock_nanosleep_time64)
++ case __NR_clock_nanosleep_time64:
++#endif
++#if defined(__NR_clock_gettime64)
++ case __NR_clock_gettime64:
++#endif
+ return RestrictClockID();
+ default:
+ return Allow();
+--- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
++++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
+@@ -39,6 +39,12 @@ bool SyscallSets::IsAllowedGettime(int s
+ // filtered by RestrictClokID().
+ case __NR_clock_gettime: // Parameters filtered by RestrictClockID().
+ case __NR_clock_nanosleep: // Parameters filtered by RestrictClockID().
++#if defined(__NR_clock_gettime64)
++ case __NR_clock_gettime64: // Parameters filtered by RestrictClockID().
++#endif
++#if defined(__NR_clock_nanosleep_time64)
++ case __NR_clock_nanosleep_time64: // Parameters filtered by RestrictClockID().
++#endif
+ case __NR_clock_settime: // Privileged.
+ #if defined(__i386__) || \
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
+--- a/src/3rdparty/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h
++++ b/src/3rdparty/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h
+@@ -1385,6 +1385,14 @@
+ #define __NR_memfd_create (__NR_SYSCALL_BASE+385)
+ #endif
+
++#if !defined(__NR_clock_gettime64)
++#define __NR_clock_gettime64 (__NR_SYSCALL_BASE+403)
++#endif
++
++#if !defined(__NR_clock_nanosleep_time64)
++#define __NR_clock_nanosleep_time64 (__NR_SYSCALL_BASE+407)
++#endif
++
+ // ARM private syscalls.
+ #if !defined(__ARM_NR_BASE)
+ #define __ARM_NR_BASE (__NR_SYSCALL_BASE + 0xF0000)
+--- a/src/3rdparty/chromium/sandbox/linux/system_headers/mips_linux_syscalls.h
++++ b/src/3rdparty/chromium/sandbox/linux/system_headers/mips_linux_syscalls.h
+@@ -1433,4 +1433,12 @@
+ #define __NR_memfd_create (__NR_Linux + 354)
+ #endif
+
++#if !defined(__NR_clock_gettime64)
++#define __NR_clock_gettime64 (__NR_Linux + 403)
++#endif
++
++#if !defined(__NR_clock_nanosleep_time64)
++#define __NR_clock_nanosleep_time64 (__NR_Linux + 407)
++#endif
++
+ #endif // SANDBOX_LINUX_SYSTEM_HEADERS_MIPS_LINUX_SYSCALLS_H_
diff --git a/srcpkgs/qt6-webengine/patches/0121-glibc-2.33.patch b/srcpkgs/qt6-webengine/patches/0121-glibc-2.33.patch
new file mode 100644
index 000000000000..3a0ba3b2d854
--- /dev/null
+++ b/srcpkgs/qt6-webengine/patches/0121-glibc-2.33.patch
@@ -0,0 +1,144 @@
+# Patch made by Kevin Kofler <Kevin@tigcc.ticalc.org>
+# https://bugzilla.redhat.com/show_bug.cgi?id=1904652
+
+diff -ur qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc qtwebengine-everywhere-src-5.15.2-#1904652/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
+--- qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc 2020-11-07 02:22:36.000000000 +0100
++++ qtwebengine-everywhere-src-5.15.2-#1904652/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc 2021-01-20 02:14:53.066223906 +0100
+@@ -257,6 +257,18 @@
+ return RestrictKillTarget(current_pid, sysno);
+ }
+
++#if defined(__NR_newfstatat)
++ if (sysno == __NR_newfstatat) {
++ return RewriteFstatatSIGSYS();
++ }
++#endif
++
++#if defined(__NR_fstatat64)
++ if (sysno == __NR_fstatat64) {
++ return RewriteFstatatSIGSYS();
++ }
++#endif
++
+ if (SyscallSets::IsFileSystem(sysno) ||
+ SyscallSets::IsCurrentDirectory(sysno)) {
+ return Error(fs_denied_errno);
+diff -ur qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc qtwebengine-everywhere-src-5.15.2-#1904652/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
+--- qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc 2020-11-07 02:22:36.000000000 +0100
++++ qtwebengine-everywhere-src-5.15.2-#1904652/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc 2021-01-22 19:02:55.651668257 +0100
+@@ -6,6 +6,8 @@
+
+ #include "sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h"
+
++#include <errno.h>
++#include <fcntl.h>
+ #include <stddef.h>
+ #include <stdint.h>
+ #include <string.h>
+@@ -355,6 +357,35 @@
+ return -ENOSYS;
+ }
+
++intptr_t SIGSYSFstatatHandler(const struct arch_seccomp_data& args,
++ void* aux) {
++ switch (args.nr) {
++#if defined(__NR_newfstatat)
++ case __NR_newfstatat:
++#endif
++#if defined(__NR_fstatat64)
++ case __NR_fstatat64:
++#endif
++#if defined(__NR_newfstatat) || defined(__NR_fstatat64)
++ if (*reinterpret_cast<const char *>(args.args[1]) == '\0'
++ && args.args[3] == static_cast<uint64_t>(AT_EMPTY_PATH)) {
++ return sandbox::sys_fstat64(static_cast<int>(args.args[0]),
++ reinterpret_cast<struct stat64 *>(args.args[2]));
++ } else {
++ errno = EACCES;
++ return -1;
++ }
++ break;
++#endif
++ }
++
++ CrashSIGSYS_Handler(args, aux);
++
++ // Should never be reached.
++ RAW_CHECK(false);
++ return -ENOSYS;
++}
++
+ bpf_dsl::ResultExpr CrashSIGSYS() {
+ return bpf_dsl::Trap(CrashSIGSYS_Handler, NULL);
+ }
+@@ -387,6 +418,10 @@
+ return bpf_dsl::Trap(SIGSYSSchedHandler, NULL);
+ }
+
++bpf_dsl::ResultExpr RewriteFstatatSIGSYS() {
++ return bpf_dsl::Trap(SIGSYSFstatatHandler, NULL);
++}
++
+ void AllocateCrashKeys() {
+ #if !defined(OS_NACL_NONSFI)
+ if (seccomp_crash_key)
+diff -ur qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h qtwebengine-everywhere-src-5.15.2-#1904652/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h
+--- qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h 2020-11-07 02:22:36.000000000 +0100
++++ qtwebengine-everywhere-src-5.15.2-#1904652/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h 2021-01-20 02:11:04.583714199 +0100
+@@ -62,6 +62,10 @@
+ // sched_setparam(), sched_setscheduler()
+ SANDBOX_EXPORT intptr_t SIGSYSSchedHandler(const arch_seccomp_data& args,
+ void* aux);
++// If the fstatat syscall is actually a disguised fstat, calls the regular fstat
++// syscall, otherwise, crashes in the same way as CrashSIGSYS_Handler.
++SANDBOX_EXPORT intptr_t SIGSYSFstatatHandler(const struct arch_seccomp_data& args,
++ void* aux);
+
+ // Variants of the above functions for use with bpf_dsl.
+ SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYS();
+@@ -72,6 +76,7 @@
+ SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYSFutex();
+ SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYSPtrace();
+ SANDBOX_EXPORT bpf_dsl::ResultExpr RewriteSchedSIGSYS();
++SANDBOX_EXPORT bpf_dsl::ResultExpr RewriteFstatatSIGSYS();
+
+ // Allocates a crash key so that Seccomp information can be recorded.
+ void AllocateCrashKeys();
+diff -ur qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.cc qtwebengine-everywhere-src-5.15.2-#1904652/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.cc
+--- qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.cc 2020-11-07 02:22:36.000000000 +0100
++++ qtwebengine-everywhere-src-5.15.2-#1904652/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.cc 2021-01-20 02:41:12.033133269 +0100
+@@ -261,4 +261,13 @@
+
+ #endif // defined(MEMORY_SANITIZER)
+
++SANDBOX_EXPORT int sys_fstat64(int fd, struct stat64 *buf)
++{
++#if defined(__NR_fstat64)
++ return syscall(__NR_fstat64, fd, buf);
++#else
++ return syscall(__NR_fstat, fd, buf);
++#endif
++}
++
+ } // namespace sandbox
+diff -ur qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.h qtwebengine-everywhere-src-5.15.2-#1904652/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.h
+--- qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.h 2020-11-07 02:22:36.000000000 +0100
++++ qtwebengine-everywhere-src-5.15.2-#1904652/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.h 2021-01-20 02:40:26.499827829 +0100
+@@ -17,6 +17,7 @@
+ struct rlimit64;
+ struct cap_hdr;
+ struct cap_data;
++struct stat64;
+
+ namespace sandbox {
+
+@@ -84,6 +85,9 @@
+ const struct sigaction* act,
+ struct sigaction* oldact);
+
++// Recent glibc rewrites fstat to fstatat.
++SANDBOX_EXPORT int sys_fstat64(int fd, struct stat64 *buf);
++
+ } // namespace sandbox
+
+ #endif // SANDBOX_LINUX_SERVICES_SYSCALL_WRAPPERS_H_
diff --git a/srcpkgs/qt6-webengine/template b/srcpkgs/qt6-webengine/template
new file mode 100644
index 000000000000..45aeb56b42b1
--- /dev/null
+++ b/srcpkgs/qt6-webengine/template
@@ -0,0 +1,93 @@
+# Template file for 'qt6-webengine'
+pkgname=qt6-webengine
+version=6.2.0alpha
+revision=1
+wrksrc="qtwebengine-everywhere-src-${version/alpha/-alpha}"
+build_style=cmake
+configure_args="-DQT_HOST_PATH=/usr -DQT_BUILD_TOOLS_WHEN_CROSSCOMPILING=true
+ -DQT_FEATURE_webengine_system_ffmpeg=ON
+ -DQT_FEATURE_webengine_system_libevent=ON
+ -DQT_FEATURE_webengine_system_gn=ON
+ -DPKG_CONFIG_HOST_EXECUTABLE=${PKG_CONFIG_FOR_BUILD}"
+hostmakedepends="qt6-base-devel perl pkg-config nodejs python
+ protobuf gperf flex nss-devel libwebp-devel"
+makedepends="qt6-base-devel qt6-declarative-devel pulseaudio-devel
+ alsa-lib-devel libvpx-devel pciutils-devel opus-devel libxslt-devel
+ libxml2-devel freetype-devel lcms2-devel libwebp-devel icu-devel
+ re2-devel zlib-devel libpng-devel minizip-devel harfbuzz-devel
+ nss-devel libXcursor-devel libXcomposite-devel libXScrnSaver-devel
+ protobuf-devel ffmpeg-devel snappy-devel libevent-devel pipewire-devel
+ qt6-quickcontrols2-devel qt6-location-devel qt6-webchannel-devel"
+short_desc="Cross-platform application and UI framework - Webengine"
+maintainer="John <me@johnnynator.dev>"
+license="GPL-3.0-only, GPL-2.0-only, LGPL-3.0-only BSD-3-Clause"
+homepage="https://www.qt.io"
+distfiles="https://download.qt.io/development_releases/qt/${version%.*}/${version/alpha/-alpha}/submodules/qtwebengine-everywhere-src-${version/alpha/-alpha}.tar.xz"
+checksum=e509436aa22b952e6195c146cf06a839b85aaa0724feb85f0b78516dc42105a4
+
+if [ -z "$CROSS_BUILD" ];then
+ configure_args+=" -DCMAKE_TOOLCHAIN_FILE=/usr/lib/cmake/Qt6/qt.toolchain.cmake"
+fi
+
+if [ "$XBPS_LIBC" = "musl" ]; then
+ hostmakedepends+=" musl-legacy-compat"
+fi
+
+if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+ makedepends+=" musl-legacy-compat"
+fi
+
+if [ ! "$XBPS_WORDSIZE" = "$XBPS_TARGET_WORDSIZE" ]; then
+ broken="webengine can be built only if word size matches"
+fi
+
+if [ "$XBPS_WORDSIZE" -eq 32 ]; then
+ nodebug=yes
+ LDFLAGS="-Wl,--no-keep-memory"
+fi
+
+if [ "$XBPS_TARGET_ENDIAN" != "le" ]; then
+ broken="webengine only supports little endian"
+fi
+
+_bootstrap_gn() {
+ # Bootstrap gn (generate ninja)
+ echo "Bootstrapping 'gn'"
+ cd ${wrksrc}/src/3rdparty/gn
+ CFLAGS="$CFLAGS_host" CXXFLAGS="$CXXFLAGS_host" LDFLAGS="$LDFLAGS_host" \
+ PKGCONFIG=/usr/bin/pkgconfig PKG_CONFIG_PATH="/usr/lib/pkgconfig:/usr/share/pkgconfig" \
+ python2 build/gen.py --no-last-commit-position --out-path \
+ ${wrksrc}/src/3rdparty/gn/out/Release --cc "${CC_host:-$CC}" \
+ --cxx "${CXX_host:-$CXX}" --ld "${CXX_host:-$CXX}" --ar "${AR_host:-$AR}" \
+ --qt-version "${version}.qtwebengine.qt.io"
+ ninja -C out/Release gn
+ cd ${wrksrc}
+}
+
+pre_configure() {
+ cp ${FILESDIR}/resolv_compat.h ${wrksrc}/src/3rdparty/chromium/net/dns
+ _bootstrap_gn
+ export PATH="$PATH:${wrksrc}/src/3rdparty/gn/out/Release"
+}
+
+pre_build() {
+ export PATH="$PATH:${wrksrc}/src/3rdparty/gn/out/Release"
+}
+
+post_install() {
+ rm -r ${DESTDIR}/builddir
+ mv ${DESTDIR}/usr/resources ${DESTDIR}/usr/share/qt6
+ mv ${DESTDIR}/usr/translations ${DESTDIR}/usr/share/qt6
+}
+
+qt6-webengine-devel_package() {
+ depends="${sourcepkg}>=${version}_${revision} qt6-webchannel-devel>=${version}_1
+ qt6-declarative-devel>=${version}_1 qt6-location-devel>=${version}_1"
+ short_desc+=" - development files"
+ pkg_install() {
+ vmove usr/include
+ vmove usr/lib/cmake
+ vmove usr/lib/qt6/mkspecs
+ vmove "usr/lib/*.so"
+ }
+}
From d173e9e63fd5ea4ca38412f4b00b97ac0fd4639b Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 27 Jun 2021 16:00:28 +0200
Subject: [PATCH 25/25] New package: qt6-location-6.2.0alpha
---
common/shlibs | 1 +
srcpkgs/qt6-location-devel | 1 +
srcpkgs/qt6-location/template | 27 +++++++++++++++++++++++++++
3 files changed, 29 insertions(+)
create mode 120000 srcpkgs/qt6-location-devel
create mode 100644 srcpkgs/qt6-location/template
diff --git a/common/shlibs b/common/shlibs
index e6d1ef7157b4..e3b64dfad96b 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -2063,6 +2063,7 @@ libQt6VirtualKeyboard.so.6 qt6-virtualkeyboard-6.1.0_1
libQt6SerialPort.so.6 qt6-serialport-6.2.0alpha_1
libQt6WebSockets.so.6 qt6-websockets-6.2.0alpha_1
libQt6WebChannel.so.6 qt6-webchannel-6.2.0alpha_1
+libQt6Positioning.so.6 qt6-location-6.2.0alpha_1
libnpth.so.0 npth-1.1_1
libnpupnp.so.4 libnpupnp-4.0.2_1
libglfw.so.3 glfw-3.0.4_1
diff --git a/srcpkgs/qt6-location-devel b/srcpkgs/qt6-location-devel
new file mode 120000
index 000000000000..7924c82dd3f4
--- /dev/null
+++ b/srcpkgs/qt6-location-devel
@@ -0,0 +1 @@
+qt6-location
\ No newline at end of file
diff --git a/srcpkgs/qt6-location/template b/srcpkgs/qt6-location/template
new file mode 100644
index 000000000000..3bad3ab8aade
--- /dev/null
+++ b/srcpkgs/qt6-location/template
@@ -0,0 +1,27 @@
+# Template file for 'qt6-location'
+pkgname=qt6-location
+version=6.2.0alpha
+revision=1
+wrksrc="qtlocation-everywhere-src-${version/alpha/-alpha}"
+build_style=cmake
+configure_args="-DQT_HOST_PATH=/usr"
+hostmakedepends="perl qt6-base-devel qt6-declarative-devel"
+makedepends="qt6-serialport-devel qt6-declarative-devel GConf-devel"
+short_desc="Cross-platform application and UI framework - location"
+maintainer="John <me@johnnynator.dev>"
+license="(LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only) AND GPL-3.0-only with Qt-GPL-exception-1.0"
+homepage="https://qt.io/"
+distfiles="http://download.qt.io/development_releases/qt/${version%.*}/${version/alpha/-alpha}/submodules/qtlocation-everywhere-src-${version/alpha/-alpha}.tar.xz"
+checksum=514a84d73ccb7af5f7921b99a5742314c8875bd4cb1a982a09b28a8080c117c8
+
+qt6-location-devel_package() {
+ depends="${sourcepkg}>=${version}_${revision} qt6-base-devel>=${version}_1"
+ short_desc+=" - development files"
+ pkg_install() {
+ vmove usr/include
+ vmove usr/lib/cmake
+ vmove usr/lib/qt6/mkspecs
+ vmove "usr/lib/*.so"
+ vmove "usr/lib/*.prl"
+ }
+}
next reply other threads:[~2021-06-27 19:18 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-27 19:18 Johnnynator [this message]
2021-06-27 19:20 ` [PR PATCH] [Updated] " Johnnynator
2021-06-27 19:37 ` Johnnynator
2021-06-27 19:38 ` Johnnynator
2021-06-27 20:17 ` [PR REVIEW] " ericonr
2021-06-27 20:29 ` Johnnynator
2021-09-12 14:47 ` [PR PATCH] [Updated] " Johnnynator
2021-10-03 13:14 ` Johnnynator
2021-10-03 13:22 ` Johnnynator
2021-10-03 13:25 ` [PR PATCH] [Merged]: " Johnnynator
2021-10-15 23:13 ` vSLG
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-31686@inbox.vuxu.org \
--to=johnnynator@users.noreply.github.com \
--cc=ml@inbox.vuxu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).