summaryrefslogtreecommitdiff
path: root/sys-libs/libucontext
diff options
context:
space:
mode:
Diffstat (limited to 'sys-libs/libucontext')
-rw-r--r--sys-libs/libucontext/Manifest3
-rw-r--r--sys-libs/libucontext/libucontext-1.1.ebuild51
-rw-r--r--sys-libs/libucontext/metadata.xml11
3 files changed, 65 insertions, 0 deletions
diff --git a/sys-libs/libucontext/Manifest b/sys-libs/libucontext/Manifest
new file mode 100644
index 000000000000..91334bc00e78
--- /dev/null
+++ b/sys-libs/libucontext/Manifest
@@ -0,0 +1,3 @@
+DIST libucontext-1.1.tar.gz 25261 BLAKE2B 269b3899657779bc2c6a2f1c365242f0ee936afeb0acf74e48af5c1e6b96918bbaa239039508e7b1b1f7b358679fb4a222311b761223b69b9a3e7a9be2d0bc40 SHA512 05aed6f82a2b3d9dba896423335a7fc2fc5eddc87ed725f05e14488c6ddfcef10b835c928619439c7783e052baff7ef2dc162b6e06aa78992f6f611ca13c2e39
+EBUILD libucontext-1.1.ebuild 1077 BLAKE2B 0c4b3f18440b3fb002fb9538fc97360056038ac2f59e9c63e18cf6203d89aec95c47161bd0dd09261172b20a5da3dd150285b9088c4ad6abf27611e929315b6a SHA512 beeddc6b1366d0e94e9826074c4137a778838be4cba9b698890c1b7ebcdcb936b1731a22510c3774ee997423f75ae49f9bb4be149f83a0e306c52e7163357cc6
+MISC metadata.xml 329 BLAKE2B 8958a3567263e9f2fc2409c2cd5858ca3e68659a45f67e5132fca640c6ffe05cac8810436f334b5c775ed049709f43aaf366cfecc97bc732a0917bb47aa5c34d SHA512 7b5d5832b22828f6a0600e3be45ff1da8ff340481a3602db6f5b8540373ff0ac3c72f0de64f00a1691598bbd9cea0128eb869cda67d8ac4894e3a51a7009a730
diff --git a/sys-libs/libucontext/libucontext-1.1.ebuild b/sys-libs/libucontext/libucontext-1.1.ebuild
new file mode 100644
index 000000000000..f637a693a337
--- /dev/null
+++ b/sys-libs/libucontext/libucontext-1.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="ucontext implementation featuring glibc-compatible ABI"
+HOMEPAGE="https://github.com/kaniini/libucontext"
+SRC_URI="https://github.com/kaniini/libucontext/archive/refs/tags/${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${P}
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+man"
+
+BDEPEND="man? ( app-text/scdoc )"
+
+# segfault needs investigation
+RESTRICT="test"
+
+src_compile() {
+ tc-export AR CC
+
+ local 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 ppc64 ; then
+ arch="ppc64"
+ else
+ arch="$(uname -m)"
+ fi
+
+ emake ARCH="${arch}" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" all $(usev man 'docs')
+}
+
+src_test() {
+ emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" check
+}
+
+src_install() {
+ emake DESTDIR="${ED}" LIBDIR="/usr/$(get_libdir)" install $(usev man 'install_docs')
+}
diff --git a/sys-libs/libucontext/metadata.xml b/sys-libs/libucontext/metadata.xml
new file mode 100644
index 000000000000..6d14eb740806
--- /dev/null
+++ b/sys-libs/libucontext/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>musl@gentoo.org</email>
+ <name>Musl project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">kaniini/libucontext</remote-id>
+ </upstream>
+</pkgmetadata>