# Maintainer: Vladislav Minakov pkgname=amneziawg-dkms pkgdesc="AmneziaWG is a contemporary version of the popular VPN protocol, WireGuard." url="https://github.com/amnezia-vpn/amneziawg-linux-kernel-module" arch=("x86_64") pkgver=1.0.20241112 pkgrel=3 license=('GPLv2') provides=("AMNEZIAWG-MODULE=${pkgver}") source=("$pkgname-$pkgver.tar.gz::https://github.com/amnezia-vpn/amneziawg-linux-kernel-module/archive/refs/tags/v${pkgver}.tar.gz") sha512sums=('0d0dde7324088f2f3eff2cff9679e7f25b20d9796462da9949e6fc97af320a43ace27f9dfbd32cc2995449a68b313d6877ced6aa0ad3fbd02f15b1338e62fdff') package() { depends=("dkms" "wget") cat > "${srcdir}/amneziawg-linux-kernel-module-${pkgver}/kernel-tree-scripts/prepare-sources.sh" <<'EOF' #!/bin/bash -eux kernel="${1%%[^0-9.]*}" if [[ "$kernel" =~ .0$ ]]; then kernel="${kernel%.0}"; fi kernel_major="${1%%[^0-9]*}" wget "https://cdn.kernel.org/pub/linux/kernel/v${kernel_major}.x/linux-${kernel}.tar.xz" -O- | tar -xvJf - --wildcards linux-${kernel}/drivers/net/wireguard "linux-${kernel}/K*" linux-${kernel}/include/uapi/linux/ ln -sf linux-${kernel} kernel; EOF cat > "${srcdir}/amneziawg-linux-kernel-module-${pkgver}/kernel-tree-scripts/cleanup-sources.sh" <<'EOF' #!/bin/bash AWG_TEMP_DIR="$(cat /var/lib/amnezia/amneziawg/.tempdir 2>/dev/null)" PREFIX=${AWG_TEMP_DIR:-/tmp} WORKDIR="${PREFIX}/amneziawg" [ -e kernel ] && rm -rf kernel if [[ -d "${WORKDIR}" ]]; then rm -rf "${WORKDIR}"; fi EOF cd ${srcdir}/amneziawg-linux-kernel-module-${pkgver}/src sed -i 's/MODERN_KERNEL_SOURCES_NOT_FOUND_ERROR/KERNEL_SRC_ABSENT_ERR/g' Makefile make DESTDIR=${pkgdir} dkms-install }