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
This commit is contained in:
Benda Xu
2018-04-16 15:31:03 +09:00
parent c9fb9984c7
commit b2f6e08f25
2 changed files with 23 additions and 0 deletions

View File

@@ -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];

View File

@@ -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"