void-packages/srcpkgs/gcompat/template
q66 ef40164786 gcompat: update to 0.4.0, add libucontext option, fix on ppc*
Libucontext is off on MIPS as it's not supported by libucontext
itself.
2019-11-11 19:29:06 +01:00

58 lines
2.4 KiB
Bash

# Template file for 'gcompat'
pkgname=gcompat
version=0.4.0
revision=1
build_style=gnu-makefile
short_desc="Compatibility layer to allow running glibc binaries on musl systems"
maintainer="Daniel James <djames@orcadian.net>"
license="ISC"
homepage="https://code.foxkit.us/adelie/gcompat"
distfiles="https://distfiles.AdelieLinux.org/source/${pkgname}/${pkgname}-${version}.tar.xz"
checksum=9903fac7b70de3ba7736ae2987fa00bbafff7bfcf6a9c88731c292dff19e44e2
build_options="libucontext"
desc_option_libucontext="Build with ucontext support via libucontext"
case "$XBPS_TARGET_MACHINE" in
mips*) ;;
*) build_options_default+=" libucontext" ;;
esac
# https://sourceware.org/glibc/wiki/ABIList
# https://wiki.linaro.org/RikuVoipio/LdSoTable
case "${XBPS_TARGET_MACHINE}" in
aarch64-musl) _glibc="ld-linux-aarch64.so.1" _musl="ld-musl-aarch64.so.1";;
armv5te-musl) _glibc="ld-linux.so.3" _musl="ld-musl-arm.so.1";;
armv5tel-musl) _glibc="ld-linux.so.3" _musl="ld-musl-arm.so.1";;
armv6hf-musl) _glibc="ld-linux-armhf.so.3" _musl="ld-musl-armhf.so.1";;
armv6l-musl) _glibc="ld-linux-armhf.so.3" _musl="ld-musl-armhf.so.1";;
armv7hf-musl) _glibc="ld-linux-armhf.so.3" _musl="ld-musl-armhf.so.1";;
armv7l-musl) _glibc="ld-linux-armhf.so.3" _musl="ld-musl-armhf.so.1";;
i686-musl) _glibc="ld-linux.so.2" _musl="ld-musl-x86.so.1";;
mips-musl) _glibc="ld.so.1" _musl="ld-musl-mips-sf.so.1";;
mipshf-musl) _glibc="ld.so.1" _musl="ld-musl-mips.so.1";;
mipsel-musl) _glibc="ld.so.1" _musl="ld-musl-mipsel-sf.so.1";;
mipselhf-musl) _glibc="ld.so.1" _musl="ld-musl-mipsel.so.1";;
x86_64-musl) _glibc="ld-linux-x86-64.so.2" _musl="ld-musl-x86_64.so.1";;
ppc64le-musl) _glibc="ld64.so.2" _musl="ld-musl-powerpc64le.so.1";;
ppc64-musl) _glibc="ld64.so.2" _musl="ld-musl-powerpc64.so.1";;
ppc-musl) _glibc="ld.so.1" _musl="ld-musl-powerpc.so.1";;
*-musl) broken="Template does not yet recognize this arch, please fix";;
*) broken="Only for musl libc";;
esac
make_build_args="LINKER_PATH=/usr/lib/${_musl} LOADER_NAME=${_glibc}
LIBGCOMPAT_PATH=/usr/lib/libgcompat.so.0 LOADER_PATH=/usr/lib/${LOADER_NAME}
WITH_OBSTACK=no"
make_install_args="LINKER_PATH=/usr/lib/${_musl} LOADER_NAME=${_glibc}
LIBGCOMPAT_PATH=/usr/lib/libgcompat.so.0 LOADER_PATH=/usr/lib/${LOADER_NAME}
WITH_OBSTACK=no"
if [ "$build_option_libucontext" ]; then
makedepends+=" libucontext-devel"
make_build_args+=" WITH_LIBUCONTEXT=1"
fi
post_install() {
vlicense LICENSE
}