aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaelwenn (lanodan) Monnier <contact@hacktivis.me>2024-03-20 20:31:53 +0100
committerHaelwenn (lanodan) Monnier <contact@hacktivis.me>2024-03-20 20:39:13 +0100
commitc5baf4e402b9a78fcc2768351dab4736959b3f04 (patch)
tree63f922ae66c4bd81e6779035c8302f30d701c3ab
parentdev-util/prysk: new package, add 0.18.0 (diff)
downloadguru-c5baf4e402b9a78fcc2768351dab4736959b3f04.tar.gz
guru-c5baf4e402b9a78fcc2768351dab4736959b3f04.tar.bz2
guru-c5baf4e402b9a78fcc2768351dab4736959b3f04.zip
sys-libs/gcompat: new package, add 1.1.0
Signed-off-by: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
-rw-r--r--sys-libs/gcompat/Manifest1
-rw-r--r--sys-libs/gcompat/gcompat-1.1.0.ebuild58
-rw-r--r--sys-libs/gcompat/metadata.xml11
3 files changed, 70 insertions, 0 deletions
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 <contact@hacktivis.me>
+# 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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>contact@hacktivis.me</email>
+ <name>Haelwenn (lanodan) Monnier</name>
+ </maintainer>
+ <use>
+ <flag name="obstack">Use <pkg>sys-libs/obstack-standalone</pkg> for greater compatibility</flag>
+ </use>
+</pkgmetadata>