commit:     ce2ba7dcddaae07e63c532db87ff228bea36ea56
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 23 23:21:17 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jul 23 23:21:22 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ce2ba7dc

sys-libs/libunwind: add 1.7.1

Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-libs/libunwind/Manifest               |   2 +
 sys-libs/libunwind/libunwind-1.7.1.ebuild | 116 ++++++++++++++++++++++++++++++
 2 files changed, 118 insertions(+)

diff --git a/sys-libs/libunwind/Manifest b/sys-libs/libunwind/Manifest
index ccd1635dbb89..4621c3678e8a 100644
--- a/sys-libs/libunwind/Manifest
+++ b/sys-libs/libunwind/Manifest
@@ -2,4 +2,6 @@ DIST libunwind-1.6.2-docs.tar.xz 25372 BLAKE2B 
d16562b29c49070f0cd6ad9211c7c3283
 DIST libunwind-1.6.2-loong.patch.xz 122756 BLAKE2B 
1d369d18e71c4b9faa79a31a917a0f42a7bb394acd3bf8dc9ef181f2ca55bee04bef070c57ea04853b756efd561cb60409770b1f6fa9095d0e14565eb0bfc621
 SHA512 
46c8a6022dbf099965cf121d91691aae0a38fb31901730f47f712a7078b323e04f278e6751a7d169ed7e87792f321b15471b253668541598b82edb6626b9518f
 DIST libunwind-1.6.2.tar.gz 901392 BLAKE2B 
3d0313f7e92cbc3e1a84ad3831a5170f21cdf772f1697ca0a59dea63cdd47da382e9f1fd77325d9ff8bcd47559a425dc883a820c646c628cd00faed82cb0f83f
 SHA512 
1d17dfb14f99a894a6cda256caf9ec481c14068aaf8f3a85fa3befa7c7cca7fca0f544a91a3a7c2f2fc55bab19b06a67ca79f55ac9081151d94478c7f611f8f7
 DIST libunwind-1.7.0-docs.tar.xz 27268 BLAKE2B 
e035009c7a7df15b020b8186e18053ee0e839e4a779155057426531c28d96f18cfc7beeef6ac1dd8496781812bc1023fbfcb5de0dffebda7de0e6975b17a23e6
 SHA512 
c18e3664d72fa0856609ac99a7ca04f969167f9bb2cd849e9ce0df63565c27a41080f67bb6d452657471fd0796c386fd993cfc4f3881ca47086301cda069b943
+DIST libunwind-1.7.1-docs.tar.xz 27248 BLAKE2B 
0905f49ce72e6cafbb185828a4adf7eb5a88ede335104b1b0679e66199079e3dad9d83815d10a864b4480d88abd82b73bb71181962b1fea39ec41f534d78d549
 SHA512 
d786572e7fbd5ef7852712f592bd17d4110951083991c5ffcff2bb4ae91e4519b42743f848fe7f2cc9f72d8a0240531ec3d27806972c2c309d06a9048284b97b
+DIST libunwind-1.7.1.tar.gz 912881 BLAKE2B 
af66062a25bf8d7e308f29770316de34f46eaf2bb9f8c2a67a98dba1f7ffb6744b52b220501d7d2db37b70ea4fba27fc41f687e3add1ee35c528a5c99dc0924e
 SHA512 
372fd57663c46788104632e7f721871afe33a2244cc45c38d754e5d10b6692a41dc0d24aa673df94cc6790b4fac0d3341bc4499872ef461e106e8887dadf3830
 DIST libunwind-1.70.tar.gz 912930 BLAKE2B 
ef9cd9dc516cf906e883f40230942b18406f2cdbcfa7f7ea25673b400ebe621feb69d13ad1959bd0431bdf9c336082c7c364170214d8ae0f34eb8d285427bee3
 SHA512 
ec65a73db2f563784b880abf81864b85165255770e950feea57dd83700b72726d0e8c7d5b06e9485735538452730b8ecf2d52c3cc8190dfe69b765e1a9d4271c

diff --git a/sys-libs/libunwind/libunwind-1.7.1.ebuild 
b/sys-libs/libunwind/libunwind-1.7.1.ebuild
new file mode 100644
index 000000000000..635390c0974f
--- /dev/null
+++ b/sys-libs/libunwind/libunwind-1.7.1.ebuild
@@ -0,0 +1,116 @@
+# Copyright 2005-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Generate using 
https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-libunwind-docs
+# Set to 1 if prebuilt, 0 if not
+# (the construct below is to allow overriding from env for script)
+: ${LIBUNWIND_DOCS_PREBUILT:=1}
+
+LIBUNWIND_DOCS_PREBUILT_DEV=sam
+LIBUNWIND_DOCS_VERSION=$(ver_cut 1-3)
+# Default to generating docs (inc. man pages) if no prebuilt; overridden later
+LIBUNWIND_DOCS_USEFLAG="+doc"
+
+[[ ${LIBUNWIND_DOCS_PREBUILT} == 1 ]] && LIBUNWIND_DOCS_USEFLAG="doc"
+
+inherit multilib-minimal
+
+DESCRIPTION="Portable and efficient API to determine the call-chain of a 
program"
+HOMEPAGE="https://savannah.nongnu.org/projects/libunwind";
+SRC_URI="https://github.com/libunwind/libunwind/releases/download/v${PV}/${P}.tar.gz";
+if [[ ${LIBUNWIND_DOCS_PREBUILT} == 1 ]] ; then
+       SRC_URI+=" !doc? ( 
https://dev.gentoo.org/~${LIBUNWIND_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${LIBUNWIND_DOCS_VERSION}-docs.tar.xz
 )"
+fi
+
+LICENSE="MIT"
+SLOT="0/8" # libunwind.so.8
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 
-sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug debug-frame ${LIBUNWIND_DOCS_USEFLAG} libatomic lzma static-libs 
test zlib"
+
+RESTRICT="test !test? ( test )" # some tests are broken (toolchain version 
dependent, rely on external binaries)
+
+BDEPEND="
+       doc? ( app-text/texlive-core )
+"
+RDEPEND="
+       lzma? ( app-arch/xz-utils[static-libs?,${MULTILIB_USEDEP}] )
+       zlib? ( sys-libs/zlib[static-libs?,${MULTILIB_USEDEP}] )
+"
+# We just use the header from libatomic.
+DEPEND="
+       ${RDEPEND}
+       libatomic? ( dev-libs/libatomic_ops[${MULTILIB_USEDEP}] )
+"
+
+MULTILIB_WRAPPED_HEADERS=(
+       /usr/include/libunwind.h
+
+       # see libunwind.h for the full list of arch-specific headers
+       /usr/include/libunwind-aarch64.h
+       /usr/include/libunwind-arm.h
+       /usr/include/libunwind-hppa.h
+       /usr/include/libunwind-ia64.h
+       /usr/include/libunwind-mips.h
+       /usr/include/libunwind-ppc32.h
+       /usr/include/libunwind-ppc64.h
+       /usr/include/libunwind-riscv.h
+       /usr/include/libunwind-sh.h
+       /usr/include/libunwind-tilegx.h
+       /usr/include/libunwind-x86.h
+       /usr/include/libunwind-x86_64.h
+)
+
+src_prepare() {
+       default
+
+       chmod +x src/ia64/mk_cursor_i || die
+}
+
+multilib_src_configure() {
+       local myeconfargs=(
+               # --enable-cxx-exceptions: always enable it, headers provide 
the interface
+               # and on some archs it is disabled by default causing a 
mismatch between the
+               # API and the ABI, bug #418253
+               --enable-cxx-exceptions
+               --enable-coredump
+               --enable-ptrace
+               --enable-setjmp
+               $(use_enable debug-frame)
+               $(multilib_native_use_enable doc documentation)
+               $(use_enable lzma minidebuginfo)
+               $(use_enable static-libs static)
+               $(use_enable zlib zlibdebuginfo)
+               # conservative-checks: validate memory addresses before use; as 
of 1.0.1,
+               # only x86_64 supports this, yet may be useful for debugging, 
couple it with
+               # debug useflag.
+               $(use_enable debug conservative_checks)
+               $(use_enable debug)
+               $(use_enable test tests)
+       )
+
+       export ac_cv_header_atomic_ops_h=$(usex libatomic)
+
+       ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+       # bug #586208
+       CCACHE_NODIRECT=1 default
+}
+
+multilib_src_test() {
+       # Explicitly allow parallel build of tests.
+       # Sandbox causes some tests to freak out.
+       SANDBOX_ON=0 emake check
+}
+
+multilib_src_install_all() {
+       find "${ED}" -name "*.la" -type f -delete || die
+
+       # If USE=doc, there'll be newly generated docs which we install instead.
+       if ! use doc && [[ ${LIBUNWIND_DOCS_PREBUILT} == 1 ]] ; then
+               doman 
"${WORKDIR}"/${PN}-${LIBUNWIND_DOCS_VERSION}-docs/man*/*.[0-8]
+       fi
+}

Reply via email to