mirror of
https://aur.archlinux.org/amneziawg-dkms.git
synced 2025-04-25 11:41:24 -07:00
38 lines
1.6 KiB
Bash
38 lines
1.6 KiB
Bash
# Maintainer: Vladislav Minakov <v@minakov.pro>
|
|
|
|
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
|
|
}
|