aboutsummaryrefslogtreecommitdiffstats
path: root/community/wireguard-rpi/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'community/wireguard-rpi/APKBUILD')
-rw-r--r--community/wireguard-rpi/APKBUILD97
1 files changed, 97 insertions, 0 deletions
diff --git a/community/wireguard-rpi/APKBUILD b/community/wireguard-rpi/APKBUILD
new file mode 100644
index 0000000000..cecf209646
--- /dev/null
+++ b/community/wireguard-rpi/APKBUILD
@@ -0,0 +1,97 @@
+# Contributor: Stuart Cardall <developer@it-offshore.co.uk>
+# Maintainer: Stuart Cardall <developer@it-offshore.co.uk>
+
+# wireguard version
+_ver=0.0.20190406
+_rel=0
+
+# kernel version
+_kver=4.19.41
+_krel=0
+
+_kpkgver="$_kver-r$_krel"
+
+# for custom kernels set $FLAVOR
+if [ -z "$FLAVOR" ]; then
+ _flavor=rpi
+ case $CARCH in
+ armhf|armv7) _extra_flavors=rpi2;;
+ esac
+else
+ _flavor=$FLAVOR
+fi
+
+pkgname=wireguard-$_flavor
+pkgver=$_kver
+pkgrel=1
+pkgrel=$(($pkgrel + $_krel))
+
+pkgdesc="Next generation secure network tunnel: kernel modules for $_flavor"
+arch="armhf armv7 aarch64"
+url="https://www.wireguard.com"
+license="GPL-2.0"
+depends="linux-$_flavor=$_kpkgver"
+makedepends="
+ libmnl-dev
+ linux-$_flavor-dev=$_kpkgver
+ linux-firmware-none
+ "
+install_if="wireguard-tools=$_ver-r$_rel linux-$_flavor=$_kpkgver"
+options="!check"
+source="https://git.zx2c4.com/WireGuard/snapshot/WireGuard-$_ver.tar.xz"
+builddir="$srcdir"/WireGuard-$_ver
+
+for f in $_extra_flavors; do
+ makedepends="$makedepends linux-$f-dev=$_kpkgver"
+ subpackages="$subpackages wireguard-$f:_extra"
+done
+
+prepare() {
+ default_prepare
+ if [ -z "$FLAVOR" ]; then
+ ( . "$startdir"/../../main/linux-$_flavor/APKBUILD
+ [ "$_kver" != "$pkgver" ] && die "please update _kver to $pkgver"
+ [ "$_krel" != "$pkgrel" ] && die "please update _krel to $pkgrel"
+ return 0
+ )
+ fi
+ if [ -z "$FLAVOR" ]; then
+ ( . "$startdir"/../../community/wireguard-tools/APKBUILD
+ [ "$_ver" != "$pkgver" ] && die "please update _ver to $pkgver"
+ [ "$_rel" != "$pkgrel" ] && die "please update _rel to $pkgrel"
+ return 0
+ )
+ fi
+ local flavor=
+ for flavor in $_flavor $_extra_flavors; do
+ cp -r "$builddir" "$srcdir"/$flavor
+ done
+}
+
+build() {
+ unset LDFLAGS
+ local flavor= kabi=
+ for flavor in $_flavor $_extra_flavors; do
+ kabi="$_kver-$_krel-$flavor"
+ make -C "$srcdir/$flavor"/src \
+ KERNELDIR=/lib/modules/$kabi/build module
+ done
+}
+
+package() {
+ local kabi="$_kver-$_krel-$_flavor"
+ install -Dm644 "$srcdir"/$_flavor/src/wireguard.ko \
+ "$pkgdir/lib/modules/$kabi/extra/wireguard.ko"
+}
+
+_extra() {
+ flavor=${subpkgname##*-}
+ depends="linux-$flavor=$_kpkgver"
+ install_if="wireguard-tools=$_ver-r$_rel linux-$flavor=$_kpkgver"
+ pkgdesc="Next generation secure network tunnel: kernel modules for $flavor"
+ local kabi="$_kver-$_krel-$flavor"
+ install -Dm644 "$srcdir"/$flavor/src/wireguard.ko \
+ "$subpkgdir/lib/modules/$kabi/extra/wireguard.ko"
+}
+
+sha512sums="e3035030299f5a6ae3ac0c2e35dc2d54745cda8f31185b21c6590f1ddcc9c7a83bf7b71cc71f6d48ed6dc8f2b31f3c704f8fa85685d4113f4c560f7eba7b7d5e WireGuard-0.0.20190406.tar.xz"