From 731da34a0f3a2b0d002d5e2cb4dff175ca82d564 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Thu, 23 Nov 2023 14:48:40 +0100 Subject: [PATCH] sys-libs/libunwind: Sync with Gentoo It's from Gentoo commit 91f1c92a3dd2a088373e7c3c3978042f4c0b387e. --- .../sys-libs/libunwind/Manifest | 7 +- .../files/libunwind-1.2-coredump-regs.patch | 16 --- .../files/libunwind-1.2-ia64-missing.patch | 93 ------------- .../libunwind-1.2-ia64-ptrace-coredump.patch | 34 ----- ...only-include-execinfo_h-if-avaliable.patch | 51 ------- .../libunwind/files/libunwind-1.5.0-x32.patch | 17 --- .../libunwind/libunwind-1.5.0-r1.ebuild | 108 --------------- .../libunwind/libunwind-1.6.0_rc2.ebuild | 102 -------------- .../libunwind/libunwind-1.6.2-r1.ebuild | 122 +++++++++++++++++ .../sys-libs/libunwind/libunwind-1.7.2.ebuild | 129 ++++++++++++++++++ .../sys-libs/libunwind/libunwind-9999.ebuild | 129 ++++++++++++++++++ .../sys-libs/libunwind/metadata.xml | 1 + 12 files changed, 386 insertions(+), 423 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/sys-libs/libunwind/files/libunwind-1.2-coredump-regs.patch delete mode 100644 sdk_container/src/third_party/portage-stable/sys-libs/libunwind/files/libunwind-1.2-ia64-missing.patch delete mode 100644 sdk_container/src/third_party/portage-stable/sys-libs/libunwind/files/libunwind-1.2-ia64-ptrace-coredump.patch delete mode 100644 sdk_container/src/third_party/portage-stable/sys-libs/libunwind/files/libunwind-1.2.1-only-include-execinfo_h-if-avaliable.patch delete mode 100644 sdk_container/src/third_party/portage-stable/sys-libs/libunwind/files/libunwind-1.5.0-x32.patch delete mode 100644 sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-1.5.0-r1.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-1.6.0_rc2.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-1.6.2-r1.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-1.7.2.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-9999.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/Manifest b/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/Manifest index a755df1496..b40120edf1 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/Manifest @@ -1,2 +1,5 @@ -DIST libunwind-1.5.0.tar.gz 878355 BLAKE2B ee35441289926ac22a58bedb9f831d8e13bacd663a99b3ce25eed229f25f0423bbbd90e09e3d62b003518d7a620aa6d15b0dd5b93632736a89fa0667b35d5fc2 SHA512 1df20ca7a8cee2f2e61294fa9b677e88fec52e9d5a329f88d05c2671c69fa462f6c18808c97ca9ff664ef57292537a844f00b18d142b1938c9da701ca95a4bab -DIST libunwind-1.6.0-rc2.tar.gz 900974 BLAKE2B bbf88b6eb0ddf1371a8d69904e7763d2b2892641f88ed985f342962de7b2d19b6201f84422252aa5ca3d6beed7b3af0e2fe1fdb603497dbe68215ebc94942074 SHA512 7b3933c4693595a85182cc11d24527c5ccda3c3af115a3947bdc9877ecb4a77659a2196f559112868b36cd2cdc5623cabef68ad519fd4017c510ee375b97cbe9 +DIST libunwind-1.6.2-docs.tar.xz 25372 BLAKE2B d16562b29c49070f0cd6ad9211c7c3283b527bd88677d9ce50b15f27254bac504ea79b807e01f4f2bdb05649ff8980f94346ef9737bf5b5bd7c313e547222f10 SHA512 71bcb781cc37ccbef7b349225b1b3b4cd6ba4ce5a48d8478cea17f8245614b672d8e14b5a088e2d998ea717670a371925d4fbe407dde636611f7c2f2901065d8 +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.1-docs.tar.xz 27248 BLAKE2B 0905f49ce72e6cafbb185828a4adf7eb5a88ede335104b1b0679e66199079e3dad9d83815d10a864b4480d88abd82b73bb71181962b1fea39ec41f534d78d549 SHA512 d786572e7fbd5ef7852712f592bd17d4110951083991c5ffcff2bb4ae91e4519b42743f848fe7f2cc9f72d8a0240531ec3d27806972c2c309d06a9048284b97b +DIST libunwind-1.7.2.tar.gz 912590 BLAKE2B 519570a02d06ce4a174ca226941e493499054112de1c92938434e9fb56fabc8446f699a886ea8beee672ac5e28acd03d16169257a43e2ee1bab084fb331ef4cf SHA512 903f7e26c7d4c22e6ef4fe8954ca0f153fdf346cec40e1e8f7ab966d251110f4deb0a84d1fd150aee194ed966b5c1e01ee27c821cd043859852da33a94faae1f diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/files/libunwind-1.2-coredump-regs.patch b/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/files/libunwind-1.2-coredump-regs.patch deleted file mode 100644 index 3ddc610d4a..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/files/libunwind-1.2-coredump-regs.patch +++ /dev/null @@ -1,16 +0,0 @@ -https://bugs.gentoo.org/586092 - -this might not be correct, but at least it builds, and doesn't crash - ---- a/src/coredump/_UCD_access_reg_linux.c -+++ b/src/coredump/_UCD_access_reg_linux.c -@@ -51,6 +51,9 @@ _UCD_access_reg (unw_addr_space_t as, - #elif defined(UNW_TARGET_TILEGX) - if (regnum < 0 || regnum > UNW_TILEGX_CFA) - goto badreg; -+#elif defined(UNW_TARGET_IA64) || defined(UNW_TARGET_HPPA) || defined(UNW_TARGET_PPC32) || defined(UNW_TARGET_PPC64) -+ if (regnum < 0 || regnum >= ARRAY_SIZE(ui->prstatus->pr_reg)) -+ goto badreg; - #else - #if defined(UNW_TARGET_MIPS) - static const uint8_t remap_regs[] = diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/files/libunwind-1.2-ia64-missing.patch b/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/files/libunwind-1.2-ia64-missing.patch deleted file mode 100644 index e15250b4c6..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/files/libunwind-1.2-ia64-missing.patch +++ /dev/null @@ -1,93 +0,0 @@ -Original libunwind release is missing a few ia64-specific files in tarball. -diff --git a/src/ia64/mk_Gcursor_i.c b/src/ia64/mk_Gcursor_i.c -new file mode 100644 -index 0000000..67b14d5 ---- /dev/null -+++ b/src/ia64/mk_Gcursor_i.c -@@ -0,0 +1,65 @@ -+/* libunwind - a platform-independent unwind library -+ Copyright (C) 2003 Hewlett-Packard Co -+ Contributed by David Mosberger-Tang -+ -+This file is part of libunwind. -+ -+Permission is hereby granted, free of charge, to any person obtaining -+a copy of this software and associated documentation files (the -+"Software"), to deal in the Software without restriction, including -+without limitation the rights to use, copy, modify, merge, publish, -+distribute, sublicense, and/or sell copies of the Software, and to -+permit persons to whom the Software is furnished to do so, subject to -+the following conditions: -+ -+The above copyright notice and this permission notice shall be -+included in all copies or substantial portions of the Software. -+ -+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -+ -+/* Utility to generate cursor_i.h. */ -+ -+#include "libunwind_i.h" -+ -+#ifdef offsetof -+# undef offsetof -+#endif -+ -+#define offsetof(type,field) ((char *) &((type *) 0)->field - (char *) 0) -+ -+#define OFFSET(sym, offset) \ -+ asm volatile("\n->" #sym " %0" : : "i" (offset)) -+ -+int -+main (void) -+{ -+ OFFSET("IP_OFF", offsetof (struct cursor, ip)); -+ OFFSET("PR_OFF", offsetof (struct cursor, pr)); -+ OFFSET("BSP_OFF", offsetof (struct cursor, bsp)); -+ OFFSET("PSP_OFF", offsetof (struct cursor, psp)); -+ OFFSET("PFS_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_PFS])); -+ OFFSET("RNAT_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_RNAT])); -+ OFFSET("UNAT_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_UNAT])); -+ OFFSET("LC_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_LC])); -+ OFFSET("FPSR_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_FPSR])); -+ OFFSET("B1_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_B1])); -+ OFFSET("B2_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_B2])); -+ OFFSET("B3_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_B3])); -+ OFFSET("B4_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_B4])); -+ OFFSET("B5_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_B5])); -+ OFFSET("F2_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_F2])); -+ OFFSET("F3_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_F3])); -+ OFFSET("F4_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_F4])); -+ OFFSET("F5_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_F5])); -+ OFFSET("FR_LOC_OFF", offsetof (struct cursor, loc[IA64_REG_F16])); -+ OFFSET("LOC_SIZE", -+ (offsetof (struct cursor, loc[1]) - offsetof (struct cursor, loc[0]))); -+ OFFSET("SIGCONTEXT_ADDR_OFF", offsetof (struct cursor, sigcontext_addr)); -+ return 0; -+} -diff --git a/src/ia64/mk_Lcursor_i.c b/src/ia64/mk_Lcursor_i.c -new file mode 100644 -index 0000000..aee2e7e ---- /dev/null -+++ b/src/ia64/mk_Lcursor_i.c -@@ -0,0 +1,2 @@ -+#define UNW_LOCAL_ONLY -+#include "mk_Gcursor_i.c" -diff --git a/src/ia64/mk_cursor_i b/src/ia64/mk_cursor_i -new file mode 100755 -index 0000000..9211f91 ---- /dev/null -+++ b/src/ia64/mk_cursor_i -@@ -0,0 +1,7 @@ -+#!/bin/sh -+test -z "$1" && exit 1 -+echo "/* GENERATED */" -+echo "#ifndef cursor_i_h" -+echo "#define cursor_i_h" -+sed -ne 's/^->"\(\S*\)" \(\d*\)/#define \1 \2/p' < $1 || exit $? -+echo "#endif" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/files/libunwind-1.2-ia64-ptrace-coredump.patch b/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/files/libunwind-1.2-ia64-ptrace-coredump.patch deleted file mode 100644 index 3785d8820c..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/files/libunwind-1.2-ia64-ptrace-coredump.patch +++ /dev/null @@ -1,34 +0,0 @@ -Fix build failure on ia64. - coredump/_UPT_get_dyn_info_list_addr.c -is almost identical to - ptrace/_UPT_get_dyn_info_list_addr.c -It's clearly an __ia64 implementation copy. -diff --git a/src/coredump/_UPT_get_dyn_info_list_addr.c b/src/coredump/_UPT_get_dyn_info_list_addr.c -index 0d11905..176b146 100644 ---- a/src/coredump/_UPT_get_dyn_info_list_addr.c -+++ b/src/coredump/_UPT_get_dyn_info_list_addr.c -@@ -31,2 +31,3 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ - # include "os-linux.h" -+# include "../ptrace/_UPT_internal.h" - -@@ -40,3 +41,2 @@ get_list_addr (unw_addr_space_t as, unw_word_t *dil_addr, void *arg, - char path[PATH_MAX]; -- unw_dyn_info_t *di; - unw_word_t res; -@@ -50,5 +50,5 @@ get_list_addr (unw_addr_space_t as, unw_word_t *dil_addr, void *arg, - -- invalidate_edi (&ui->edi); -+ invalidate_edi(&ui->edi); - -- if (elf_map_image (&ui->ei, path) < 0) -+ if (elf_map_image (&ui->edi.ei, path) < 0) - /* ignore unmappable stuff like "/SYSV00001b58 (deleted)" */ -@@ -58,6 +58,5 @@ get_list_addr (unw_addr_space_t as, unw_word_t *dil_addr, void *arg, - -- di = tdep_find_unwind_table (&ui->edi, as, path, lo, off); -- if (di) -+ if (tdep_find_unwind_table (&ui->edi, as, path, lo, off, 0) > 0) - { -- res = _Uia64_find_dyn_list (as, di, arg); -+ res = _Uia64_find_dyn_list (as, &ui->edi.di_cache, arg); - if (res && count++ == 0) diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/files/libunwind-1.2.1-only-include-execinfo_h-if-avaliable.patch b/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/files/libunwind-1.2.1-only-include-execinfo_h-if-avaliable.patch deleted file mode 100644 index ee11149771..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/files/libunwind-1.2.1-only-include-execinfo_h-if-avaliable.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 0f3f41a86842f2b19aa07af5242cb775ef9b20d3 Mon Sep 17 00:00:00 2001 -From: "Jory A. Pratt" -Date: Sat, 30 Jun 2018 22:44:22 -0500 -Subject: [PATCH] Only include execinfo.h where avaliable - -Signed-off-by: Jory A. Pratt ---- - tests/test-coredump-unwind.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/tests/test-coredump-unwind.c b/tests/test-coredump-unwind.c -index 5254708..33f92b0 100644 ---- a/tests/test-coredump-unwind.c -+++ b/tests/test-coredump-unwind.c -@@ -57,7 +57,9 @@ - #include - - /* For SIGSEGV handler code */ -+#if HAVE_EXECINFO_H - #include -+#endif - #include - - #include -@@ -202,7 +204,7 @@ void die_out_of_memory(void) - /* End of utility logging functions */ - - -- -+#if HAVE_EXECINFO_H - static - void handle_sigsegv(int sig, siginfo_t *info, void *ucontext) - { -@@ -249,12 +251,14 @@ void handle_sigsegv(int sig, siginfo_t *info, void *ucontext) - - _exit(1); - } -- -+#endif - static void install_sigsegv_handler(void) - { - struct sigaction sa; - memset(&sa, 0, sizeof(sa)); -+#if HAVE_EXECINFO_H - sa.sa_sigaction = handle_sigsegv; -+#endif - sa.sa_flags = SA_SIGINFO; - sigaction(SIGSEGV, &sa, NULL); - sigaction(SIGILL, &sa, NULL); --- -2.18.0 diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/files/libunwind-1.5.0-x32.patch b/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/files/libunwind-1.5.0-x32.patch deleted file mode 100644 index a3bbc81f45..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/files/libunwind-1.5.0-x32.patch +++ /dev/null @@ -1,17 +0,0 @@ -https://bugs.gentoo.org/614374 - -From: kasperk81 <83082615+kasperk81@users.noreply.github.com> -Date: Wed, 30 Jun 2021 23:23:22 +0000 -Subject: [PATCH] Fix -mx32 compilation error - ---- a/src/x86_64/Gos-linux.c -+++ b/src/x86_64/Gos-linux.c -@@ -149,7 +149,7 @@ x86_64_sigreturn (unw_cursor_t *cursor) - __asm__ __volatile__ ("mov %0, %%rsp;" - "mov %1, %%rax;" - "syscall" -- :: "r"(sc), "i"(SYS_rt_sigreturn) -+ :: "r"((uint64_t)sc), "i"(SYS_rt_sigreturn) - : "memory"); - abort(); - } diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-1.5.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-1.5.0-r1.ebuild deleted file mode 100644 index 082fdab6ed..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-1.5.0-r1.ebuild +++ /dev/null @@ -1,108 +0,0 @@ -# Copyright 2005-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -MY_PV=${PV/_/-} -MY_P=${PN}-${MY_PV} -inherit autotools flag-o-matic libtool multilib-minimal - -DESCRIPTION="Portable and efficient API to determine the call-chain of a program" -HOMEPAGE="https://savannah.nongnu.org/projects/libunwind" -SRC_URI="mirror://nongnu/libunwind/${MY_P}.tar.gz" - -LICENSE="MIT" -SLOT="0/8" # libunwind.so.8 -KEYWORDS="amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 -riscv -sparc x86 ~amd64-linux ~x86-linux" -IUSE="debug debug-frame doc libatomic lzma static-libs zlib" - -RESTRICT="test" # some tests are broken (toolchain version dependent, rely on external binaries) - -# We just use the header from libatomic. -RDEPEND=" - lzma? ( app-arch/xz-utils[static-libs?,${MULTILIB_USEDEP}] ) - zlib? ( sys-libs/zlib[static-libs?,${MULTILIB_USEDEP}] ) -" -DEPEND="${RDEPEND} - libatomic? ( dev-libs/libatomic_ops[${MULTILIB_USEDEP}] )" - -S="${WORKDIR}/${MY_P}" - -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-sh.h - /usr/include/libunwind-tilegx.h - /usr/include/libunwind-x86.h - /usr/include/libunwind-x86_64.h -) - -PATCHES=( - "${FILESDIR}"/${PN}-1.2-coredump-regs.patch #586092 - "${FILESDIR}"/${PN}-1.2-ia64-ptrace-coredump.patch - "${FILESDIR}"/${PN}-1.2-ia64-missing.patch - "${FILESDIR}"/${PN}-1.5.0-x32.patch - # needs refresh: - #"${FILESDIR}"/${PN}-1.2.1-only-include-execinfo_h-if-avaliable.patch -) - -src_prepare() { - default - chmod +x src/ia64/mk_cursor_i || die - # Since we have tests disabled via RESTRICT, disable building in the subdir - # entirely. This works around some build errors too. #484846 - sed -i -e '/^SUBDIRS/s:tests::' Makefile.in || die - - elibtoolize - eautoreconf - - # Let's wait for proper fix upstream in https://github.com/libunwind/libunwind/issues/154 - # Meanwhile workaround for gcc-10 with -fcommon, bug #706560 - append-cflags -fcommon -} - -multilib_src_configure() { - # --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 - # 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. - ECONF_SOURCE="${S}" \ - ac_cv_header_atomic_ops_h=$(usex libatomic) \ - econf \ - --enable-cxx-exceptions \ - --enable-coredump \ - --enable-ptrace \ - --enable-setjmp \ - $(use_enable debug-frame) \ - $(use_enable doc documentation) \ - $(use_enable lzma minidebuginfo) \ - $(use_enable static-libs static) \ - $(use_enable zlib zlibdebuginfo) \ - $(use_enable debug conservative_checks) \ - $(use_enable debug) -} - -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 "${D}" -name "*.la" -type f -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-1.6.0_rc2.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-1.6.0_rc2.ebuild deleted file mode 100644 index 2c27a4785c..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-1.6.0_rc2.ebuild +++ /dev/null @@ -1,102 +0,0 @@ -# Copyright 2005-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -MY_PV=${PV/_/-} -MY_P=${PN}-${MY_PV} -inherit autotools flag-o-matic libtool multilib-minimal - -DESCRIPTION="Portable and efficient API to determine the call-chain of a program" -HOMEPAGE="https://savannah.nongnu.org/projects/libunwind" -SRC_URI="mirror://nongnu/libunwind/${MY_P}.tar.gz" - -LICENSE="MIT" -SLOT="0/8" # libunwind.so.8 -#KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv -sparc ~x86 ~amd64-linux ~x86-linux" -KEYWORDS="~riscv" -IUSE="debug debug-frame doc libatomic lzma static-libs zlib" - -RESTRICT="test" # some tests are broken (toolchain version dependent, rely on external binaries) - -# We just use the header from libatomic. -RDEPEND=" - lzma? ( app-arch/xz-utils[static-libs?,${MULTILIB_USEDEP}] ) - zlib? ( sys-libs/zlib[static-libs?,${MULTILIB_USEDEP}] ) -" -DEPEND="${RDEPEND} - libatomic? ( dev-libs/libatomic_ops[${MULTILIB_USEDEP}] )" - -S="${WORKDIR}/${MY_P}" - -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 -) - -PATCHES=( - # needs refresh: - #"${FILESDIR}"/${PN}-1.2.1-only-include-execinfo_h-if-avaliable.patch -) - -src_prepare() { - default - chmod +x src/ia64/mk_cursor_i || die - # Since we have tests disabled via RESTRICT, disable building in the subdir - # entirely. This works around some build errors too. #484846 - sed -i -e '/^SUBDIRS/s:tests::' Makefile.in || die - - elibtoolize - eautoreconf -} - -multilib_src_configure() { - # --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 - # 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. - ECONF_SOURCE="${S}" \ - ac_cv_header_atomic_ops_h=$(usex libatomic) \ - econf \ - --enable-cxx-exceptions \ - --enable-coredump \ - --enable-ptrace \ - --enable-setjmp \ - $(use_enable debug-frame) \ - $(use_enable doc documentation) \ - $(use_enable lzma minidebuginfo) \ - $(use_enable static-libs static) \ - $(use_enable zlib zlibdebuginfo) \ - $(use_enable debug conservative_checks) \ - $(use_enable debug) -} - -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 "${D}" -name "*.la" -type f -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-1.6.2-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-1.6.2-r1.ebuild new file mode 100644 index 0000000000..8d9fbcdbbf --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-1.6.2-r1.ebuild @@ -0,0 +1,122 @@ +# 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" + +MY_PV=${PV/_/-} +MY_P=${PN}-${MY_PV} +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="mirror://nongnu/libunwind/${MY_P}.tar.gz + loong? ( https://dev.gentoo.org/~xen0n/distfiles/${CATEGORY}/${PN}/${P}-loong.patch.xz )" +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 + +S="${WORKDIR}/${MY_P}" + +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() { + local PATCHES=() + use loong && PATCHES+=( "${WORKDIR}/${P}-loong.patch" ) + + 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 +} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-1.7.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-1.7.2.ebuild new file mode 100644 index 0000000000..e5cd9a5f96 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-1.7.2.ebuild @@ -0,0 +1,129 @@ +# 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=1.7.1 +# Default to generating docs (inc. man pages) if no prebuilt; overridden later +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" + +if [[ ${PV} == 9999 ]] ; then + LIBUNWIND_DOCS_PREBUILT=0 + + EGIT_REPO_URI="https://github.com/libunwind/libunwind" + inherit autotools git-r3 +else + 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 + + KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 -sparc x86 ~amd64-linux ~x86-linux" +fi + +[[ ${LIBUNWIND_DOCS_PREBUILT} == 1 ]] && LIBUNWIND_DOCS_USEFLAG="doc" + +LICENSE="MIT" +SLOT="0/8" # libunwind.so.8 +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 + + if [[ ${PV} == 9999 ]] ; then + eautoreconf + fi +} + +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 +} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-9999.ebuild new file mode 100644 index 0000000000..f851e69da6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/libunwind-9999.ebuild @@ -0,0 +1,129 @@ +# 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=1.7.1 +# Default to generating docs (inc. man pages) if no prebuilt; overridden later +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" + +if [[ ${PV} == 9999 ]] ; then + LIBUNWIND_DOCS_PREBUILT=0 + + EGIT_REPO_URI="https://github.com/libunwind/libunwind" + inherit autotools git-r3 +else + 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 + + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 -sparc ~x86 ~amd64-linux ~x86-linux" +fi + +[[ ${LIBUNWIND_DOCS_PREBUILT} == 1 ]] && LIBUNWIND_DOCS_USEFLAG="doc" + +LICENSE="MIT" +SLOT="0/8" # libunwind.so.8 +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 + + if [[ ${PV} == 9999 ]] ; then + eautoreconf + fi +} + +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 +} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/metadata.xml b/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/metadata.xml index 02901daf78..2861d2a86f 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libunwind/metadata.xml @@ -10,6 +10,7 @@ Use libatomic instead of builtin atomic operations + libunwind libunwind/libunwind