summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-09-27 02:49:30 +0100
committerSam James <sam@gentoo.org>2023-09-27 02:51:44 +0100
commit90da97e78ade65753dfb2e0fb30ec9067c5aa766 (patch)
treebf1b0c528827478cde220b057c2a0135320134f9
parentdev-python/versioneer: rename distfile for retag (diff)
downloadgentoo-90da97e78ade65753dfb2e0fb30ec9067c5aa766.tar.gz
gentoo-90da97e78ade65753dfb2e0fb30ec9067c5aa766.tar.bz2
gentoo-90da97e78ade65753dfb2e0fb30ec9067c5aa766.zip
media-libs/mesa: fix LLVM detection
Meson will prefer looking up LLVM via CMake to llvm-config and it's non-trivial to try coerce CMake into looking at the right thing, so we end up trying to use the wrong LLVM and exploding - fortunately just at configure time. Add a patch to force using llvm-config - which llvm.eclass controls the availability of - and avoid the CMake problem entirely. Of course, it'd be far better if LLVM just finally adopted pkg-config. Bug: https://bugs.gentoo.org/914632 Bug: https://bugs.gentoo.org/914742 Bug: https://bugs.gentoo.org/914775 Closes: https://bugs.gentoo.org/907965 Thanks-to: Eli Schwartz <eschwartz93@gmail.com> Signed-off-by: Sam James <sam@gentoo.org>
-rw-r--r--media-libs/mesa/files/clang_config_tool.patch13
-rw-r--r--media-libs/mesa/mesa-23.1.8.ebuild3
-rw-r--r--media-libs/mesa/mesa-23.2.0_rc4.ebuild5
-rw-r--r--media-libs/mesa/mesa-9999.ebuild5
4 files changed, 26 insertions, 0 deletions
diff --git a/media-libs/mesa/files/clang_config_tool.patch b/media-libs/mesa/files/clang_config_tool.patch
new file mode 100644
index 000000000000..ed85b9215cdc
--- /dev/null
+++ b/media-libs/mesa/files/clang_config_tool.patch
@@ -0,0 +1,13 @@
+Workaround the CMake dependency lookup returning a different LLVM to llvm-config.
+
+Bug: https://bugs.gentoo.org/907965
+--- a/meson.build
++++ b/meson.build
+@@ -1691,6 +1691,7 @@ if _llvm.allowed()
+ static : not _shared_llvm,
+ fallback : ['llvm', 'dep_llvm'],
+ include_type : 'system',
++ method: 'config-tool',
+ )
+ with_llvm = dep_llvm.found()
+ endif
diff --git a/media-libs/mesa/mesa-23.1.8.ebuild b/media-libs/mesa/mesa-23.1.8.ebuild
index 0eff5117e2be..dabe2d09e96b 100644
--- a/media-libs/mesa/mesa-23.1.8.ebuild
+++ b/media-libs/mesa/mesa-23.1.8.ebuild
@@ -205,6 +205,9 @@ llvm_check_deps() {
PATCHES=(
# Temporary rusticl workaround: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7717#note_1832122
"${FILESDIR}/clang_resource_dir.patch"
+
+ # Workaround the CMake dependency lookup returning a different LLVM to llvm-config, bug #907965
+ "${FILESDIR}/clang_config_tool.patch"
)
pkg_pretend() {
diff --git a/media-libs/mesa/mesa-23.2.0_rc4.ebuild b/media-libs/mesa/mesa-23.2.0_rc4.ebuild
index 02661bf2530d..f2d088041259 100644
--- a/media-libs/mesa/mesa-23.2.0_rc4.ebuild
+++ b/media-libs/mesa/mesa-23.2.0_rc4.ebuild
@@ -193,6 +193,11 @@ x86? (
usr/lib/libGLX_mesa.so.0.0.0
)"
+PATCHES=(
+ # Workaround the CMake dependency lookup returning a different LLVM to llvm-config, bug #907965
+ "${FILESDIR}/clang_config_tool.patch"
+)
+
llvm_check_deps() {
if use opencl; then
has_version "sys-devel/clang:${LLVM_SLOT}[${LLVM_USE_DEPS}]" || return 1
diff --git a/media-libs/mesa/mesa-9999.ebuild b/media-libs/mesa/mesa-9999.ebuild
index 62cd12fe1eee..25ed409ab65a 100644
--- a/media-libs/mesa/mesa-9999.ebuild
+++ b/media-libs/mesa/mesa-9999.ebuild
@@ -187,6 +187,11 @@ BDEPEND="
S="${WORKDIR}/${MY_P}"
EGIT_CHECKOUT_DIR=${S}
+PATCHES=(
+ # Workaround the CMake dependency lookup returning a different LLVM to llvm-config, bug #907965
+ "${FILESDIR}/clang_config_tool.patch"
+)
+
QA_WX_LOAD="
x86? (
usr/lib/libglapi.so.0.0.0