# Template file for 'xbps'
pkgname=xbps
version=0.51
revision=18
bootstrap=yes
build_style=configure
short_desc="The XBPS package system utilities"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
homepage="https://github.com/voidlinux/xbps"
license="2-clause-BSD"
distfiles="https://github.com/voidlinux/xbps/archive/$version.tar.gz"
checksum=fb97f78a2d1e78ca7fb74426bbc7edac7af36366491dbcf3b97db3aa1b20a8b7

# readdir_r is deprecated
CFLAGS="-Wno-error=deprecated-declarations"
if [ "$XBPS_GCC_VERSION_MAJOR" -ge 7 ]; then
	CFLAGS+=" -Wno-format-truncation -Wno-implicit-fallthrough -Wno-unsafe-loop-optimizations"
fi

hostmakedepends="pkg-config"
makedepends="zlib-devel libressl-devel libarchive-devel"
depends="ca-certificates xbps-triggers"

# xbps needs symbols from glibc-2.22
case "$XBPS_TARGET_MACHINE" in
	*-musl) : ;;
	*) depends+=" glibc>=2.22" ;;
esac

if [ "$CHROOT_READY" ]; then
	makedepends+=" atf-devel"
	xbps-tests_package() {
		short_desc+=" - Kyua testsuite"
		pkg_install() {
			vmove usr/tests
		}
	}

fi

do_configure() {
	CFLAGS+=" -Wno-error=redundant-decls"
	HAVE_VASPRINTF=1 ./configure --prefix=/usr --sysconfdir=/etc --enable-debug \
		--bindir=/usr/bin ${CHROOT_READY:+--enable-tests}
}
post_install() {
	case "$XBPS_TARGET_MACHINE" in
	aarch64*) # XXX different repo location
		echo "repository=https://repo.voidlinux.eu/current/aarch64" > \
			${DESTDIR}/usr/share/xbps.d/00-repository-main.conf
		;;
	*-musl) # XXX different repo location
		echo "repository=https://repo.voidlinux.eu/current/musl" > \
			${DESTDIR}/usr/share/xbps.d/00-repository-main.conf
		;;
	*)
		echo "repository=https://repo.voidlinux.eu/current" > \
			${DESTDIR}/usr/share/xbps.d/00-repository-main.conf
		;;
	esac
	vmkdir etc/xbps.d
	touch ${DESTDIR}/etc/xbps.d/.empty
}

libxbps_package() {
	short_desc+=" - runtime library"
	pkg_install() {
		vmove "usr/lib/*.so.*"
	}
}
libxbps-devel_package() {
	short_desc+=" - runtime library (development files)"
	depends="zlib-devel libarchive-devel libxbps>=${version}"
	pkg_install() {
		vmove usr/include
		vmove "usr/lib/*.a"
		vmove "usr/lib/*.so"
		vmove usr/lib/pkgconfig
	}
}
