diff options
Diffstat (limited to 'media-libs/mesa')
-rw-r--r-- | media-libs/mesa/files/clang_resource_dir.patch | 24 | ||||
-rw-r--r-- | media-libs/mesa/mesa-9999.ebuild | 5 |
2 files changed, 29 insertions, 0 deletions
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 && |