From b24bd25253fe093f722ab576d29fdc41d04cb1ee Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 2 Aug 2019 19:14:55 +0100 Subject: gentoo resync : 02.08.2019 --- sys-libs/libcxxabi/Manifest | 7 +- sys-libs/libcxxabi/libcxxabi-10.0.0.9999.ebuild | 122 +++++++++++++++++++++++ sys-libs/libcxxabi/libcxxabi-8.0.1.ebuild | 119 +++++++++++++++++++++++ sys-libs/libcxxabi/libcxxabi-8.0.9999.ebuild | 122 ----------------------- sys-libs/libcxxabi/libcxxabi-9.0.0.9999.ebuild | 123 ++++++++++++++++++++++++ sys-libs/libcxxabi/libcxxabi-9999.ebuild | 121 ----------------------- 6 files changed, 369 insertions(+), 245 deletions(-) create mode 100644 sys-libs/libcxxabi/libcxxabi-10.0.0.9999.ebuild create mode 100644 sys-libs/libcxxabi/libcxxabi-8.0.1.ebuild delete mode 100644 sys-libs/libcxxabi/libcxxabi-8.0.9999.ebuild create mode 100644 sys-libs/libcxxabi/libcxxabi-9.0.0.9999.ebuild delete mode 100644 sys-libs/libcxxabi/libcxxabi-9999.ebuild (limited to 'sys-libs/libcxxabi') diff --git a/sys-libs/libcxxabi/Manifest b/sys-libs/libcxxabi/Manifest index 5bc4307da37c..11a73614b2ea 100644 --- a/sys-libs/libcxxabi/Manifest +++ b/sys-libs/libcxxabi/Manifest @@ -1,12 +1,15 @@ DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9fafc01a594d7b11f63d10b6f88eca67a3cdf90b8055e410ede358d9be1f63fbe427f308e1337833447c0260d96e1c8 SHA512 c04f628b0924d76f035f615b59d19ce42dfc19c9a8eea4fe2b22a95cfe5a037ebdb30943fd741443939df5b4cf692bc1e51c840fefefbd134e3afbe2a75fe875 DIST libcxx-7.1.0.src.tar.xz 1638448 BLAKE2B eca192e03f839f4323e3c37beba2e6daaf935d4e784e0bc835a4d2c3ce0790f5539bdca0466feafd668d7c6675b11b7fe14d9adb680c46fd7b28b42a3b423219 SHA512 925ce5093445f84dc17d5b1610e4297ef3606b254b7350c50f88ba042fcca62125ffd97d21cb612707d5e9511267634ca1779619199f95ce819e5f5c0c2b55d5 DIST libcxx-8.0.0.src.tar.xz 1752308 BLAKE2B 1e8cd8c7100f5f8b943ba8f38b0b59a0fd5e5bea834953483a67502f67de3eb51eba4ed4be17cdb54406da4ad7ebc6fef33934c59db982afa55856ce9f1f46ff SHA512 2e0fcd3e78f7e15ea894e52c51351daef8e3a2aaf53b3df7497b11403d28f5269ff49a4674bacea1d565a5faa2b24502caaaeff9cd48518f0d141563d8f9cc03 +DIST libcxx-8.0.1.src.tar.xz 1739524 BLAKE2B 6e641cb6bda0de12c8408d3ab33f627389ac014aa65b3391c870aa96ffd347784e6b70b953bd1ee8eba56554e0f78a723ab77b9dba5f85e6219e2b95ca50c160 SHA512 75749d08b2b343c6f5f9aefb04be63e42f6d12efc51101d3647ed6f70c7a6d050afb3ab2f3636eae78cb523f5844de67b960a7a3145ed89ab0c7015deb14921e DIST libcxxabi-6.0.1.src.tar.xz 528356 BLAKE2B b301b750b2928864d3fc51e66cf91aab6837636ec2bce706b9a97296ec96af4bd2e80b1bf80c9b4afe449335ee12bbdd1905433c27e1770e16bc306baf206927 SHA512 bbb4c7b412e295cb735f637df48a83093eef45ed5444f7766790b4b047f75fd5fd634d8f3a8ac33a5c1407bd16fd450ba113f60a9bcc1d0a911fe0c54e9c81f2 DIST libcxxabi-7.1.0.src.tar.xz 535180 BLAKE2B aa5952e3ca80f7ce2a0a79f3eaf3852234e23a8445a2539374bedb188aba7d973763a6c0d7cc7700070d942555250f87c3c9efb504bb731985be033d47b79b44 SHA512 629ef641ab5aba28ea7171efbad806f1f0464eee2d04f8903014a4f82c03f2c6513defbbe5489b2c6fd624270fe8efbad97a40e56958f8f38a4f5516a16dd102 DIST libcxxabi-8.0.0.src.tar.xz 539040 BLAKE2B 847d848e4ed66212789c50137e9556abed601ab4f30765b8b4453f0bc2609e2d1ef516b2f504ee2331a53706940b814545423da05392aed24bf290e6757b52f6 SHA512 9ee2e6d5899529be45b2e5edc395606fa9040d25789b3da1ae0182113626e7624cbb071eae525c478293a7b371876e41614348ee5808f90f3f9c7b08837e1055 +DIST libcxxabi-8.0.1.src.tar.xz 538356 BLAKE2B 52328c5890c9b9271877b953be30cc39be4758101e6b91ee45f06c81e960089523e80b83eb5c354336e4e0a140f7554640acf7b2d4fa619113f705108a314418 SHA512 577cfcb04ebb29ee84d35ed31aa8fecb28fc74b07ef7ff298f0fe2d440f823def73e092359c41d8d8600e6df18f55224ed89674d403c5ae56a7d7973487b8734 +EBUILD libcxxabi-10.0.0.9999.ebuild 3302 BLAKE2B 87a6867a94f067a1172737969d6ab747c8b614a553a60e648003b9a8bb455d707adc93faae0a31f42e29615822204b6f84cfd1d6cfbd7ce9b191900b3e281649 SHA512 f82c3ee394d31b76cd342b7e0443da0b0124ce927a927f537cbeab9e37831cdc8bc6da6bac9281523b4e1b4718050bb3e96c5b0943c6c93aa41c8670321cc1b9 EBUILD libcxxabi-6.0.1.ebuild 3172 BLAKE2B 0078aa6ca753285439a17dea5af0c66a991a1844b7bd487c0f51b95d9c8007a4d077515d3282cea8a044692a3d14f869f2b651bed3a7ba5e6acd20629bfd2e5b SHA512 b1168935e250e2a83356061456bef94635a1bb797abeb725f201298de3f6c90e285714799de4d79f30bd33f2a9ad9cfbdad2f4339100023485aee4554c36c133 EBUILD libcxxabi-7.1.0.ebuild 3173 BLAKE2B 48dda73d243e18c4591910d0f8900b0fc75eacf229f1eb11b9c402897f46a03e89bae5330daffe80a994d526fc612db237d104d9a3c69cef2c910bfb705069cc SHA512 a028cb4cd4381fea4cd487fa44a33bdbd604badfbe8c7e8452c4b19255ef672d11a415ddc4cf087ce19235cea0eac4e479bfb3d3e5d764aa431677d31683a37d EBUILD libcxxabi-8.0.0.ebuild 3176 BLAKE2B 709c55c2aedd2490ef6a982f41fa0b3977c1109ef480aba56cbfd248c40027349daa0dd477adefd5c37b8dbac8485cb8ab3c470e440b4be050ff52c0815bd59c SHA512 76237682c5e3d09cd259a03184fc35def96a90ac2bf42efe869be7d2f2ebdde05dca1e9f2efb5a08a41e7b461d4bbcb5dacd2d1ff8d3128ae65a1dfb2683f92f -EBUILD libcxxabi-8.0.9999.ebuild 3285 BLAKE2B 3b5ee2037761fcb1a9c90ca11f7e4d371622ec95e468b0fba6545df8c6eb6482f5ca2c5a8d46671ee7219fd99c2a729e0667939170f26ee5f4735cdf59010b66 SHA512 c45db120d7713fe9763da17cdaf2401da3c7d639bb2041fe9b5802667ae240e444c971b9914712be5eff740729b47d65b8d8f7079e4d12ec98eb8a0203220a05 -EBUILD libcxxabi-9999.ebuild 3272 BLAKE2B 885650bd3fbe87762916e5c0ad14c3f7cf28c3ef75b77e601f5e589c89176ac4610c3905085b8cf68349dd4f22ca48ed828f48b2d73f553cf76cbc90f80341f9 SHA512 8808d7a48f8a231ad438eac44cb3599ae7f6f294c12100891442b7cc46c37257c5d2b6407440236fd9620c40f25439b085f7cc5ed1622f2b7d9fefadda66c44f +EBUILD libcxxabi-8.0.1.ebuild 3242 BLAKE2B ed19bb64b100dc6a1878a3ace19ee8a44c29402d08c41b37bd7639efb83190ba2dea56b39a50d9bf3be7d8eeb4c80b8ba71404d35593b731c157a50f06259a4c SHA512 2795ce4983faea958c8ce7c439b0d093fb267ed9884697a1a416bf2b918a31b593ab7e5a295bb3fbec8a6259168c40054c352cc2be327e9c900ae44426816f9e +EBUILD libcxxabi-9.0.0.9999.ebuild 3327 BLAKE2B 2fcf53bd1c3ad67ffe31e315dc88bba12bd78d4837160672afabaa0f228792bf60699a3a9b83f4992ccd28b8f91018908ea5b339a32b08d056260f818e6335ea SHA512 37fc99829d0c0f2f65b72727fc1eecb50af2ce96532dad2e80b65017f2ced9a913d897f5019ddd8944c901fb5b54122ea7c2f63a9d9d2f1c711148047a2accb8 MISC metadata.xml 350 BLAKE2B 67b70b8d7292327882a845b76667ce24fee728cd84f27ed7e329bc7963631cba4c28bafce5e6a5fefb4ba1df5c7fd572b3b0d7a2b31ef649496f2f991b691bff SHA512 317dd7b59a711dd0461b5369f7e31ea196882b018e047e1dbae8077274d06cb68542c8762efb852cce0b8021bedea69c19aa0c124b9414a36cf1a9c00e0b9703 diff --git a/sys-libs/libcxxabi/libcxxabi-10.0.0.9999.ebuild b/sys-libs/libcxxabi/libcxxabi-10.0.0.9999.ebuild new file mode 100644 index 000000000000..8d9edb349346 --- /dev/null +++ b/sys-libs/libcxxabi/libcxxabi-10.0.0.9999.ebuild @@ -0,0 +1,122 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +: ${CMAKE_MAKEFILE_GENERATOR:=ninja} +# (needed due to CMAKE_BUILD_TYPE != Gentoo) +CMAKE_MIN_VERSION=3.7.0-r1 +PYTHON_COMPAT=( python{2_7,3_{5,6,7}} ) + +inherit cmake-multilib git-r3 llvm multiprocessing python-any-r1 + +DESCRIPTION="Low level support for a standard C++ library" +HOMEPAGE="https://libcxxabi.llvm.org/" +SRC_URI="" +EGIT_REPO_URI="https://git.llvm.org/git/libcxxabi.git + https://github.com/llvm-mirror/libcxxabi.git" + +LICENSE="|| ( UoI-NCSA MIT )" +SLOT="0" +KEYWORDS="" +IUSE="+libunwind +static-libs test elibc_musl" +RESTRICT="!test? ( test )" + +RDEPEND=" + libunwind? ( + || ( + >=sys-libs/libunwind-1.0.1-r1[static-libs?,${MULTILIB_USEDEP}] + >=sys-libs/llvm-libunwind-3.9.0-r1[static-libs?,${MULTILIB_USEDEP}] + ) + )" +# llvm-6 for new lit options +DEPEND="${RDEPEND} + >=sys-devel/llvm-6 + test? ( >=sys-devel/clang-3.9.0 + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )" + +# least intrusive of all +CMAKE_BUILD_TYPE=RelWithDebInfo + +python_check_deps() { + has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +pkg_setup() { + llvm_pkg_setup + use test && python-any-r1_pkg_setup +} + +src_unpack() { + # we need the headers + git-r3_fetch "https://git.llvm.org/git/libcxx.git + https://github.com/llvm-mirror/libcxx.git" + git-r3_fetch + + git-r3_checkout https://llvm.org/git/libcxx.git \ + "${WORKDIR}"/libcxx '' + git-r3_checkout +} + +multilib_src_configure() { + local libdir=$(get_libdir) + local mycmakeargs=( + -DLIBCXXABI_LIBDIR_SUFFIX=${libdir#lib} + -DLIBCXXABI_ENABLE_SHARED=ON + -DLIBCXXABI_ENABLE_STATIC=$(usex static-libs) + -DLIBCXXABI_USE_LLVM_UNWINDER=$(usex libunwind) + -DLIBCXXABI_INCLUDE_TESTS=$(usex test) + + -DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx/include + # upstream is omitting standard search path for this + # probably because gcc & clang are bundling their own unwind.h + -DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include + ) + if use test; then + local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) + local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")} + + [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" + + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}" + ) + fi + cmake-utils_src_configure +} + +build_libcxx() { + local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)" + local CMAKE_USE_DIR=${WORKDIR}/libcxx + local BUILD_DIR=${BUILD_DIR}/libcxx + local mycmakeargs=( + -DLIBCXX_LIBDIR_SUFFIX= + -DLIBCXX_ENABLE_SHARED=OFF + -DLIBCXX_ENABLE_STATIC=ON + -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF + -DLIBCXX_CXX_ABI=libcxxabi + -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${S}"/include + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF + -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) + -DLIBCXX_HAS_GCC_S_LIB=OFF + -DLIBCXX_INCLUDE_TESTS=OFF + ) + + cmake-utils_src_configure + cmake-utils_src_compile +} + +multilib_src_test() { + # build a local copy of libc++ for testing to avoid circular dep + build_libcxx + mv "${BUILD_DIR}"/libcxx/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die + + local -x LIT_PRESERVES_TMP=1 + cmake-utils_src_make check-libcxxabi +} + +multilib_src_install_all() { + insinto /usr/include/libcxxabi + doins -r include/. +} diff --git a/sys-libs/libcxxabi/libcxxabi-8.0.1.ebuild b/sys-libs/libcxxabi/libcxxabi-8.0.1.ebuild new file mode 100644 index 000000000000..9a5bef364e69 --- /dev/null +++ b/sys-libs/libcxxabi/libcxxabi-8.0.1.ebuild @@ -0,0 +1,119 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +: ${CMAKE_MAKEFILE_GENERATOR:=ninja} +# (needed due to CMAKE_BUILD_TYPE != Gentoo) +CMAKE_MIN_VERSION=3.7.0-r1 +PYTHON_COMPAT=( python2_7 ) + +inherit cmake-multilib llvm multiprocessing python-any-r1 + +MY_P=${P/_/}.src +LIBCXX_P=libcxx-${PV/_/}.src + +DESCRIPTION="Low level support for a standard C++ library" +HOMEPAGE="https://libcxxabi.llvm.org/" +SRC_URI="https://github.com/llvm/llvm-project/releases/download/llvmorg-${PV}/${MY_P}.tar.xz + https://github.com/llvm/llvm-project/releases/download/llvmorg-${PV}/${LIBCXX_P}.tar.xz" + +LICENSE="|| ( UoI-NCSA MIT )" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd" +IUSE="+libunwind +static-libs test elibc_musl" +RESTRICT="!test? ( test )" + +RDEPEND=" + libunwind? ( + || ( + >=sys-libs/libunwind-1.0.1-r1[static-libs?,${MULTILIB_USEDEP}] + >=sys-libs/llvm-libunwind-3.9.0-r1[static-libs?,${MULTILIB_USEDEP}] + ) + )" +# llvm-6 for new lit options +DEPEND="${RDEPEND} + >=sys-devel/llvm-6 + test? ( >=sys-devel/clang-3.9.0 + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )" + +S=${WORKDIR}/${MY_P} + +# least intrusive of all +CMAKE_BUILD_TYPE=RelWithDebInfo + +python_check_deps() { + has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +pkg_setup() { + llvm_pkg_setup + use test && python-any-r1_pkg_setup +} + +src_unpack() { + default + mv "${LIBCXX_P}" libcxx || die +} + +multilib_src_configure() { + local libdir=$(get_libdir) + local mycmakeargs=( + -DLIBCXXABI_LIBDIR_SUFFIX=${libdir#lib} + -DLIBCXXABI_ENABLE_SHARED=ON + -DLIBCXXABI_ENABLE_STATIC=$(usex static-libs) + -DLIBCXXABI_USE_LLVM_UNWINDER=$(usex libunwind) + -DLIBCXXABI_INCLUDE_TESTS=$(usex test) + + -DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx/include + # upstream is omitting standard search path for this + # probably because gcc & clang are bundling their own unwind.h + -DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include + ) + if use test; then + local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) + local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")} + + [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" + + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}" + ) + fi + cmake-utils_src_configure +} + +build_libcxx() { + local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)" + local CMAKE_USE_DIR=${WORKDIR}/libcxx + local BUILD_DIR=${BUILD_DIR}/libcxx + local mycmakeargs=( + -DLIBCXX_LIBDIR_SUFFIX= + -DLIBCXX_ENABLE_SHARED=ON + -DLIBCXX_ENABLE_STATIC=OFF + -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF + -DLIBCXX_CXX_ABI=libcxxabi + -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${S}"/include + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF + -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) + -DLIBCXX_HAS_GCC_S_LIB=OFF + -DLIBCXX_INCLUDE_TESTS=OFF + ) + + cmake-utils_src_configure + cmake-utils_src_compile +} + +multilib_src_test() { + # build a local copy of libc++ for testing to avoid circular dep + build_libcxx + mv "${BUILD_DIR}"/libcxx/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die + + cmake-utils_src_make check-libcxxabi +} + +multilib_src_install_all() { + insinto /usr/include/libcxxabi + doins -r include/. +} diff --git a/sys-libs/libcxxabi/libcxxabi-8.0.9999.ebuild b/sys-libs/libcxxabi/libcxxabi-8.0.9999.ebuild deleted file mode 100644 index d97e01f1e829..000000000000 --- a/sys-libs/libcxxabi/libcxxabi-8.0.9999.ebuild +++ /dev/null @@ -1,122 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -: ${CMAKE_MAKEFILE_GENERATOR:=ninja} -# (needed due to CMAKE_BUILD_TYPE != Gentoo) -CMAKE_MIN_VERSION=3.7.0-r1 -PYTHON_COMPAT=( python2_7 ) - -inherit cmake-multilib git-r3 llvm multiprocessing python-any-r1 - -DESCRIPTION="Low level support for a standard C++ library" -HOMEPAGE="https://libcxxabi.llvm.org/" -SRC_URI="" -EGIT_REPO_URI="https://git.llvm.org/git/libcxxabi.git - https://github.com/llvm-mirror/libcxxabi.git" -EGIT_BRANCH="release_80" - -LICENSE="|| ( UoI-NCSA MIT )" -SLOT="0" -KEYWORDS="" -IUSE="+libunwind +static-libs test elibc_musl" -RESTRICT="!test? ( test )" - -RDEPEND=" - libunwind? ( - || ( - >=sys-libs/libunwind-1.0.1-r1[static-libs?,${MULTILIB_USEDEP}] - >=sys-libs/llvm-libunwind-3.9.0-r1[static-libs?,${MULTILIB_USEDEP}] - ) - )" -# llvm-6 for new lit options -DEPEND="${RDEPEND} - >=sys-devel/llvm-6 - test? ( >=sys-devel/clang-3.9.0 - $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )" - -# least intrusive of all -CMAKE_BUILD_TYPE=RelWithDebInfo - -python_check_deps() { - has_version "dev-python/lit[${PYTHON_USEDEP}]" -} - -pkg_setup() { - llvm_pkg_setup - use test && python-any-r1_pkg_setup -} - -src_unpack() { - # we need the headers - git-r3_fetch "https://git.llvm.org/git/libcxx.git - https://github.com/llvm-mirror/libcxx.git" - git-r3_fetch - - git-r3_checkout https://llvm.org/git/libcxx.git \ - "${WORKDIR}"/libcxx '' - git-r3_checkout -} - -multilib_src_configure() { - local libdir=$(get_libdir) - local mycmakeargs=( - -DLIBCXXABI_LIBDIR_SUFFIX=${libdir#lib} - -DLIBCXXABI_ENABLE_SHARED=ON - -DLIBCXXABI_ENABLE_STATIC=$(usex static-libs) - -DLIBCXXABI_USE_LLVM_UNWINDER=$(usex libunwind) - -DLIBCXXABI_INCLUDE_TESTS=$(usex test) - - -DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx/include - # upstream is omitting standard search path for this - # probably because gcc & clang are bundling their own unwind.h - -DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include - ) - if use test; then - local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) - local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")} - - [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" - - mycmakeargs+=( - -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}" - ) - fi - cmake-utils_src_configure -} - -build_libcxx() { - local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)" - local CMAKE_USE_DIR=${WORKDIR}/libcxx - local BUILD_DIR=${BUILD_DIR}/libcxx - local mycmakeargs=( - -DLIBCXX_LIBDIR_SUFFIX= - -DLIBCXX_ENABLE_SHARED=ON - -DLIBCXX_ENABLE_STATIC=OFF - -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF - -DLIBCXX_CXX_ABI=libcxxabi - -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${S}"/include - -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF - -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) - -DLIBCXX_HAS_GCC_S_LIB=OFF - -DLIBCXX_INCLUDE_TESTS=OFF - ) - - cmake-utils_src_configure - cmake-utils_src_compile -} - -multilib_src_test() { - # build a local copy of libc++ for testing to avoid circular dep - build_libcxx - mv "${BUILD_DIR}"/libcxx/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die - - cmake-utils_src_make check-libcxxabi -} - -multilib_src_install_all() { - insinto /usr/include/libcxxabi - doins -r include/. -} diff --git a/sys-libs/libcxxabi/libcxxabi-9.0.0.9999.ebuild b/sys-libs/libcxxabi/libcxxabi-9.0.0.9999.ebuild new file mode 100644 index 000000000000..707e39ff257e --- /dev/null +++ b/sys-libs/libcxxabi/libcxxabi-9.0.0.9999.ebuild @@ -0,0 +1,123 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +: ${CMAKE_MAKEFILE_GENERATOR:=ninja} +# (needed due to CMAKE_BUILD_TYPE != Gentoo) +CMAKE_MIN_VERSION=3.7.0-r1 +PYTHON_COMPAT=( python{2_7,3_{5,6,7}} ) + +inherit cmake-multilib git-r3 llvm multiprocessing python-any-r1 + +DESCRIPTION="Low level support for a standard C++ library" +HOMEPAGE="https://libcxxabi.llvm.org/" +SRC_URI="" +EGIT_REPO_URI="https://git.llvm.org/git/libcxxabi.git + https://github.com/llvm-mirror/libcxxabi.git" +EGIT_BRANCH="release_90" + +LICENSE="|| ( UoI-NCSA MIT )" +SLOT="0" +KEYWORDS="" +IUSE="+libunwind +static-libs test elibc_musl" +RESTRICT="!test? ( test )" + +RDEPEND=" + libunwind? ( + || ( + >=sys-libs/libunwind-1.0.1-r1[static-libs?,${MULTILIB_USEDEP}] + >=sys-libs/llvm-libunwind-3.9.0-r1[static-libs?,${MULTILIB_USEDEP}] + ) + )" +# llvm-6 for new lit options +DEPEND="${RDEPEND} + >=sys-devel/llvm-6 + test? ( >=sys-devel/clang-3.9.0 + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )" + +# least intrusive of all +CMAKE_BUILD_TYPE=RelWithDebInfo + +python_check_deps() { + has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +pkg_setup() { + llvm_pkg_setup + use test && python-any-r1_pkg_setup +} + +src_unpack() { + # we need the headers + git-r3_fetch "https://git.llvm.org/git/libcxx.git + https://github.com/llvm-mirror/libcxx.git" + git-r3_fetch + + git-r3_checkout https://llvm.org/git/libcxx.git \ + "${WORKDIR}"/libcxx '' + git-r3_checkout +} + +multilib_src_configure() { + local libdir=$(get_libdir) + local mycmakeargs=( + -DLIBCXXABI_LIBDIR_SUFFIX=${libdir#lib} + -DLIBCXXABI_ENABLE_SHARED=ON + -DLIBCXXABI_ENABLE_STATIC=$(usex static-libs) + -DLIBCXXABI_USE_LLVM_UNWINDER=$(usex libunwind) + -DLIBCXXABI_INCLUDE_TESTS=$(usex test) + + -DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx/include + # upstream is omitting standard search path for this + # probably because gcc & clang are bundling their own unwind.h + -DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include + ) + if use test; then + local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) + local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")} + + [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" + + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}" + ) + fi + cmake-utils_src_configure +} + +build_libcxx() { + local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)" + local CMAKE_USE_DIR=${WORKDIR}/libcxx + local BUILD_DIR=${BUILD_DIR}/libcxx + local mycmakeargs=( + -DLIBCXX_LIBDIR_SUFFIX= + -DLIBCXX_ENABLE_SHARED=OFF + -DLIBCXX_ENABLE_STATIC=ON + -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF + -DLIBCXX_CXX_ABI=libcxxabi + -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${S}"/include + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF + -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) + -DLIBCXX_HAS_GCC_S_LIB=OFF + -DLIBCXX_INCLUDE_TESTS=OFF + ) + + cmake-utils_src_configure + cmake-utils_src_compile +} + +multilib_src_test() { + # build a local copy of libc++ for testing to avoid circular dep + build_libcxx + mv "${BUILD_DIR}"/libcxx/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die + + local -x LIT_PRESERVES_TMP=1 + cmake-utils_src_make check-libcxxabi +} + +multilib_src_install_all() { + insinto /usr/include/libcxxabi + doins -r include/. +} diff --git a/sys-libs/libcxxabi/libcxxabi-9999.ebuild b/sys-libs/libcxxabi/libcxxabi-9999.ebuild deleted file mode 100644 index 9f28d04485ed..000000000000 --- a/sys-libs/libcxxabi/libcxxabi-9999.ebuild +++ /dev/null @@ -1,121 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -: ${CMAKE_MAKEFILE_GENERATOR:=ninja} -# (needed due to CMAKE_BUILD_TYPE != Gentoo) -CMAKE_MIN_VERSION=3.7.0-r1 -PYTHON_COMPAT=( python{2_7,3_{5,6,7}} ) - -inherit cmake-multilib git-r3 llvm multiprocessing python-any-r1 - -DESCRIPTION="Low level support for a standard C++ library" -HOMEPAGE="https://libcxxabi.llvm.org/" -SRC_URI="" -EGIT_REPO_URI="https://git.llvm.org/git/libcxxabi.git - https://github.com/llvm-mirror/libcxxabi.git" - -LICENSE="|| ( UoI-NCSA MIT )" -SLOT="0" -KEYWORDS="" -IUSE="+libunwind +static-libs test elibc_musl" -RESTRICT="!test? ( test )" - -RDEPEND=" - libunwind? ( - || ( - >=sys-libs/libunwind-1.0.1-r1[static-libs?,${MULTILIB_USEDEP}] - >=sys-libs/llvm-libunwind-3.9.0-r1[static-libs?,${MULTILIB_USEDEP}] - ) - )" -# llvm-6 for new lit options -DEPEND="${RDEPEND} - >=sys-devel/llvm-6 - test? ( >=sys-devel/clang-3.9.0 - $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )" - -# least intrusive of all -CMAKE_BUILD_TYPE=RelWithDebInfo - -python_check_deps() { - has_version "dev-python/lit[${PYTHON_USEDEP}]" -} - -pkg_setup() { - llvm_pkg_setup - use test && python-any-r1_pkg_setup -} - -src_unpack() { - # we need the headers - git-r3_fetch "https://git.llvm.org/git/libcxx.git - https://github.com/llvm-mirror/libcxx.git" - git-r3_fetch - - git-r3_checkout https://llvm.org/git/libcxx.git \ - "${WORKDIR}"/libcxx '' - git-r3_checkout -} - -multilib_src_configure() { - local libdir=$(get_libdir) - local mycmakeargs=( - -DLIBCXXABI_LIBDIR_SUFFIX=${libdir#lib} - -DLIBCXXABI_ENABLE_SHARED=ON - -DLIBCXXABI_ENABLE_STATIC=$(usex static-libs) - -DLIBCXXABI_USE_LLVM_UNWINDER=$(usex libunwind) - -DLIBCXXABI_INCLUDE_TESTS=$(usex test) - - -DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx/include - # upstream is omitting standard search path for this - # probably because gcc & clang are bundling their own unwind.h - -DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include - ) - if use test; then - local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) - local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")} - - [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" - - mycmakeargs+=( - -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" - -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}" - ) - fi - cmake-utils_src_configure -} - -build_libcxx() { - local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)" - local CMAKE_USE_DIR=${WORKDIR}/libcxx - local BUILD_DIR=${BUILD_DIR}/libcxx - local mycmakeargs=( - -DLIBCXX_LIBDIR_SUFFIX= - -DLIBCXX_ENABLE_SHARED=OFF - -DLIBCXX_ENABLE_STATIC=ON - -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF - -DLIBCXX_CXX_ABI=libcxxabi - -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${S}"/include - -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF - -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) - -DLIBCXX_HAS_GCC_S_LIB=OFF - -DLIBCXX_INCLUDE_TESTS=OFF - ) - - cmake-utils_src_configure - cmake-utils_src_compile -} - -multilib_src_test() { - # build a local copy of libc++ for testing to avoid circular dep - build_libcxx - mv "${BUILD_DIR}"/libcxx/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die - - cmake-utils_src_make check-libcxxabi -} - -multilib_src_install_all() { - insinto /usr/include/libcxxabi - doins -r include/. -} -- cgit v1.2.3