sys-devel/clang: add prefix includes patch for darwin too
authorFabian Groffen <grobian@gentoo.org>
Tue, 2 Jan 2018 13:53:46 +0000 (14:53 +0100)
committerFabian Groffen <grobian@gentoo.org>
Tue, 2 Jan 2018 13:53:56 +0000 (14:53 +0100)
Like for older llvm versions, ensure clang uses the prefix include paths
on Darwin.

Closes: https://bugs.gentoo.org/642644
Package-Manager: Portage-2.3.13, Repoman-2.3.3

sys-devel/clang/clang-5.0.1.ebuild
sys-devel/clang/files/5.0.0/darwin_prefix-include-paths.patch [new file with mode: 0644]

index 9aeef0ecf6d457fb862ace13929f56fbd760b5e5..2e3b5d39486fd821913b094cebbb2b009a8e4b0c 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
@@ -9,7 +9,7 @@ CMAKE_MIN_VERSION=3.7.0-r1
 PYTHON_COMPAT=( python2_7 )
 
 inherit cmake-utils eapi7-ver flag-o-matic llvm \
-       multilib-minimal pax-utils python-single-r1 toolchain-funcs
+       multilib-minimal pax-utils prefix python-single-r1 toolchain-funcs
 
 MY_P=cfe-${PV/_/}.src
 EXTRA_P=clang-tools-extra-${PV/_/}.src
@@ -68,6 +68,8 @@ CMAKE_BUILD_TYPE=RelWithDebInfo
 PATCHES=(
        # fix finding compiler-rt libs
        "${FILESDIR}"/5.0.0/0001-Driver-Use-arch-type-to-find-compiler-rt-libraries-o.patch
+       # add Prefix include paths for Darwin
+       "${FILESDIR}"/5.0.0/darwin_prefix-include-paths.patch
 )
 
 # Multilib notes:
@@ -110,6 +112,11 @@ src_unpack() {
        fi
 }
 
+src_prepare() {
+       default
+       eprefixify lib/Frontend/InitHeaderSearch.cpp
+}
+
 multilib_src_configure() {
        local llvm_version=$(llvm-config --version) || die
        local clang_version=$(ver_cut 1-3 "${llvm_version}")
diff --git a/sys-devel/clang/files/5.0.0/darwin_prefix-include-paths.patch b/sys-devel/clang/files/5.0.0/darwin_prefix-include-paths.patch
new file mode 100644 (file)
index 0000000..7744b94
--- /dev/null
@@ -0,0 +1,18 @@
+--- a/lib/Frontend/InitHeaderSearch.cpp
++++ b/lib/Frontend/InitHeaderSearch.cpp
+@@ -233,6 +233,7 @@
+     case llvm::Triple::Bitrig:
+       break;
+     default:
++      AddPath("@GENTOO_PORTAGE_EPREFIX@/usr/include", System, false);
+       // FIXME: temporary hack: hard-coded paths.
+       AddPath("/usr/local/include", System, false);
+       break;
+@@ -505,6 +506,7 @@
+   // Add the default framework include paths on Darwin.
+   if (HSOpts.UseStandardSystemIncludes) {
+     if (triple.isOSDarwin()) {
++      AddPath("@GENTOO_PORTAGE_EPREFIX@/Frameworks", System, true);
+       AddPath("/System/Library/Frameworks", System, true);
+       AddPath("/Library/Frameworks", System, true);
+     }