commit:     5a12ed0f73c8773aaa230e8d66ffce7ea329f866
Author:     Bernard Cafarelli <voyageur <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 24 15:29:03 2015 +0000
Commit:     Bernard Cafarelli <voyageur <AT> gentoo <DOT> org>
CommitDate: Mon Aug 24 15:30:29 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5a12ed0f

sys-devel/llvm: fix live ebuild

Fixes bugs #553416, #557100 and #557154

 ...g-runtime-into-usr-lib-without-suffix-3.8.patch | 37 ++++++++++++++++++++++
 .../llvm-3.8-allow_custom_cmake_build_types.patch  | 14 ++++++++
 sys-devel/llvm/llvm-3.7.0_rc2.ebuild               |  2 +-
 sys-devel/llvm/llvm-9999.ebuild                    |  8 ++++-
 4 files changed, 59 insertions(+), 2 deletions(-)

diff --git 
a/sys-devel/llvm/files/cmake/clang-0001-Install-clang-runtime-into-usr-lib-without-suffix-3.8.patch
 
b/sys-devel/llvm/files/cmake/clang-0001-Install-clang-runtime-into-usr-lib-without-suffix-3.8.patch
new file mode 100644
index 0000000..0dd976c
--- /dev/null
+++ 
b/sys-devel/llvm/files/cmake/clang-0001-Install-clang-runtime-into-usr-lib-without-suffix-3.8.patch
@@ -0,0 +1,37 @@
+diff --git a/lib/Driver/Driver.cpp b/lib/Driver/Driver.cpp
+index fa7780f..e3a6c8f 100644
+--- a/tools/clang/lib/Driver/Driver.cpp
++++ b/tools/clang/lib/Driver/Driver.cpp
+@@ -66,8 +66,7 @@ Driver::Driver(StringRef ClangExecutable, StringRef 
DefaultTargetTriple,
+   if (ClangResourceDir != "") {
+     llvm::sys::path::append(P, ClangResourceDir);
+   } else {
+-    StringRef ClangLibdirSuffix(CLANG_LIBDIR_SUFFIX);
+-    llvm::sys::path::append(P, "..", Twine("lib") + ClangLibdirSuffix, 
"clang",
++    llvm::sys::path::append(P, "..", "lib", "clang",
+                             CLANG_VERSION_STRING);
+   }
+   ResourceDir = P.str();
+diff --git a/lib/Frontend/CompilerInvocation.cpp 
b/lib/Frontend/CompilerInvocation.cpp
+index f078b37..0c514fc 100644
+--- a/tools/clang/lib/Frontend/CompilerInvocation.cpp
++++ b/tools/clang/lib/Frontend/CompilerInvocation.cpp
+@@ -1097,7 +1097,7 @@ std::string CompilerInvocation::GetResourcesPath(const 
char *Argv0,
+   if (ClangResourceDir != "")
+     llvm::sys::path::append(P, ClangResourceDir);
+   else
+-    llvm::sys::path::append(P, "..", Twine("lib") + CLANG_LIBDIR_SUFFIX,
++    llvm::sys::path::append(P, "..", "lib", "clang",
+                             "clang", CLANG_VERSION_STRING);
+ 
+   return P.str();
+diff --git a/lib/Headers/CMakeLists.txt b/lib/Headers/CMakeLists.txt
+index 7de5fbe..49f439b 100644
+--- a/tools/clang/lib/Headers/CMakeLists.txt
++++ b/tools/clang/lib/Headers/CMakeLists.txt
+@@ -98,4 +98,4 @@ set_target_properties(clang-headers PROPERTIES FOLDER "Misc")
+ install(
+   FILES ${files} ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h
+   PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
+-  DESTINATION lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include)
++  DESTINATION lib/clang/${CLANG_VERSION}/include)

diff --git 
a/sys-devel/llvm/files/cmake/llvm-3.8-allow_custom_cmake_build_types.patch 
b/sys-devel/llvm/files/cmake/llvm-3.8-allow_custom_cmake_build_types.patch
new file mode 100644
index 0000000..e42c08a
--- /dev/null
+++ b/sys-devel/llvm/files/cmake/llvm-3.8-allow_custom_cmake_build_types.patch
@@ -0,0 +1,14 @@
+--- a/CMakeLists.txt   2015-08-12 20:04:55.397881480 +0200
++++ b/CMakeLists.txt   2015-08-12 20:05:06.625741113 +0200
+@@ -152,11 +152,6 @@
+ 
+ string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE)
+ 
+-if (CMAKE_BUILD_TYPE AND
+-    NOT uppercase_CMAKE_BUILD_TYPE MATCHES 
"^(DEBUG|RELEASE|RELWITHDEBINFO|MINSIZEREL)$")
+-  message(FATAL_ERROR "Invalid value for CMAKE_BUILD_TYPE: 
${CMAKE_BUILD_TYPE}")
+-endif()
+-
+ set(LLVM_LIBDIR_SUFFIX "" CACHE STRING "Define suffix of library directory 
name (32/64)" )
+ 
+ # They are used as destination of target generators.

diff --git a/sys-devel/llvm/llvm-3.7.0_rc2.ebuild 
b/sys-devel/llvm/llvm-3.7.0_rc2.ebuild
index b2ed256..3ea912f 100644
--- a/sys-devel/llvm/llvm-3.7.0_rc2.ebuild
+++ b/sys-devel/llvm/llvm-3.7.0_rc2.ebuild
@@ -21,7 +21,7 @@ 
SRC_URI="http://llvm.org/pre-releases/${PV/_rc*}/${PV/3.7.0_}/${P/_}.src.tar.xz
 
 LICENSE="UoI-NCSA"
 SLOT="0/${PV}"
-KEYWORDS=""
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd 
~x64-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos 
~x86-macos"
 IUSE="clang debug +doc gold libedit +libffi lldb multitarget ncurses ocaml
        python +static-analyzer test xml video_cards_radeon kernel_Darwin"
 

diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index aa013b6..a11342a 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -168,6 +168,9 @@ src_prepare() {
        # https://llvm.org/bugs/show_bug.cgi?id=18341
        epatch "${FILESDIR}"/cmake/0004-cmake-Do-not-install-libgtest.patch
 
+       # Allow custom cmake build types (like 'Gentoo')
+       epatch 
"${FILESDIR}"/cmake/${PN}-3.8-allow_custom_cmake_build_types.patch
+
        if use clang; then
                # Automatically select active system GCC's libraries, bugs 
#406163 and #417913
                epatch 
"${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch
@@ -179,13 +182,16 @@ src_prepare() {
 
                # Install clang runtime into /usr/lib/clang
                # https://llvm.org/bugs/show_bug.cgi?id=23792
-               epatch 
"${FILESDIR}"/cmake/clang-0001-Install-clang-runtime-into-usr-lib-without-suffix.patch
+               epatch 
"${FILESDIR}"/cmake/clang-0001-Install-clang-runtime-into-usr-lib-without-suffix-3.8.patch
                epatch 
"${FILESDIR}"/cmake/compiler-rt-0001-cmake-Install-compiler-rt-into-usr-lib-without-suffi.patch
 
                # Make it possible to override CLANG_LIBDIR_SUFFIX
                # (that is used only to find LLVMgold.so)
                # https://llvm.org/bugs/show_bug.cgi?id=23793
                epatch 
"${FILESDIR}"/cmake/clang-0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch
+
+               # Workaround bug #553416 until upstream fixes it
+               epatch "${FILESDIR}"/clang-3.7-strip_doc_refs.patch
        fi
 
        if use lldb; then

Reply via email to