commit:     3d0d39989e1625c57c742f282f6336f66cca0d33
Author:     Stephan Hartmann <sultan <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 14 17:00:47 2022 +0000
Commit:     Stephan Hartmann <sultan <AT> gentoo <DOT> org>
CommitDate: Tue Jun 14 17:01:10 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3d0d3998

www-client/chromium: fix building with USE=-wayland

Closes: https://bugs.gentoo.org/851477
Signed-off-by: Stephan Hartmann <sultan <AT> gentoo.org>

 www-client/chromium/chromium-104.0.5110.0.ebuild   |  1 +
 .../chromium-104-swiftshader-no-wayland.patch      | 52 ++++++++++++++++++++++
 2 files changed, 53 insertions(+)

diff --git a/www-client/chromium/chromium-104.0.5110.0.ebuild 
b/www-client/chromium/chromium-104.0.5110.0.ebuild
index 965ce6985844..64b7e13cd82b 100644
--- a/www-client/chromium/chromium-104.0.5110.0.ebuild
+++ b/www-client/chromium/chromium-104.0.5110.0.ebuild
@@ -312,6 +312,7 @@ src_prepare() {
                "${FILESDIR}/chromium-98-EnumTable-crash.patch"
                "${FILESDIR}/chromium-98-gtk4-build.patch"
                "${FILESDIR}/chromium-104-tflite-system-zlib.patch"
+               "${FILESDIR}/chromium-104-swiftshader-no-wayland.patch"
                
"${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch"
                "${FILESDIR}/chromium-shim_headers.patch"
                "${FILESDIR}/chromium-cross-compile.patch"

diff --git 
a/www-client/chromium/files/chromium-104-swiftshader-no-wayland.patch 
b/www-client/chromium/files/chromium-104-swiftshader-no-wayland.patch
new file mode 100644
index 000000000000..75f78f36bc3d
--- /dev/null
+++ b/www-client/chromium/files/chromium-104-swiftshader-no-wayland.patch
@@ -0,0 +1,52 @@
+--- a/third_party/swiftshader/src/Vulkan/BUILD.gn
++++ b/third_party/swiftshader/src/Vulkan/BUILD.gn
+@@ -16,14 +16,22 @@ import("//build_overrides/build.gni")
+ import("../swiftshader.gni")
+ import("vulkan.gni")
+ 
++if (is_linux) {
++  import("//build/config/ozone.gni")
++}
++
+ # Need a separate config to ensure the warnings are added to the end.
+ config("swiftshader_libvulkan_private_config") {
+   if (is_linux) {
+     defines = [
+       "VK_USE_PLATFORM_XCB_KHR",
+-      "VK_USE_PLATFORM_WAYLAND_KHR",
+       "VK_EXPORT=__attribute__((visibility(\"default\")))",
+     ]
++    if (ozone_platform_wayland) {
++      defines += [
++        "VK_USE_PLATFORM_WAYLAND_KHR",
++      ]
++    }
+   } else if (is_chromeos) {
+     defines = [
+       "VK_EXPORT=__attribute__((visibility(\"default\")))",
+--- a/third_party/swiftshader/src/WSI/BUILD.gn
++++ b/third_party/swiftshader/src/WSI/BUILD.gn
+@@ -42,15 +42,19 @@ swiftshader_source_set("WSI") {
+ 
+   if (is_linux) {
+     sources += [
+-      "WaylandSurfaceKHR.cpp",
+-      "WaylandSurfaceKHR.hpp",
+       "XcbSurfaceKHR.cpp",
+       "XcbSurfaceKHR.hpp",
+-      "libWaylandClient.cpp",
+-      "libWaylandClient.hpp",
+       "libXCB.cpp",
+       "libXCB.hpp",
+     ]
++    if (ozone_platform_wayland) {
++      sources += [
++        "WaylandSurfaceKHR.cpp",
++        "WaylandSurfaceKHR.hpp",
++        "libWaylandClient.cpp",
++        "libWaylandClient.hpp",
++      ]
++    }
+   }
+ 
+   if (is_win) {

Reply via email to