sys-libs/libcxx: Run tests without LLVM sources
authorMichał Górny <mgorny@gentoo.org>
Mon, 3 Oct 2016 11:00:59 +0000 (13:00 +0200)
committerMichał Górny <mgorny@gentoo.org>
Wed, 5 Oct 2016 13:38:11 +0000 (15:38 +0200)
sys-libs/libcxx/libcxx-3.9.0.ebuild
sys-libs/libcxx/libcxx-9999.ebuild

index a5594761983147d54dfa33e269ec2decee149288..110038bf4280989e998d86d7909b53e7a5e16904 100644 (file)
@@ -19,13 +19,10 @@ inherit ${SCM} cmake-multilib python-any-r1 toolchain-funcs
 DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
 HOMEPAGE="http://libcxx.llvm.org/"
 if [[ ${PV} != 9999 ]] ; then
-       SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
-               test? ( http://llvm.org/releases/${PV}/llvm-${PV}.src.tar.xz )"
+       SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz"
        S="${WORKDIR}/${P}.src"
-       LLVM_S="${WORKDIR}/llvm-${PV}.src"
 else
        SRC_URI=""
-       LLVM_S="${WORKDIR}/llvm"
 fi
 
 LICENSE="|| ( UoI-NCSA MIT )"
@@ -46,7 +43,7 @@ RDEPEND="libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP
 # which removes the need for MULTILIB_USEDEP
 DEPEND="${RDEPEND}
        test? ( >=sys-devel/clang-3.9.0
-               ${PYTHON_DEPS} )
+               $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
        app-arch/xz-utils
        >=sys-devel/llvm-3.9.0"
 
@@ -62,8 +59,12 @@ PATCHES=(
        "${FILESDIR}/${PN}-3.9-cmake-static-lib.patch"
 )
 
+python_check_deps() {
+       has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
 pkg_setup() {
-       use test && python_setup
+       use test && python-any-r1_pkg_setup
 
        if ! use libcxxrt && ! tc-is-gcc ; then
                eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
@@ -79,23 +80,6 @@ pkg_setup() {
        fi
 }
 
-src_unpack() {
-       [[ ${PV} != 9999 ]] && default && return
-
-       if use test; then
-               # needed for tests
-               git-r3_fetch "http://llvm.org/git/llvm.git
-                       https://github.com/llvm-mirror/llvm.git"
-       fi
-       git-r3_fetch
-
-       if use test; then
-               git-r3_checkout http://llvm.org/git/llvm.git \
-                       "${WORKDIR}"/llvm
-       fi
-       git-r3_checkout
-}
-
 src_configure() {
        NATIVE_LIBDIR=$(get_libdir)
        cmake-multilib_src_configure
@@ -131,7 +115,9 @@ multilib_src_configure() {
        )
        if use test; then
                mycmakeargs+=(
-                       -DLLVM_MAIN_SRC_DIR=${LLVM_S}
+                       # this can be any directory, it just needs to exist...
+                       -DLLVM_MAIN_SRC_DIR="${T}"
+                       -DLIT_COMMAND="${EPREFIX}"/usr/bin/lit
                )
        fi
        cmake-utils_src_configure
index 6d0328d954e80b74b2052123f19ac2318964a640..401a8ea58555571d89bdbf73424d60c2a19285a5 100644 (file)
@@ -19,13 +19,10 @@ inherit ${SCM} cmake-multilib python-any-r1 toolchain-funcs
 DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
 HOMEPAGE="http://libcxx.llvm.org/"
 if [[ ${PV} != 9999 ]] ; then
-       SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
-               test? ( http://llvm.org/releases/${PV}/llvm-${PV}.src.tar.xz )"
+       SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz"
        S="${WORKDIR}/${P}.src"
-       LLVM_S="${WORKDIR}/llvm-${PV}.src"
 else
        SRC_URI=""
-       LLVM_S="${WORKDIR}/llvm"
 fi
 
 LICENSE="|| ( UoI-NCSA MIT )"
@@ -49,7 +46,7 @@ RDEPEND="
 # which removes the need for MULTILIB_USEDEP
 DEPEND="${RDEPEND}
        test? ( >=sys-devel/clang-3.9.0
-               ${PYTHON_DEPS} )
+               $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
        app-arch/xz-utils
        >=sys-devel/llvm-3.9.0"
 
@@ -61,8 +58,12 @@ PATCHES=(
        "${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
 )
 
+python_check_deps() {
+       has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
 pkg_setup() {
-       use test && python_setup
+       use test && python-any-r1_pkg_setup
 
        if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
                eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
@@ -78,23 +79,6 @@ pkg_setup() {
        fi
 }
 
-src_unpack() {
-       [[ ${PV} != 9999 ]] && default && return
-
-       if use test; then
-               # needed for tests
-               git-r3_fetch "http://llvm.org/git/llvm.git
-                       https://github.com/llvm-mirror/llvm.git"
-       fi
-       git-r3_fetch
-
-       if use test; then
-               git-r3_checkout http://llvm.org/git/llvm.git \
-                       "${WORKDIR}"/llvm
-       fi
-       git-r3_checkout
-}
-
 src_configure() {
        NATIVE_LIBDIR=$(get_libdir)
        cmake-multilib_src_configure
@@ -133,7 +117,10 @@ multilib_src_configure() {
        )
        if use test; then
                mycmakeargs+=(
-                       -DLLVM_MAIN_SRC_DIR=${LLVM_S}
+                       # this can be any directory, it just needs to exist...
+                       # FIXME: remove this once https://reviews.llvm.org/D25093 is merged
+                       -DLLVM_MAIN_SRC_DIR="${T}"
+                       -DLIT_COMMAND="${EPREFIX}"/usr/bin/lit
                )
        fi
        cmake-utils_src_configure