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"

Reply via email to