guru/sys-libs/gcompat/gcompat-9999.ebuild
Charlie Quinet 5bd5663aef
sys-libs/gcompat: add live ebuild
gcompat hasn't had a point release for a while (2 years) and there are support for more symbols in the latest git

Signed-off-by: Charlie Quinet <w.iron.zombie@gmail.com>
2025-02-11 00:33:40 +01:00

58 lines
1.4 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Copyright 2018-2020 Haelwenn (lanodan) Monnier <contact@hacktivis.me>
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit multilib-minimal flag-o-matic git-r3
DESCRIPTION="The GNU C Library compatibility layer for musl"
HOMEPAGE="https://git.adelielinux.org/adelie/gcompat"
EGIT_REPO_URI="https://git.adelielinux.org/adelie/gcompat.git"
LICENSE="UoI-NCSA"
SLOT="0"
IUSE="libucontext obstack"
DEPEND="
libucontext? ( sys-libs/libucontext )
obstack? ( sys-libs/obstack-standalone )
"
RDEPEND="${DEPEND}"
get_loader_name() {
# Loosely based on Adélie APKBUILD
# TODO: Check against glibcs logic
case "$ABI" in
x86) echo "ld-linux.so.2" ;;
amd64) echo "ld-linux-x86-64.so.2" ;;
arm64) echo "ld-linux-aarch64.so.1" ;;
arm*) echo "ld-linux-armhf.so.3" ;;
mips | powerpc | s390) echo "ld.so.1" ;;
esac
}
get_linker_path() {
local arch=$(ldd 2>&1 | sed -n '1s/^musl libc (\(.*\))$/\1/p')
echo "/lib/ld-musl-${arch}.so.1"
}
src_compile() {
filter-flags "-Wl,--as-needed"
emake \
LINKER_PATH="$(get_linker_path)" \
LOADER_NAME="$(get_loader_name)" \
WITH_OBSTACK="$(usex obstack 'obstack-standalone' 'no')" \
$(usex libucontext WITH_LIBUCONTEXT=yes '')
}
src_install() {
emake \
LINKER_PATH="$(get_linker_path)" \
LOADER_NAME="$(get_loader_name)" \
WITH_OBSTACK="$(usex obstack 'obstack-standalone' 'no')" \
$(usex libucontext WITH_LIBUCONTEXT=yes '') \
DESTDIR="${D}" \
install
}