sci-physics/root: disable cling -isystem injection.
authorBenda Xu <heroxbd@gentoo.org>
Mon, 16 Apr 2018 06:31:03 +0000 (15:31 +0900)
committerBenda Xu <heroxbd@gentoo.org>
Mon, 16 Apr 2018 06:31:19 +0000 (15:31 +0900)
  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

sci-physics/root/files/root-6.12.06_cling-runtime-sysroot.patch [new file with mode: 0644]
sci-physics/root/root-6.12.06-r1.ebuild

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 (file)
index 0000000..1f8e056
--- /dev/null
@@ -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];
index ab9b95a0ad454292d63ac81259c7422439713581..f3b7aeca416d538e727435421a4b1cd34aacb3e8 100644 (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"