# Contributor: Stuart Cardall <developer@it-offshore.co.uk>
# Maintainer: Stuart Cardall <developer@it-offshore.co.uk>

# when changing _ver we *must* bump _rel
# we must also match up _toolsrel with wireguard-tools
_name=wireguard
_ver=0.0.20180304
_rel=0
_toolsrel=0

_flavor=${FLAVOR:-vanilla}
_kpkg=linux-$_flavor
_kver=4.14.30
_krel=0

_kpkgver="$_kver-r$_krel"
_kabi="$_kver-$_krel-$_flavor"

pkgname=$_name-$_flavor
pkgver=$_kver
pkgrel=$(( $_krel + $_rel ))

pkgdesc="Next generation secure network tunnel: kernel modules for $_flavor"
arch='all'
url='https://www.wireguard.com'
license="GPL-2.0"
depends="$_kpkg=$_kpkgver"
makedepends="$_kpkg-dev=$_kpkgver libmnl-dev"
install_if="wireguard-tools=$_ver-r$toolsrel $_kpkg=$_kpkgver"
options="!check"
source="https://git.zx2c4.com/WireGuard/snapshot/WireGuard-$_ver.tar.xz"
builddir="$srcdir"/WireGuard-$_ver

prepare() {
	default_prepare
	# verify the kernel version
	local _kapkbuild=../../main/linux-$_pkgver/APKBUILD
	if [ -f $_kapkbuild ]; then
		(	. $_kapkbuild
			pkgname=$_name-$_flavor
			[ "$_kver" != "$pkgver" ] && die "please update _kver to $pkgver"
			[ "$_krel" != "$pkgrel" ] && die "please update _krel to $pkgrel"
			return 0
		)
	fi
}

build() {
	cd "$builddir"
	# only building module: see wireguard-tools for userspace
	unset LDFLAGS
	make -C src/ \
		KERNELDIR=/lib/modules/$_kabi/build \
		module
}

package() {
	cd "$builddir/src"

	local module=
	for module in *.ko; do
		install -v -D -m644 ${module} \
			"$pkgdir/lib/modules/$_kabi/extra/${module}"
	done
}

sha512sums="dc7ad4c366625bc614f95abe163459804fa3b6a4dd9e1c7eee1571d3dab5a5bc88dbdc6cc79b9ec48f471ba71da54050f1bce8874ed130f15234a8353d276e50  WireGuard-0.0.20180304.tar.xz"
