summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2019-09-20 11:33:34 +0200
committerMichał Górny <mgorny@gentoo.org>2019-09-21 00:12:00 +0200
commit3dca21411609ec3cef8b7dc8cba8825bc3d7aa51 (patch)
tree6492ef802bbbd05e7e0e64fd643c4f4c318b5231
parentsys-libs/compiler-rt-sanitizers: Bump to 9.0.0 (diff)
downloadgentoo-3dca21411609ec3cef8b7dc8cba8825bc3d7aa51.tar.gz
gentoo-3dca21411609ec3cef8b7dc8cba8825bc3d7aa51.tar.bz2
gentoo-3dca21411609ec3cef8b7dc8cba8825bc3d7aa51.zip
sys-libs/llvm-libunwind: Bump to 9.0.0
Signed-off-by: Michał Górny <mgorny@gentoo.org>
-rw-r--r--sys-libs/llvm-libunwind/Manifest3
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-9.0.0.ebuild145
2 files changed, 148 insertions, 0 deletions
diff --git a/sys-libs/llvm-libunwind/Manifest b/sys-libs/llvm-libunwind/Manifest
index eff9e9194a8..cad73122c67 100644
--- a/sys-libs/llvm-libunwind/Manifest
+++ b/sys-libs/llvm-libunwind/Manifest
@@ -2,11 +2,14 @@ DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9f
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 libcxx-9.0.0.src.tar.xz 1814388 BLAKE2B 59b8967706d1f85b1c0d2b9932bd637aae7118ae461e2b31e1d17c9a2ee2e02ea0ea8b344074a9fc4b430b5c742b8ad30c10a0c44e5290528fdecd7571352879 SHA512 cbaca724c4f3e3a270dfd53aac50cbb920190fe55486b164d52e73845819dd22afb10c23f5875da59d433fd5b96a0f153208746117309ac1267a38fa56f4818e
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
+DIST libcxxabi-9.0.0.src.tar.xz 552088 BLAKE2B 1b8f2bab00437a223f613cbecd9171f1bc88d0ec2d6096776d0295333c0176ddbe13178d433bed2dc70821b905152fcd30b228ae1dbd3e8846f3b92e7630db7e SHA512 261f32f61814728ce61c830c80192a55e1ba03c50f49712e208052444ac3acc6d7efcbd7b76a505292f9233aad23b00180aca4e72326ae1244385b39f226e625
DIST libunwind-6.0.1.src.tar.xz 77036 BLAKE2B b6c293285896c8ff1f64bb56eee5a88b102b7ed9902d46436ee3cb79f204f230fd08a07d39c7fa9aeeddd093036f2bb9af38dd54268099ea9e51e12a71ff4adb SHA512 78568c28720abdd1f8471c462421df9965e05e1db048689d16ac85378716c4080ec1723af78e9f61d133b0ff82ac8c1f0dde7fd42d194485f62c1a17c02db37f
DIST libunwind-7.1.0.src.tar.xz 79780 BLAKE2B 8f15dcf4a9c8cb45f17c72bf058eed13a6cd52842ee8630781c3104be77d9a868e241eafd34a31b23aeff18dc49743dd5a566ce4cb866a170f1d09899584e2dd SHA512 8ebfeb821013167e866986a2f9cc6459e43d82f73560a15ee7e0d604a974e1c656f824c9f7ccb47da4b4830ad9a99c663961bdf7642cd105e666b8a8fdf7d03c
DIST libunwind-8.0.0.src.tar.xz 86484 BLAKE2B 74f52fbda056b98cb8a2af652270dc4404177be4fd24a3d030f43e908ef912b875f6471819d364d2ee00c6edbec78d25647f023830c6ddc1c032added1059582 SHA512 8c10e986b4123b6db9f010f053d9c67786fd739d0990146c481f7eaf69ae44fdbcb99dfad9b240b369c3f93be05dfeaf0bd977685360be94e2872ddb04019380
DIST libunwind-8.0.1.src.tar.xz 87188 BLAKE2B 26f4d8ffbc8eb316e4e623280d6fe493e4c5c29489b90633c8215fe91349de7f7f0cfbfe8991ace11656d3782e13c7208b4a4adc04691746b4140187fba40043 SHA512 c115582ca879e215b97d24e4aa80696796383e79856cf26e40b4ddd6b255d598f9fa9867b30f0fd1691be770779835ac1d4b9a5e4a71424b18499b79ea37d060
+DIST libunwind-9.0.0.src.tar.xz 90372 BLAKE2B 2ac6dafa53e030dd63a7e0eb4b9ee2c665a5aa64b95324d04604efce7fce6f101fc3685723e39ae0a0819bd16c9e4e366d28dfedae6748423c74f79e6a8b38b5 SHA512 55b44439b76638a7c5ea25dd3713a3f6a2d54bcfb7bf34d3388753f0d25be2e843b5f05dc1c0052d7a9cd5a141c6818f4da42bc9174a16d89e819ea262ad5706
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-9.0.0.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-9.0.0.ebuild
new file mode 100644
index 00000000000..be1a21ae8d2
--- /dev/null
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-9.0.0.ebuild
@@ -0,0 +1,145 @@
+# 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 llvm multiprocessing python-any-r1
+
+MY_P=libunwind-${PV/_/}.src
+LIBCXX_P=libcxx-${PV/_/}.src
+LIBCXXABI_P=libcxxabi-${PV/_/}.src
+
+DESCRIPTION="C++ runtime stack unwinder from LLVM"
+HOMEPAGE="https://github.com/llvm-mirror/libunwind"
+SRC_URI="https://releases.llvm.org/${PV}/${MY_P}.tar.xz
+ test? (
+ https://releases.llvm.org/${PV}/${LIBCXX_P}.tar.xz
+ https://releases.llvm.org/${PV}/${LIBCXXABI_P}.tar.xz )"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd"
+IUSE="debug +static-libs test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="!sys-libs/libunwind"
+# llvm-6 for new lit options
+DEPEND="
+ >=sys-devel/llvm-6"
+BDEPEND="
+ 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() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_unpack() {
+ default
+
+ if use test; then
+ mv "${LIBCXX_P}" libcxx || die
+ mv "${LIBCXXABI_P}" libcxxabi || die
+ fi
+}
+
+multilib_src_configure() {
+ local libdir=$(get_libdir)
+
+ local mycmakeargs=(
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+ -DLIBUNWIND_ENABLE_ASSERTIONS=$(usex debug)
+ -DLIBUNWIND_ENABLE_STATIC=$(usex static-libs)
+ -DLLVM_INCLUDE_TESTS=$(usex test)
+
+ # support non-native unwinding; given it's small enough,
+ # enable it unconditionally
+ -DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON
+ )
+ 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}"
+ -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}"/libcxx
+ )
+ fi
+
+ cmake-utils_src_configure
+}
+
+build_libcxxabi() {
+ local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)"
+ local CMAKE_USE_DIR=${WORKDIR}/libcxxabi
+ local BUILD_DIR=${BUILD_DIR}/libcxxabi
+ local mycmakeargs=(
+ -DLIBCXXABI_LIBDIR_SUFFIX=
+ -DLIBCXXABI_ENABLE_SHARED=OFF
+ -DLIBCXXABI_ENABLE_STATIC=ONF
+ -DLIBCXXABI_USE_LLVM_UNWINDER=ON
+ -DLIBCXXABI_INCLUDE_TESTS=OFF
+
+ -DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx/include
+ -DLIBCXXABI_LIBUNWIND_INCLUDES="${S}"/include
+ )
+
+ cmake-utils_src_configure
+ cmake-utils_src_compile
+}
+
+build_libcxx() {
+ local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/libcxxabi/lib -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
+ -DLIBCXXABI_USE_LLVM_UNWINDER=ON
+ -DLIBCXX_CXX_ABI=libcxxabi
+ -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${WORKDIR}"/libcxxabi/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 local copies of libc++ & libc++abi for testing to avoid
+ # circular deps
+ build_libcxxabi
+ build_libcxx
+ mv "${BUILD_DIR}"/libcxx*/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die
+
+ local -x LIT_PRESERVES_TMP=1
+ cmake-utils_src_make check-unwind
+}
+
+multilib_src_install() {
+ cmake-utils_src_install
+
+ # install headers like sys-libs/libunwind
+ doheader "${S}"/include/*.h
+}