From 5bd5663aef7ac4188918d61ced2cd8f998be4e09 Mon Sep 17 00:00:00 2001 From: Charlie Quinet Date: Tue, 11 Feb 2025 00:32:20 +0100 Subject: [PATCH] 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 --- sys-libs/gcompat/gcompat-9999.ebuild | 57 ++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 sys-libs/gcompat/gcompat-9999.ebuild diff --git a/sys-libs/gcompat/gcompat-9999.ebuild b/sys-libs/gcompat/gcompat-9999.ebuild new file mode 100644 index 0000000000..108d53a71b --- /dev/null +++ b/sys-libs/gcompat/gcompat-9999.ebuild @@ -0,0 +1,57 @@ +# Copyright 2018-2020 Haelwenn (lanodan) Monnier +# 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 glibc’s 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 +}