commit: b2f6e08f25278f0140d2b159d705777d5554f4e8 Author: Benda Xu <heroxbd <AT> gentoo <DOT> org> AuthorDate: Mon Apr 16 06:31:03 2018 +0000 Commit: Benda XU <heroxbd <AT> gentoo <DOT> org> CommitDate: Mon Apr 16 06:31:19 2018 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b2f6e08f
sci-physics/root: disable cling -isystem injection. This fixes the ACLiC failure on Prefix. We use SYSROOT to guide llvm in ROOT to locate headers and libraries at build time. Such feature is not to be used at runtime. The patch has no effect to usual Gentoo, therefore applying it unconditionally. Closes: https://bugs.gentoo.org/653124 Package-Manager: Portage-2.3.28, Repoman-2.3.9 .../files/root-6.12.06_cling-runtime-sysroot.patch | 22 ++++++++++++++++++++++ sci-physics/root/root-6.12.06-r1.ebuild | 1 + 2 files changed, 23 insertions(+) diff --git a/sci-physics/root/files/root-6.12.06_cling-runtime-sysroot.patch b/sci-physics/root/files/root-6.12.06_cling-runtime-sysroot.patch new file mode 100644 index 00000000000..1f8e056e946 --- /dev/null +++ b/sci-physics/root/files/root-6.12.06_cling-runtime-sysroot.patch @@ -0,0 +1,22 @@ +On Prefix, we have specified SYSROOT for llvm at build time. But we + do not need sysroot at runtime as we are not crosscompiling. + +This patch disable the sysroot feature for cling, so that ACLiC can +work on Prefix. + +Index: root-6.12.06/interpreter/cling/lib/Utils/Paths.cpp +=================================================================== +--- root-6.12.06.orig/interpreter/cling/lib/Utils/Paths.cpp ++++ root-6.12.06/interpreter/cling/lib/Utils/Paths.cpp +@@ -57,11 +57,6 @@ using namespace clang; + void CopyIncludePaths(const clang::HeaderSearchOptions& Opts, + llvm::SmallVectorImpl<std::string>& incpaths, + bool withSystem, bool withFlags) { +- if (withFlags && Opts.Sysroot != "/") { +- incpaths.push_back("-isysroot"); +- incpaths.push_back(Opts.Sysroot); +- } +- + /// User specified include entries. + for (unsigned i = 0, e = Opts.UserEntries.size(); i != e; ++i) { + const HeaderSearchOptions::Entry &E = Opts.UserEntries[i]; diff --git a/sci-physics/root/root-6.12.06-r1.ebuild b/sci-physics/root/root-6.12.06-r1.ebuild index ab9b95a0ad4..f3b7aeca416 100644 --- a/sci-physics/root/root-6.12.06-r1.ebuild +++ b/sci-physics/root/root-6.12.06-r1.ebuild @@ -134,6 +134,7 @@ src_prepare() { cmake-utils_src_prepare hprefixify build/CMakeLists.txt core/clingutils/CMakeLists.txt + eapply "${FILESDIR}"/${PN}-6.12.06_cling-runtime-sysroot.patch # CSS should use local images sed -i -e 's,http://.*/,,' etc/html/ROOT.css || die "html sed failed"
