commit:     beb1478aa9b2d7a9ad9c48cc61620c4dcaf9dc12
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 21 08:07:06 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jun 21 08:13:00 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=beb1478a

sys-libs/libucontext: add 1.3.2

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

 sys-libs/libucontext/Manifest                 |  1 +
 sys-libs/libucontext/libucontext-1.3.2.ebuild | 68 +++++++++++++++++++++++++++
 2 files changed, 69 insertions(+)

diff --git a/sys-libs/libucontext/Manifest b/sys-libs/libucontext/Manifest
index 609b1c97b9cd..f3df2cc30714 100644
--- a/sys-libs/libucontext/Manifest
+++ b/sys-libs/libucontext/Manifest
@@ -1,2 +1,3 @@
 DIST libucontext-1.2.tar.gz 29073 BLAKE2B 
378816376877729776c41515ad1c3da36c24528bcdcf5272c4df2029b5273cf90228c163e87bd1af558129b1274d0b22632c4fa8ad2a0f37ac7014dae527a48e
 SHA512 
f47b776517fa9e3fe48b762b11ae580c28bd7646f9e3ab843141d3e203f886326e68dd8040852ab1cb92dbd09d821161660c4be44e3025448d90131e74a4cf51
 DIST libucontext-1.3.1.tar.xz 24688 BLAKE2B 
d6a15644abda73ea3e1dd45d6bcbf42627ad4a17fe90ebe8067383f9abfa7c9f87fbb1ab7f21b8b57b88fbe496b57524370d7cbb0fcde5c6e42408c025c271f9
 SHA512 
9b3c7fc04aedbbed6f35fc18037b75472f8fa44d3c89f261ef923f46874251a10f49894f7a549b0b47d3ffdee1b6678929bdda95822d8043d76b5a1f34e4dc8a
+DIST libucontext-1.3.2.tar.xz 24480 BLAKE2B 
8db3c3e7277c459d23d7f7d608f64515ae11be041cc113cb0902c8eb50eabd8bcb77c2f3c1aa9b8f9ba2c3d2cc623a80a28971c27ab714eedc075c0f7494b36f
 SHA512 
3911a9a772832dad68dc4dbb78ca646cba92170d4e192948e0a6e78295f6ee27f20b637986d39450edae805c96b08f7e1716fa7904fc84258acab8691d87c4f5

diff --git a/sys-libs/libucontext/libucontext-1.3.2.ebuild 
b/sys-libs/libucontext/libucontext-1.3.2.ebuild
new file mode 100644
index 000000000000..4c8babf47549
--- /dev/null
+++ b/sys-libs/libucontext/libucontext-1.3.2.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# TODO: meson
+inherit toolchain-funcs
+
+DESCRIPTION="ucontext implementation featuring glibc-compatible ABI"
+HOMEPAGE="https://github.com/kaniini/libucontext";
+SRC_URI="https://distfiles.ariadne.space/libucontext/${P}.tar.xz";
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86"
+IUSE="+man"
+
+BDEPEND="man? ( app-text/scdoc )"
+
+src_compile() {
+       tc-export AR CC
+
+       arch=
+
+       # Override arch detection
+       # https://github.com/kaniini/libucontext/blob/master/Makefile#L3
+       if use x86 ; then
+               arch="x86"
+       elif use arm ; then
+               arch="arm"
+       elif use arm64 ; then
+               arch="aarch64"
+       elif use loong ; then
+               arch="loongarch64"
+       elif use ppc64 ; then
+               arch="ppc64"
+       else
+               arch="$(uname -m)"
+       fi
+
+       emake \
+               ARCH="${arch}" \
+               LDFLAGS="${LDFLAGS}" \
+               libdir="/usr/$(get_libdir)" \
+               pkgconfigdir="/usr/$(get_libdir)/pkgconfig" \
+               all $(usev man 'docs')
+}
+
+src_test() {
+       emake \
+               ARCH="${arch}" \
+               LDFLAGS="${LDFLAGS}" \
+               libdir="/usr/$(get_libdir)" \
+               pkgconfigdir="/usr/$(get_libdir)/pkgconfig" \
+               check
+}
+
+src_install() {
+       emake \
+               ARCH="${arch}" \
+               DESTDIR="${D}" \
+               prefix="${EPREFIX}/usr" \
+               libdir="${EPREFIX}/usr/$(get_libdir)" \
+               pkgconfigdir="${EPREFIX}/usr/$(get_libdir)/pkgconfig" \
+               install $(usev man 'install_docs')
+
+       find "${ED}" -name '*.a' -delete || die
+}

Reply via email to