Neur0toxine revised this gist 1 week ago. Go to revision
1 file changed, 3 insertions, 5 deletions
PKGBUILD
| @@ -14,13 +14,11 @@ provides=("amneziawg=${pkgver}") | |||
| 14 | 14 | ||
| 15 | 15 | source=( | |
| 16 | 16 | "$pkgname-$pkgver.tar.gz::https://github.com/amnezia-vpn/amneziawg-linux-kernel-module/archive/refs/tags/v${pkgver}.tar.gz" | |
| 17 | - | "blake2s.patch::https://raw.githubusercontent.com/babiulep/my-kernel-patches/refs/heads/main/AMNEZIAWG/blake2s.patch" | |
| 17 | + | "blake2s.patch::https://raw.githubusercontent.com/babiulep/my-kernel-patches/cbf887bb702841e309fd99d6d0b7aea6ef17c51e/AMNEZIAWG/blake2s.patch" | |
| 18 | 18 | ) | |
| 19 | 19 | ||
| 20 | - | sha512sums=( | |
| 21 | - | '705fbbb13e5d2f456fb321942ecd404420c5e54c75fbd28b7fd34583c9d6b0ca3b63e3eb18ddbb49f34354ffa0c042745fe2a0c97946a4dab65b52ebc864d5b5' | |
| 22 | - | 'SKIP' | |
| 23 | - | ) | |
| 20 | + | sha512sums=('705fbbb13e5d2f456fb321942ecd404420c5e54c75fbd28b7fd34583c9d6b0ca3b63e3eb18ddbb49f34354ffa0c042745fe2a0c97946a4dab65b52ebc864d5b5' | |
| 21 | + | '9880a8643738d6aadd21672aa2aa1965028ec839d1edb30bcf417988776d5547789d0f7417e77732966c4f245b7803e7278fd6b8366e0c224dcb13741f63cd85') | |
| 24 | 22 | ||
| 25 | 23 | prepare() { | |
| 26 | 24 | local _moddir="${srcdir}/amneziawg-linux-kernel-module-${pkgver}" | |
Neur0toxine revised this gist 1 week ago. Go to revision
1 file changed, 71 insertions
PKGBUILD(file created)
| @@ -0,0 +1,71 @@ | |||
| 1 | + | # Maintainer: Vladislav Minakov <v@minakov.pro> | |
| 2 | + | ||
| 3 | + | pkgname=amneziawg-dkms | |
| 4 | + | pkgdesc="AmneziaWG is a contemporary version of the popular VPN protocol, WireGuard." | |
| 5 | + | url="https://github.com/amnezia-vpn/amneziawg-linux-kernel-module" | |
| 6 | + | arch=('x86_64') | |
| 7 | + | pkgver=1.0.20260210 | |
| 8 | + | pkgrel=1 | |
| 9 | + | license=('GPLv2') | |
| 10 | + | ||
| 11 | + | depends=('dkms' 'wget') | |
| 12 | + | ||
| 13 | + | provides=("amneziawg=${pkgver}") | |
| 14 | + | ||
| 15 | + | source=( | |
| 16 | + | "$pkgname-$pkgver.tar.gz::https://github.com/amnezia-vpn/amneziawg-linux-kernel-module/archive/refs/tags/v${pkgver}.tar.gz" | |
| 17 | + | "blake2s.patch::https://raw.githubusercontent.com/babiulep/my-kernel-patches/refs/heads/main/AMNEZIAWG/blake2s.patch" | |
| 18 | + | ) | |
| 19 | + | ||
| 20 | + | sha512sums=( | |
| 21 | + | '705fbbb13e5d2f456fb321942ecd404420c5e54c75fbd28b7fd34583c9d6b0ca3b63e3eb18ddbb49f34354ffa0c042745fe2a0c97946a4dab65b52ebc864d5b5' | |
| 22 | + | 'SKIP' | |
| 23 | + | ) | |
| 24 | + | ||
| 25 | + | prepare() { | |
| 26 | + | local _moddir="${srcdir}/amneziawg-linux-kernel-module-${pkgver}" | |
| 27 | + | ||
| 28 | + | cat > "${_moddir}/kernel-tree-scripts/prepare-sources.sh" <<'EOF' | |
| 29 | + | #!/bin/bash -eux | |
| 30 | + | kernel="${1%%[^0-9.]*}" | |
| 31 | + | if [[ "$kernel" =~ .0$ ]]; then kernel="${kernel%.0}"; fi | |
| 32 | + | kernel_major="${1%%[^0-9]*}" | |
| 33 | + | 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/ | |
| 34 | + | ln -sf linux-${kernel} kernel; | |
| 35 | + | EOF | |
| 36 | + | ||
| 37 | + | cat > "${_moddir}/kernel-tree-scripts/cleanup-sources.sh" <<'EOF' | |
| 38 | + | #!/bin/bash | |
| 39 | + | AWG_TEMP_DIR="$(cat /var/lib/amnezia/amneziawg/.tempdir 2>/dev/null)" | |
| 40 | + | PREFIX=${AWG_TEMP_DIR:-/tmp} | |
| 41 | + | WORKDIR="${PREFIX}/amneziawg" | |
| 42 | + | [ -e kernel ] && rm -rf kernel | |
| 43 | + | if [[ -d "${WORKDIR}" ]]; then | |
| 44 | + | rm -rf "${WORKDIR}"; | |
| 45 | + | fi | |
| 46 | + | EOF | |
| 47 | + | ||
| 48 | + | chmod +x "${_moddir}/kernel-tree-scripts/prepare-sources.sh" \ | |
| 49 | + | "${_moddir}/kernel-tree-scripts/cleanup-sources.sh" | |
| 50 | + | ||
| 51 | + | mkdir -p "${_moddir}/src/patches" | |
| 52 | + | cp -f "${srcdir}/blake2s.patch" "${_moddir}/src/patches/blake2s.patch" | |
| 53 | + | ||
| 54 | + | sed -i 's|DKMS_SOURCES :=|DKMS_SOURCES := patches/blake2s.patch |' \ | |
| 55 | + | "${_moddir}/src/Makefile" | |
| 56 | + | sed -i "s|^WIREGUARD_VERSION = .*|WIREGUARD_VERSION = ${pkgver}|" \ | |
| 57 | + | "${_moddir}/src/Makefile" | |
| 58 | + | sed -i "s|^PACKAGE_VERSION=.*|PACKAGE_VERSION=\"${pkgver}\"|" \ | |
| 59 | + | "${_moddir}/src/dkms.conf" | |
| 60 | + | ||
| 61 | + | if ! grep -q '^PATCH\[0\]=' "${_moddir}/src/dkms.conf"; then | |
| 62 | + | printf '\nPATCH[0]="blake2s.patch"\n' >> "${_moddir}/src/dkms.conf" | |
| 63 | + | fi | |
| 64 | + | } | |
| 65 | + | ||
| 66 | + | package() { | |
| 67 | + | local _moddir="${srcdir}/amneziawg-linux-kernel-module-${pkgver}" | |
| 68 | + | cd "${_moddir}/src" | |
| 69 | + | sed -i 's/MODERN_KERNEL_SOURCES_NOT_FOUND_ERROR/KERNEL_SRC_ABSENT_ERR/g' Makefile | |
| 70 | + | make DESTDIR="${pkgdir}" dkms-install | |
| 71 | + | } | |