From d0fc8d9e3e975b10b96034936ee712114ad654df Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Tue, 23 Mar 2021 22:34:02 +0000 Subject: [PATCH] Rebuild for llvm 12 --- mesa-llvm12.patch | 118 ++++++++++++++++++++++++++++++++++++++++++++++ mesa.spec | 8 +++- 2 files changed, 125 insertions(+), 1 deletion(-) create mode 100644 mesa-llvm12.patch diff --git a/mesa-llvm12.patch b/mesa-llvm12.patch new file mode 100644 index 0000000..d488100 --- /dev/null +++ b/mesa-llvm12.patch @@ -0,0 +1,118 @@ +From d1eab2b1eb1dec10197db7d25e27d97f6ca1a2ea Mon Sep 17 00:00:00 2001 +From: Karol Herbst +Date: Wed, 24 Feb 2021 12:44:41 +0100 +Subject: [PATCH] clover: Fix build with llvm-12. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fix build error after LLVM commit c495dfe0268b ("[clang][cli] NFC: +Decrease the scope of ParseLangArgs parameters"). + +../src/gallium/frontends/clover/llvm/invocation.cpp: In function ‘std::unique_ptr {anonymous}::create_compiler_instance(const clover::device&, const string&, const std::vector >&, std::string&)’: +../src/gallium/frontends/clover/llvm/invocation.cpp:252:55: error: cannot convert ‘clang::PreprocessorOptions’ to ‘std::vector >&’ + 252 | c->getPreprocessorOpts(), + | ~~~~~~~~~~~~~~~~~~~~~~^~ + | | + | clang::PreprocessorOptions + +Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4114 +Signed-off-by: Karol Herbst +Reviewed-by: Francisco Jerez +Part-of: +--- + src/gallium/frontends/clover/llvm/compat.hpp | 22 +++++++++++++++---- + .../frontends/clover/llvm/invocation.cpp | 5 ++--- + 2 files changed, 20 insertions(+), 7 deletions(-) + +diff --git a/src/gallium/frontends/clover/llvm/compat.hpp b/src/gallium/frontends/clover/llvm/compat.hpp +index 78eb8c982a8..d537819f292 100644 +--- a/src/gallium/frontends/clover/llvm/compat.hpp ++++ b/src/gallium/frontends/clover/llvm/compat.hpp +@@ -38,14 +38,14 @@ + + #include + ++#include ++#include ++#include + #include + #include ++#include + #include + #include +-#include +- +-#include +-#include + + #include + #include +@@ -88,6 +88,20 @@ namespace clover { + cinv, copts.data(), copts.data() + copts.size(), diag); + #endif + } ++ ++ static inline void ++ compiler_set_lang_defaults(std::unique_ptr &c, ++ clang::InputKind ik, const ::llvm::Triple& triple, ++ clang::LangStandard::Kind d) ++ { ++ c->getInvocation().setLangDefaults(c->getLangOpts(), ik, triple, ++#if LLVM_VERSION_MAJOR >= 12 ++ c->getPreprocessorOpts().Includes, ++#else ++ c->getPreprocessorOpts(), ++#endif ++ d); ++ } + } + } + } +diff --git a/src/gallium/frontends/clover/llvm/invocation.cpp b/src/gallium/frontends/clover/llvm/invocation.cpp +index 536e952b100..30592e4343b 100644 +--- a/src/gallium/frontends/clover/llvm/invocation.cpp ++++ b/src/gallium/frontends/clover/llvm/invocation.cpp +@@ -247,9 +247,8 @@ namespace { + // http://www.llvm.org/bugs/show_bug.cgi?id=19735 + c->getDiagnosticOpts().ShowCarets = false; + +- c->getInvocation().setLangDefaults(c->getLangOpts(), +- compat::ik_opencl, ::llvm::Triple(target.triple), +- c->getPreprocessorOpts(), ++ compat::compiler_set_lang_defaults(c, compat::ik_opencl, ++ ::llvm::Triple(target.triple), + get_language_version(opts, device_clc_version)); + + c->createDiagnostics(new clang::TextDiagnosticPrinter( +-- +GitLab + +From f0dccd957879ff642cfd921dda6e8b04dd35fec4 Mon Sep 17 00:00:00 2001 +From: Karol Herbst +Date: Tue, 2 Mar 2021 20:09:39 +0100 +Subject: [PATCH] clover: Add missing include for llvm-12 build fix + +Fixes: d1eab2b1eb1 ("clover: Fix build with llvm-12.") +Signed-off-by: Karol Herbst +Reviewed-by: Francisco Jerez +Part-of: +--- + src/gallium/frontends/clover/llvm/compat.hpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/gallium/frontends/clover/llvm/compat.hpp b/src/gallium/frontends/clover/llvm/compat.hpp +index d537819f292..380d16a8346 100644 +--- a/src/gallium/frontends/clover/llvm/compat.hpp ++++ b/src/gallium/frontends/clover/llvm/compat.hpp +@@ -49,6 +49,7 @@ + + #include + #include ++#include + + #if LLVM_VERSION_MAJOR >= 10 + #include +-- +GitLab + diff --git a/mesa.spec b/mesa.spec index 48eb30d..713b564 100644 --- a/mesa.spec +++ b/mesa.spec @@ -52,7 +52,7 @@ Name: mesa Summary: Mesa graphics libraries %global ver 21.0.0 Version: %{lua:ver = string.gsub(rpm.expand("%{ver}"), "-", "~"); print(ver)} -Release: 1%{?dist} +Release: 2%{?dist} License: MIT URL: http://www.mesa3d.org @@ -62,6 +62,9 @@ Source0: https://mesa.freedesktop.org/archive/%{name}-%{ver}.tar.xz # Fedora opts to ignore the optional part of clause 2 and treat that code as 2 clause BSD. Source1: Mesa-MLAA-License-Clarification-Email.txt +# https://gitlab.freedesktop.org/mesa/mesa/-/issues/4442 +Patch0: mesa-llvm12.patch + BuildRequires: meson >= 0.45 BuildRequires: gcc BuildRequires: gcc-c++ @@ -595,6 +598,9 @@ popd %endif %changelog +* Tue Mar 23 2021 Pete Walter - 21.0.0-2 +- Rebuild for llvm 12 + * Fri Mar 12 2021 Pete Walter - 21.0.0-1 - Update to 21.0.0