diff options
author | Haelwenn (lanodan) Monnier <contact@hacktivis.me> | 2024-03-20 20:31:53 +0100 |
---|---|---|
committer | Haelwenn (lanodan) Monnier <contact@hacktivis.me> | 2024-03-20 20:39:13 +0100 |
commit | c5baf4e402b9a78fcc2768351dab4736959b3f04 (patch) | |
tree | 63f922ae66c4bd81e6779035c8302f30d701c3ab | |
parent | dev-util/prysk: new package, add 0.18.0 (diff) | |
download | guru-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/Manifest | 1 | ||||
-rw-r--r-- | sys-libs/gcompat/gcompat-1.1.0.ebuild | 58 | ||||
-rw-r--r-- | sys-libs/gcompat/metadata.xml | 11 |
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> |