commit:     1423ea88c441acee76b8687096a862a697646df1
Author:     Niccolò Belli <niccolo.belli <AT> linuxsystems <DOT> it>
AuthorDate: Wed Apr 12 07:05:43 2023 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Fri May 12 17:18:42 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1423ea88

media-libs/mesa: workaround hardcoded clang directory

Closes: https://github.com/gentoo/gentoo/pull/28209
Signed-off-by: Niccolò Belli <niccolo.belli <AT> linuxsystems.it>
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>

 media-libs/mesa/files/clang_resource_dir.patch | 24 ++++++++++++++++++++++++
 media-libs/mesa/mesa-9999.ebuild               |  5 +++++
 2 files changed, 29 insertions(+)

diff --git a/media-libs/mesa/files/clang_resource_dir.patch 
b/media-libs/mesa/files/clang_resource_dir.patch
new file mode 100644
index 000000000000..6e0c3c7cb745
--- /dev/null
+++ b/media-libs/mesa/files/clang_resource_dir.patch
@@ -0,0 +1,24 @@
+https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19232#note_1776640
+https://gitlab.freedesktop.org/mesa/mesa/-/issues/7717#note_1832122
+
+diff --git a/src/compiler/clc/clc_helpers.cpp 
b/src/compiler/clc/clc_helpers.cpp
+index 80bc84831e4..34d156bf227 100644
+--- a/src/compiler/clc/clc_helpers.cpp
++++ b/src/compiler/clc/clc_helpers.cpp
+@@ -39,6 +39,7 @@
+ #include <llvm-c/Target.h>
+ #include <LLVMSPIRVLib/LLVMSPIRVLib.h>
+ 
++#include <clang/Config/config.h>
+ #include <clang/Driver/Driver.h>
+ #include <clang/CodeGen/CodeGenAction.h>
+ #include <clang/Lex/PreprocessorOptions.h>
+@@ -866,7 +867,7 @@ clc_compile_to_llvm_module(LLVMContext &llvm_ctx,
+    // because we might have linked clang statically.
+    auto libclang_path = fs::path(LLVM_LIB_DIR) / "libclang.so";
+    auto clang_res_path =
+-      
fs::path(clang::driver::Driver::GetResourcesPath(libclang_path.string())) / 
"include";
++      
fs::path(clang::driver::Driver::GetResourcesPath(libclang_path.string(), 
CLANG_RESOURCE_DIR)) / "include";
+ 
+    c->getHeaderSearchOpts().UseBuiltinIncludes = true;
+    c->getHeaderSearchOpts().UseStandardSystemIncludes = true;

diff --git a/media-libs/mesa/mesa-9999.ebuild b/media-libs/mesa/mesa-9999.ebuild
index ca386dd38126..80d191b25459 100644
--- a/media-libs/mesa/mesa-9999.ebuild
+++ b/media-libs/mesa/mesa-9999.ebuild
@@ -172,6 +172,11 @@ llvm_check_deps() {
        has_version "sys-devel/llvm:${LLVM_SLOT}[${LLVM_USE_DEPS}]"
 }
 
+PATCHES=(
+       # Temporary rusticl workaround: 
https://gitlab.freedesktop.org/mesa/mesa/-/issues/7717#note_1832122
+       "${FILESDIR}/clang_resource_dir.patch"
+)
+
 pkg_pretend() {
        if use vulkan; then
                if ! use video_cards_d3d12 &&

Reply via email to