# Template file for 'gcompat'
pkgname=gcompat
version=0.0.1
revision=1
wrksrc="${pkgname}-${pkgname}-${version}"
build_style="gnu-makefile"
short_desc="Compatibility layer to allow running glibc binaries on musl systems"
maintainer="Daniel James <djames@orcadian.net>"
homepage="https://github.com/AdelieLinux/gcompat"
license="ISC"
distfiles="https://github.com/AdelieLinux/${pkgname}/archive/${pkgname}-${version}.tar.gz
 https://raw.githubusercontent.com/AdelieLinux/${pkgname}/master/LICENSE"
checksum="138f4094977268a762415da10c05bcf87fae948faa8ff13a9b8b4ff4d64c91e6
 9edc99844a4c06b75f200fb96a72af4b8cc2da4c6662b8610157c24d428fa5c4"
skip_extraction="LICENSE"

# 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";;
	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";;
	*-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}"
make_install_args="LINKER_PATH=/usr/lib/${_musl} LOADER_NAME=${_glibc}
 LIBGCOMPAT_PATH=/usr/lib/libgcompat.so.0 LOADER_PATH=/usr/lib/${LOADER_NAME}"

pre_build() {
	sed -i 's/gcc/$(CC)/g' Makefile
}

post_install() {
	vlicense ${XBPS_SRCDISTDIR}/${pkgname}-${version}/LICENSE
}
