summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenda Xu <heroxbd@gentoo.org>2018-04-16 15:31:03 +0900
committerBenda Xu <heroxbd@gentoo.org>2018-04-16 15:31:19 +0900
commitb2f6e08f25278f0140d2b159d705777d5554f4e8 (patch)
treeafa44f6e1a10b92767a0c57d5d6dc26ab0689c8e
parentdev-ruby/ruby-rc4: add ruby25 (diff)
downloadgentoo-b2f6e08f25278f0140d2b159d705777d5554f4e8.tar.gz
gentoo-b2f6e08f25278f0140d2b159d705777d5554f4e8.tar.bz2
gentoo-b2f6e08f25278f0140d2b159d705777d5554f4e8.zip
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
-rw-r--r--sci-physics/root/files/root-6.12.06_cling-runtime-sysroot.patch22
-rw-r--r--sci-physics/root/root-6.12.06-r1.ebuild1
2 files changed, 23 insertions, 0 deletions
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"