commit:     956d6a85d63efd962759c9388ddcb86bb0282dcb
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 26 02:03:15 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Nov 18 09:02:34 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=956d6a85

dev-qt/qtwebengine: quick fix for build race conditions (qt6)

Done as two separate patches given one is a chromium backport
(fixed in 6.8), and the others are qtwebengine-side issues.

Thanks to Matt Whitlock for testing.

Quite possible there are more issues, but there is no harm in
fixing the ones we know about so far.

Closes: https://bugs.gentoo.org/942142
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 .../qtwebengine-6.7.3-missing-gn-deps-blink.patch  | 38 ++++++++++++++++++++++
 .../files/qtwebengine-6.7.3-missing-gn-deps.patch  | 33 +++++++++++++++++++
 dev-qt/qtwebengine/qtwebengine-6.7.3.ebuild        |  2 ++
 dev-qt/qtwebengine/qtwebengine-6.8.0.ebuild        |  1 +
 dev-qt/qtwebengine/qtwebengine-6.8.9999.ebuild     |  1 +
 5 files changed, 75 insertions(+)

diff --git 
a/dev-qt/qtwebengine/files/qtwebengine-6.7.3-missing-gn-deps-blink.patch 
b/dev-qt/qtwebengine/files/qtwebengine-6.7.3-missing-gn-deps-blink.patch
new file mode 100644
index 000000000000..87f19dcceef4
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-6.7.3-missing-gn-deps-blink.patch
@@ -0,0 +1,38 @@
+Patch status: fixed in >=chromium-120.0.6088.0 / Qt6.8.0
+
+Backport from [1] for [2] to fix a race condition.
+
+[1] https://crrev.com/ac2ad9c9f01bf255fd123785bd37d3b0ec44e410
+[2] https://bugs.gentoo.org/942142
+--- a/src/3rdparty/chromium/third_party/blink/public/BUILD.gn
++++ b/src/3rdparty/chromium/third_party/blink/public/BUILD.gn
+@@ -437,4 +437,5 @@
+     "//third_party/blink/public/common",
+     "//third_party/blink/public/common:headers",
++    "//third_party/blink/renderer/platform:make_platform_generated",
+     "//ui/accessibility:ax_base",
+     "//ui/base/dragdrop/mojom:mojom_shared",
+--- a/src/3rdparty/chromium/third_party/blink/renderer/platform/BUILD.gn
++++ b/src/3rdparty/chromium/third_party/blink/renderer/platform/BUILD.gn
+@@ -142,5 +142,8 @@
+ group("make_platform_generated") {
+   visibility = []  # Allow re-assignment of list.
+-  visibility = [ "//third_party/blink/renderer/*" ]
++  visibility = [
++    "//third_party/blink/public:blink_headers",
++    "//third_party/blink/renderer/*",
++  ]
+   public_deps = [
+     ":bindings_buildflags",
+@@ -151,4 +154,5 @@
+     ":runtime_feature_state_override_context",
+     "//third_party/blink/public/common:buildflags",
++    "//third_party/blink/renderer/platform/heap:blink_heap_buildflags",
+     "//third_party/blink/renderer/platform/network:make_generated",
+   ]
+@@ -197,5 +201,4 @@
+     "//third_party/blink/public/mojom:mojom_platform_blink",
+     "//third_party/blink/public/mojom:web_bluetooth_mojo_bindings_blink",
+-    "//third_party/blink/renderer/platform/heap:blink_heap_buildflags",
+     "//third_party/blink/renderer/platform/network:make_generated",
+     "//third_party/blink/renderer/platform/wtf",

diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.7.3-missing-gn-deps.patch 
b/dev-qt/qtwebengine/files/qtwebengine-6.7.3-missing-gn-deps.patch
new file mode 100644
index 000000000000..b9723a59d859
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-6.7.3-missing-gn-deps.patch
@@ -0,0 +1,33 @@
+Patch status: needs upstreaming
+
+Add missing dependencies for rare race conditions, these are all
+related to Qt-specific changes as far as I can see.
+
+https://bugs.gentoo.org/942142
+--- a/src/3rdparty/chromium/components/history/core/browser/BUILD.gn
++++ b/src/3rdparty/chromium/components/history/core/browser/BUILD.gn
+@@ -184,4 +184,8 @@
+       "//components/sync",
+     ]
++
++    deps += [
++      "//components/signin/public/base:signin_buildflags",
++    ]
+   }
+ 
+--- a/src/3rdparty/chromium/qtwebengine/browser/extensions/api/BUILD.gn
++++ b/src/3rdparty/chromium/qtwebengine/browser/extensions/api/BUILD.gn
+@@ -46,4 +46,5 @@
+   deps = [
+     "//content/public/browser",
++    "//qtwebengine/common/extensions/api:api",
+   ]
+ }
+--- a/src/core/ozone/BUILD.gn
++++ b/src/core/ozone/BUILD.gn
+@@ -22,4 +22,5 @@
+   deps = [
+     "//base",
++    "//media/gpu:buildflags",
+     "//ui/base:buildflags",
+     "//ui/ozone:ozone_base",

diff --git a/dev-qt/qtwebengine/qtwebengine-6.7.3.ebuild 
b/dev-qt/qtwebengine/qtwebengine-6.7.3.ebuild
index 5d685e365f2a..d9b580efb949 100644
--- a/dev-qt/qtwebengine/qtwebengine-6.7.3.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-6.7.3.ebuild
@@ -110,6 +110,8 @@ PATCHES=( "${WORKDIR}"/patches/${PN} )
 
 PATCHES+=(
        # add extras as needed here, may merge in set if carries across versions
+       "${FILESDIR}"/${PN}-6.7.3-missing-gn-deps.patch
+       "${FILESDIR}"/${PN}-6.7.3-missing-gn-deps-blink.patch
 )
 
 python_check_deps() {

diff --git a/dev-qt/qtwebengine/qtwebengine-6.8.0.ebuild 
b/dev-qt/qtwebengine/qtwebengine-6.8.0.ebuild
index 6b40caa515b0..4bf68d74e0a3 100644
--- a/dev-qt/qtwebengine/qtwebengine-6.8.0.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-6.8.0.ebuild
@@ -108,6 +108,7 @@ PATCHES=( "${WORKDIR}"/patches/${PN} )
 
 PATCHES+=(
        # add extras as needed here, may merge in set if carries across versions
+       "${FILESDIR}"/${PN}-6.7.3-missing-gn-deps.patch
 )
 
 python_check_deps() {

diff --git a/dev-qt/qtwebengine/qtwebengine-6.8.9999.ebuild 
b/dev-qt/qtwebengine/qtwebengine-6.8.9999.ebuild
index baac705a7f5d..9e3a5cd53a3d 100644
--- a/dev-qt/qtwebengine/qtwebengine-6.8.9999.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-6.8.9999.ebuild
@@ -108,6 +108,7 @@ PATCHES=( "${WORKDIR}"/patches/${PN} )
 
 PATCHES+=(
        # add extras as needed here, may merge in set if carries across versions
+       "${FILESDIR}"/${PN}-6.7.3-missing-gn-deps.patch
 )
 
 python_check_deps() {

Reply via email to