From c5baf4e402b9a78fcc2768351dab4736959b3f04 Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Wed, 20 Mar 2024 20:31:53 +0100 Subject: sys-libs/gcompat: new package, add 1.1.0 Signed-off-by: Haelwenn (lanodan) Monnier --- sys-libs/gcompat/Manifest | 1 + sys-libs/gcompat/gcompat-1.1.0.ebuild | 58 +++++++++++++++++++++++++++++++++++ sys-libs/gcompat/metadata.xml | 11 +++++++ 3 files changed, 70 insertions(+) create mode 100644 sys-libs/gcompat/Manifest create mode 100644 sys-libs/gcompat/gcompat-1.1.0.ebuild create mode 100644 sys-libs/gcompat/metadata.xml diff --git a/sys-libs/gcompat/Manifest b/sys-libs/gcompat/Manifest new file mode 100644 index 000000000..3c9b4b052 --- /dev/null +++ b/sys-libs/gcompat/Manifest @@ -0,0 +1 @@ +DIST gcompat-1.1.0.tar.xz 27456 BLAKE2B 60b008a08eb4841e24a5d810c7ed354e12b06d2e4046df6cf6e19ce01aca29dd5d18027c5c87b66c6821fd5f9677ce236ac6e1826339b294e936e5b90b5ad444 SHA512 fbaa5b5410bde295df11f72cf946aa81ab7d46a919a75e75f70e339d429e38f0fa9283400cbcd4bf8c646011300065f53788ffc584d6fbb093bf4dbd28e766ab diff --git a/sys-libs/gcompat/gcompat-1.1.0.ebuild b/sys-libs/gcompat/gcompat-1.1.0.ebuild new file mode 100644 index 000000000..6e5d56674 --- /dev/null +++ b/sys-libs/gcompat/gcompat-1.1.0.ebuild @@ -0,0 +1,58 @@ +# 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 + +DESCRIPTION="The GNU C Library compatibility layer for musl" +HOMEPAGE="https://git.adelielinux.org/adelie/gcompat" +KEYWORDS="~amd64 ~x86" +LICENSE="UoI-NCSA" +IUSE="libucontext obstack" +SRC_URI="https://distfiles.adelielinux.org/source/${PN}/${P}.tar.xz" +SLOT="0" + +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" ;; + arm*) echo "ld-linux-armhf.so.3" ;; + arm64) echo "ld-linux-aarch64.so.1" ;; + 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 +} diff --git a/sys-libs/gcompat/metadata.xml b/sys-libs/gcompat/metadata.xml new file mode 100644 index 000000000..545da9296 --- /dev/null +++ b/sys-libs/gcompat/metadata.xml @@ -0,0 +1,11 @@ + + + + + contact@hacktivis.me + Haelwenn (lanodan) Monnier + + + Use sys-libs/obstack-standalone for greater compatibility + + -- cgit v1.2.3-65-gdbad