# Contributor: Stuart Cardall <developer@it-offshore.co.uk>
# Maintainer: Stuart Cardall <developer@it-offshore.co.uk>
pkgname=wireguard-tools
pkgver=1.0.20250521
pkgrel=0
pkgdesc="Next generation secure network tunnel: userspace tools"
arch="all"
url="https://www.wireguard.com"
# SPDX identifier headers tells us 'GPL-2.0' but considering it
# is a kernel project i think it is safe to assume it is GPL-2.0-only just
# like the kernel.
license="GPL-2.0-only"
_wg_quick_deps="
	bash
	cmd:resolvconf
	iproute2
	"
makedepends="libmnl-dev $_wg_quick_deps"
depends="$pkgname-wg $pkgname-wg-quick"
install="$pkgname-openrc.post-install"
subpackages="
	$pkgname-doc
	$pkgname-bash-completion
	$pkgname-wg:_split
	$pkgname-wg-quick:_split:noarch
	$pkgname-openrc
	"
options="!check"
source="
	https://git.zx2c4.com/wireguard-tools/snapshot/wireguard-tools-$pkgver.tar.xz
	wg-quick.initd
	wg-quick-different-sudo.patch
	"

build() {
	make -C src
}

package() {
	mkdir -p "$pkgdir/usr/share/doc/$pkgname"

	make -C src \
		DESTDIR="$pkgdir" \
		WITH_BASHCOMPLETION=yes \
		WITH_WGQUICK=yes \
		WITH_SYSTEMDUNITS=no \
		install

	find "$builddir"/contrib -name '.gitignore' -delete
	cp -rf "$builddir"/contrib "$pkgdir/usr/share/doc/$pkgname/"

	install -Dm755 "$srcdir"/wg-quick.initd "$pkgdir"/etc/init.d/wg-quick
}

_split() {
	local cmd=${subpkgname/$pkgname-}
	pkgdesc="$pkgdesc ($cmd)"
	case $cmd in
		wg-quick) depends="$pkgname-wg=$pkgver-r$pkgrel $_wg_quick_deps" ;;
		*) depends= ;;
	esac
	mkdir -p "$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/bin/$cmd "$subpkgdir"/usr/bin/
}

sha512sums="
93a9ef1caaf8494f7f43fd2557c6499414481bcc7006e10ee9ad7cc520a0d0751e5fb65f6d554424ed9f2ef7a3ad510413d7aa021d829e6a631e81d24d7f47eb  wireguard-tools-1.0.20250521.tar.xz
ad02a7bab0038aaaeacc80ea61497911cb4af6dafe6c781a142cceb4d18acbae20c5e86396e00e88848f410caccc0137c2bff9a736ceff59e0c1227d0d926a15  wg-quick.initd
bf623fa31215d2e90078950dc18b9e69004235aa2e87cc4910ce710ba51119fb76c345a9cce1d0aa946fad1ccb5a40e9734ff3424e8d2d16cd00c1f1e0fe4916  wg-quick-different-sudo.patch
"
