commit:     5bd5663aef7ac4188918d61ced2cd8f998be4e09
Author:     Charlie Quinet <w.iron.zombie <AT> gmail <DOT> com>
AuthorDate: Mon Feb 10 23:32:20 2025 +0000
Commit:     David Roman <davidroman96 <AT> gmail <DOT> com>
CommitDate: Mon Feb 10 23:33:40 2025 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=5bd5663a

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 <AT> gmail.com>

 sys-libs/gcompat/gcompat-9999.ebuild | 57 ++++++++++++++++++++++++++++++++++++
 1 file changed, 57 insertions(+)

diff --git a/sys-libs/gcompat/gcompat-9999.ebuild 
b/sys-libs/gcompat/gcompat-9999.ebuild
new file mode 100644
index 000000000..108d53a71
--- /dev/null
+++ b/sys-libs/gcompat/gcompat-9999.ebuild
@@ -0,0 +1,57 @@
+# Copyright 2018-2020 Haelwenn (lanodan) Monnier <cont...@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 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
+}

Reply via email to