commit:     0257fe53aebd6c2a5cd3a37e222222c25ad9fa52
Author:     Bernard Cafarelli <voyageur <AT> gentoo <DOT> org>
AuthorDate: Mon Sep  7 15:15:34 2015 +0000
Commit:     Bernard Cafarelli <voyageur <AT> gentoo <DOT> org>
CommitDate: Mon Sep  7 15:18:20 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0257fe53

sys-devel/llvm: fix bugs #559588, #559828, #559850

Warn about needed library for OpenMP support in clang, thanks Jeremi Piotrowski 
<jeremi.piotrowski <AT> gmail.com> in #559588
Install utilities like FileCheck, thanks William Throwe <wtt6 <AT> cornell.edu> 
in #559828
Adjust multilib dependency on libxml2, thanks Alexander Stein <alexanders83 
<AT> web.de> in #559850

Package-Manager: portage-2.2.20.1

 .../{llvm-9999.ebuild => llvm-3.7.0-r1.ebuild}     | 72 +++++++++++-----------
 sys-devel/llvm/llvm-9999.ebuild                    | 10 ++-
 2 files changed, 44 insertions(+), 38 deletions(-)

diff --git a/sys-devel/llvm/llvm-9999.ebuild 
b/sys-devel/llvm/llvm-3.7.0-r1.ebuild
similarity index 88%
copy from sys-devel/llvm/llvm-9999.ebuild
copy to sys-devel/llvm/llvm-3.7.0-r1.ebuild
index 325a857..c1ef867 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-3.7.0-r1.ebuild
@@ -7,19 +7,22 @@ EAPI=5
 : ${CMAKE_MAKEFILE_GENERATOR:=ninja}
 PYTHON_COMPAT=( python2_7 pypy )
 
-inherit check-reqs cmake-utils eutils flag-o-matic git-r3 multilib \
+inherit check-reqs cmake-utils eutils flag-o-matic multilib \
        multilib-minimal python-r1 toolchain-funcs pax-utils
 
 DESCRIPTION="Low Level Virtual Machine"
 HOMEPAGE="http://llvm.org/";
-SRC_URI=""
-EGIT_REPO_URI="http://llvm.org/git/llvm.git
-       https://github.com/llvm-mirror/llvm.git";
+SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
+       clang? ( http://llvm.org/releases/${PV}/compiler-rt-${PV}.src.tar.xz
+               http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.xz
+               
http://llvm.org/releases/${PV}/clang-tools-extra-${PV}.src.tar.xz )
+       lldb? ( http://llvm.org/releases/${PV}/lldb-${PV}.src.tar.xz )
+       !doc? ( http://dev.gentoo.org/~voyageur/distfiles/${P}-manpages.tar.bz2 
)"
 
 LICENSE="UoI-NCSA"
 SLOT="0/${PV}"
-KEYWORDS=""
-IUSE="clang debug +doc gold libedit +libffi lldb multitarget ncurses ocaml
+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"
 
 COMMON_DEPEND="
@@ -30,7 +33,7 @@ COMMON_DEPEND="
                        dev-lang/perl:*
                        ${PYTHON_DEPS}
                )
-               xml? ( dev-libs/libxml2:2= )
+               xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
        )
        gold? ( >=sys-devel/binutils-2.22:*[cxx] )
        libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
@@ -70,6 +73,8 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}
        lldb? ( clang )
        test? ( || ( $(python_gen_useflags 'python*') ) )"
 
+S=${WORKDIR}/${P/_}.src
+
 pkg_pretend() {
        # in megs
        # !clang !debug !multitarget -O2       400
@@ -123,40 +128,28 @@ pkg_setup() {
 }
 
 src_unpack() {
-       if use clang; then
-               git-r3_fetch "http://llvm.org/git/compiler-rt.git
-                       https://github.com/llvm-mirror/compiler-rt.git";
-               git-r3_fetch "http://llvm.org/git/clang.git
-                       https://github.com/llvm-mirror/clang.git";
-               git-r3_fetch "http://llvm.org/git/clang-tools-extra.git
-                       https://github.com/llvm-mirror/clang-tools-extra.git";
-       fi
-       if use lldb; then
-               git-r3_fetch "http://llvm.org/git/lldb.git
-                       https://github.com/llvm-mirror/lldb.git";
-       fi
-       git-r3_fetch
+       default
 
        if use clang; then
-               git-r3_checkout http://llvm.org/git/compiler-rt.git \
-                       "${S}"/projects/compiler-rt
-               git-r3_checkout http://llvm.org/git/clang.git \
-                       "${S}"/tools/clang
-               git-r3_checkout http://llvm.org/git/clang-tools-extra.git \
-                       "${S}"/tools/clang/tools/extra
+               mv "${WORKDIR}"/cfe-${PV/_}.src "${S}"/tools/clang \
+                       || die "clang source directory move failed"
+               mv "${WORKDIR}"/compiler-rt-${PV/_}.src 
"${S}"/projects/compiler-rt \
+                       || die "compiler-rt source directory move failed"
+               mv "${WORKDIR}"/clang-tools-extra-${PV/_}.src 
"${S}"/tools/clang/tools/extra \
+                       || die "clang-tools-extra source directory move failed"
        fi
+
        if use lldb; then
-               git-r3_checkout http://llvm.org/git/lldb.git \
-                       "${S}"/tools/lldb
+               mv "${WORKDIR}"/lldb-${PV/_}.src "${S}"/tools/lldb \
+                       || die "lldb source directory move failed"
        fi
-       git-r3_checkout
 }
 
 src_prepare() {
        # Make ocaml warnings non-fatal, bug #537308
        sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml  || die
        # Fix libdir for ocaml bindings install, bug #559134
-       epatch "${FILESDIR}"/cmake/${PN}-3.7.0-ocaml-multilib.patch
+       epatch "${FILESDIR}"/cmake/${P}-ocaml-multilib.patch
 
        # Make it possible to override Sphinx HTML install dirs
        # https://llvm.org/bugs/show_bug.cgi?id=23780
@@ -170,9 +163,6 @@ 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
@@ -184,7 +174,7 @@ 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-3.8.patch
+               epatch 
"${FILESDIR}"/cmake/clang-0001-Install-clang-runtime-into-usr-lib-without-suffix.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
@@ -285,6 +275,7 @@ multilib_src_configure() {
                        -DLLVM_ENABLE_SPHINX=$(usex doc)
                        -DLLVM_ENABLE_DOXYGEN=OFF
                        
-DLLVM_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/html"
+                       -DLLVM_INSTALL_UTILS=ON
                )
 
                if use clang; then
@@ -379,7 +370,7 @@ src_install() {
 
        if use clang; then
                # note: magic applied in multilib_src_install()!
-               CLANG_VERSION=3.8
+               CLANG_VERSION=${PV%.*}
 
                MULTILIB_CHOST_TOOLS+=(
                        /usr/bin/clang
@@ -402,8 +393,8 @@ multilib_src_install() {
        cmake-utils_src_install
 
        if multilib_is_native_abi; then
-               # Install docs.
-               #use doc && dohtml -r "${S}"/docs/_build/html/
+               # Install man pages.
+               use doc || doman "${WORKDIR}"/${P}-manpages/*.1
 
                # Symlink the gold plugin.
                if use gold; then
@@ -500,3 +491,10 @@ multilib_src_install_all() {
                popd >/dev/null || die
        fi
 }
+
+pkg_postinst() {
+       if use clang; then
+               elog "To enable OpenMP support in clang, install 
sys-libs/libomp"
+               elog "and use the '-fopenmp=libomp' command line option"
+       fi
+}

diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index 325a857..8776cf8 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -30,7 +30,7 @@ COMMON_DEPEND="
                        dev-lang/perl:*
                        ${PYTHON_DEPS}
                )
-               xml? ( dev-libs/libxml2:2= )
+               xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
        )
        gold? ( >=sys-devel/binutils-2.22:*[cxx] )
        libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
@@ -285,6 +285,7 @@ multilib_src_configure() {
                        -DLLVM_ENABLE_SPHINX=$(usex doc)
                        -DLLVM_ENABLE_DOXYGEN=OFF
                        
-DLLVM_INSTALL_HTML="${EPREFIX}/usr/share/doc/${PF}/html"
+                       -DLLVM_INSTALL_UTILS=ON
                )
 
                if use clang; then
@@ -500,3 +501,10 @@ multilib_src_install_all() {
                popd >/dev/null || die
        fi
 }
+
+pkg_postinst() {
+       if use clang; then
+               elog "To enable OpenMP support in clang, install 
sys-libs/libomp"
+               elog "and use the '-fopenmp=libomp' command line option"
+       fi
+}

Reply via email to