#!/bin/sh

set -e

readonly NARCH=$(uname -m)

: ${REPO:=$HOME/void-packages/hostdir/binpkgs}
: ${ARCHS:=i686-musl aarch64-musl mipsel-musl mips-musl armv6l-musl x86_64-musl}


gen_tarball() {
	export XBPS_TARGET_ARCH=$1

	pkgver=$(xbps-query -C empty.conf --repository=$REPO --property=pkgver xbps-static)
	pkgname=$(xbps-uhelper getpkgname $pkgver)
	version=$(xbps-uhelper getpkgversion $pkgver)

	[ -z "$pkgver" ] && exit 1
	tdir=$(mktemp -d)
	binpkg_static=${REPO}/${pkgname}-${version}.${1}.xbps
	tarball=${pkgname}-static-${version}.${1}.tar.xz
	opwd=$PWD
	cd $tdir
	mkdir -p var/db/xbps/keys
	cp /var/db/xbps/keys/*.plist var/db/xbps/keys
	tar xf ${binpkg_static}  --wildcards '*.static'
	cd usr/bin
	for f in xbps-*; do
		ln -s ${f} ${f%.static}
	done
	cd $tdir
	tar cfJ $HOME/$tarball . 2>/dev/null
	echo "Generated $tarball successfully."
	rm -rf $tdir
}

for f in ${ARCHS}; do
	( gen_tarball $f ) &
done
wait

exit 0
