summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIonen Wolkens <ionen@gentoo.org>2024-02-07 00:22:11 -0500
committerIonen Wolkens <ionen@gentoo.org>2024-02-14 07:20:52 -0500
commit37bd373cd33c36f8dd44e71be25fa6ea24cf4588 (patch)
tree35ea788841c26164868395c62bb1bb099e3f61f3
parent17813c8c6e4bdd94e8247c13955c4fc810a43e1f (diff)
downloadgentoo-37bd373cd33c36f8dd44e71be25fa6ea24cf4588.tar.gz
gentoo-37bd373cd33c36f8dd44e71be25fa6ea24cf4588.tar.bz2
gentoo-37bd373cd33c36f8dd44e71be25fa6ea24cf4588.zip
dev-qt/qtquick3d: fix build with gcc14
Bug: https://bugs.gentoo.org/917407 Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
-rw-r--r--dev-qt/qtquick3d/files/qtquick3d-6.6.2-gcc14.patch23
-rw-r--r--dev-qt/qtquick3d/qtquick3d-6.6.9999.ebuild4
-rw-r--r--dev-qt/qtquick3d/qtquick3d-6.7.9999.ebuild4
-rw-r--r--dev-qt/qtquick3d/qtquick3d-6.9999.ebuild4
4 files changed, 35 insertions, 0 deletions
diff --git a/dev-qt/qtquick3d/files/qtquick3d-6.6.2-gcc14.patch b/dev-qt/qtquick3d/files/qtquick3d-6.6.2-gcc14.patch
new file mode 100644
index 000000000000..f6362641a00c
--- /dev/null
+++ b/dev-qt/qtquick3d/files/qtquick3d-6.6.2-gcc14.patch
@@ -0,0 +1,23 @@
+Qt undefs __AVX__ and others[1] to prevent bundled embree from using
+AVX/SSE4.2 code paths and result in linking errors, but this appears
+insufficient with gcc14[2].
+
+Until Qt improves this, for simplicity pass -mno-* to bundled embree
+as a workaround which lets the compiler disable these instead and
+that includes other features which depend on these.
+
+(note that embree is only used on amd64 and aarch64)
+
+Ideal would be to unbundle this and let system embree use the full
+feature set, but there is no machinery to easily allow it.
+
+[1] https://github.com/qt/qtquick3d/commit/7980cfd0
+[2] https://bugs.gentoo.org/917407
+--- a/src/3rdparty/embree/CMakeLists.txt
++++ b/src/3rdparty/embree/CMakeLists.txt
+@@ -64,2 +64,5 @@
+ # Use SSE2 only, ignore AVX/SSE4.2 for now
++if (TEST_architecture_arch STREQUAL x86_64)
++ qt_internal_extend_target(BundledEmbree COMPILE_OPTIONS -mno-avx -mno-sse4.2)
++endif()
+ qt_internal_extend_target(BundledEmbree DEFINES
diff --git a/dev-qt/qtquick3d/qtquick3d-6.6.9999.ebuild b/dev-qt/qtquick3d/qtquick3d-6.6.9999.ebuild
index d3388e178e73..f1ff25e4b555 100644
--- a/dev-qt/qtquick3d/qtquick3d-6.6.9999.ebuild
+++ b/dev-qt/qtquick3d/qtquick3d-6.6.9999.ebuild
@@ -29,6 +29,10 @@ DEPEND="
vulkan? ( dev-util/vulkan-headers )
"
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.6.2-gcc14.patch
+)
+
CMAKE_SKIP_TESTS=(
# collada support is disabled in system media-libs/assimp (bug #891787)
tst_qquick3dassetimport
diff --git a/dev-qt/qtquick3d/qtquick3d-6.7.9999.ebuild b/dev-qt/qtquick3d/qtquick3d-6.7.9999.ebuild
index d3388e178e73..f1ff25e4b555 100644
--- a/dev-qt/qtquick3d/qtquick3d-6.7.9999.ebuild
+++ b/dev-qt/qtquick3d/qtquick3d-6.7.9999.ebuild
@@ -29,6 +29,10 @@ DEPEND="
vulkan? ( dev-util/vulkan-headers )
"
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.6.2-gcc14.patch
+)
+
CMAKE_SKIP_TESTS=(
# collada support is disabled in system media-libs/assimp (bug #891787)
tst_qquick3dassetimport
diff --git a/dev-qt/qtquick3d/qtquick3d-6.9999.ebuild b/dev-qt/qtquick3d/qtquick3d-6.9999.ebuild
index d3388e178e73..f1ff25e4b555 100644
--- a/dev-qt/qtquick3d/qtquick3d-6.9999.ebuild
+++ b/dev-qt/qtquick3d/qtquick3d-6.9999.ebuild
@@ -29,6 +29,10 @@ DEPEND="
vulkan? ( dev-util/vulkan-headers )
"
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.6.2-gcc14.patch
+)
+
CMAKE_SKIP_TESTS=(
# collada support is disabled in system media-libs/assimp (bug #891787)
tst_qquick3dassetimport