diff options
author | Sam James <sam@gentoo.org> | 2022-02-07 03:56:24 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-02-07 04:00:57 +0000 |
commit | 1d8718303b00e24d21ce70a6891a096e89c96f1d (patch) | |
tree | 012047d7737b3c3cd68b2b99375e0c89d2acc2dc /sys-libs/libucontext/libucontext-1.1-r1.ebuild | |
parent | dev-libs/libgamin: fix musl build (diff) | |
download | gentoo-1d8718303b00e24d21ce70a6891a096e89c96f1d.tar.gz gentoo-1d8718303b00e24d21ce70a6891a096e89c96f1d.tar.bz2 gentoo-1d8718303b00e24d21ce70a6891a096e89c96f1d.zip |
sys-libs/libucontext: respect CFLAGS without overriding upstream define
Fixes musl runtime as the right symbols get defined now (unprefixed).
Bug: https://github.com/rui314/mold/issues/281
Bug: https://bugs.gentoo.org/832700
Closes: https://bugs.gentoo.org/832677
Thanks-to: Andrew Athalye <andrewathalye@outlook.com>
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sys-libs/libucontext/libucontext-1.1-r1.ebuild')
-rw-r--r-- | sys-libs/libucontext/libucontext-1.1-r1.ebuild | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/sys-libs/libucontext/libucontext-1.1-r1.ebuild b/sys-libs/libucontext/libucontext-1.1-r1.ebuild new file mode 100644 index 000000000000..cf76cfa1a756 --- /dev/null +++ b/sys-libs/libucontext/libucontext-1.1-r1.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2022 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" + +PATCHES=( + "${FILESDIR}"/${PN}-1.1-respect-CFLAGS.patch +) + +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}" LDFLAGS="${LDFLAGS}" all $(usev man 'docs') +} + +src_test() { + emake LDFLAGS="${LDFLAGS}" check +} + +src_install() { + emake DESTDIR="${ED}" LIBDIR="/usr/$(get_libdir)" install $(usev man 'install_docs') +} |