net-vpn/amneziawg-linux-kernel-module: unkeyword 1.0.20251009

Signed-off-by: Alexander Miroshnichenko <alex@millerson.name>
This commit is contained in:
2025-10-11 22:31:32 +03:00
parent 4f2be050e9
commit 4b50bbbe7e
2 changed files with 47 additions and 52 deletions

View File

@@ -2,7 +2,6 @@
EAPI=8 EAPI=8
MODULES_OPTIONAL_IUSE="module"
inherit linux-mod-r1 inherit linux-mod-r1
DESCRIPTION="AmneziaWG kernel module" DESCRIPTION="AmneziaWG kernel module"
@@ -14,12 +13,12 @@ if [[ ${PV} == 9999 ]]; then
else else
SRC_URI="https://github.com/amnezia-vpn/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" SRC_URI="https://github.com/amnezia-vpn/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
# Please don't stabilize this package. Stable users should use gentoo-sources 5.4 or 5.10. # Please don't stabilize this package. Stable users should use gentoo-sources 5.4 or 5.10.
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86" KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
fi fi
LICENSE="GPL-2" LICENSE="GPL-2"
SLOT="0" SLOT="0"
IUSE="debug +module module-src" IUSE="debug"
CONFIG_CHECK="NET INET NET_UDP_TUNNEL CRYPTO_ALGAPI" CONFIG_CHECK="NET INET NET_UDP_TUNNEL CRYPTO_ALGAPI"
@@ -31,12 +30,10 @@ CONFIG_CHECK="NET INET NET_UDP_TUNNEL CRYPTO_ALGAPI"
BDEPEND="|| ( sys-kernel/gentoo-sources sys-kernel/vanilla-sources )" BDEPEND="|| ( sys-kernel/gentoo-sources sys-kernel/vanilla-sources )"
pkg_setup() { pkg_setup() {
if use module; then
linux-mod-r1_pkg_setup linux-mod-r1_pkg_setup
if kernel_is -lt 3 10 0; then if kernel_is -lt 3 10 0; then
die "This version of ${PN} requires Linux >= 3.10" die "This version of ${PN} requires Linux >= 3.10"
fi fi
fi
} }
src_prepare() { src_prepare() {
@@ -48,7 +45,8 @@ src_prepare() {
# If /usr/src/linux contains no sources (distribution kernel), we check # If /usr/src/linux contains no sources (distribution kernel), we check
# other subdirectories in /usr/src sorted by version in reverse order. # other subdirectories in /usr/src sorted by version in reverse order.
echo "Searching for kernel sources..." echo "Searching for kernel sources..."
dirs=$(find /usr/src -maxdepth 1 -name 'linux-*' -type d | sort --reverse --version-sort --field-separator=- --key=2,2) dirs=$(find /usr/src -maxdepth 1 -name 'linux-*' -type d | \
sort --reverse --version-sort --field-separator=- --key=2,2)
dirs="/usr/src/linux ${dirs}" dirs="/usr/src/linux ${dirs}"
for kernel_dir in ${dirs}; do for kernel_dir in ${dirs}; do
[ -d "$kernel_dir" ] || continue [ -d "$kernel_dir" ] || continue
@@ -68,7 +66,7 @@ src_prepare() {
sed -i "s@^KERNELRELEASE ?= .*@KERNELRELEASE ?= ${KV_FULL}@" src/Makefile || die "Fail to set desired kernel verion in the Makefile" sed -i "s@^KERNELRELEASE ?= .*@KERNELRELEASE ?= ${KV_FULL}@" src/Makefile || die "Fail to set desired kernel verion in the Makefile"
ln -s ${KERNEL_SOURCES_DIR} src/kernel || die "Creation link to kernel sources directory fail" ln -s ${KERNEL_SOURCES_DIR} src/kernel || die "Creation link to kernel sources directory fail"
emake -C ${S}/src apply-patches || die "Fail to apply amnezia patches over wireguard" emake -C "${S}/src" apply-patches || die "Fail to apply amnezia patches over wireguard"
fi fi
} }
@@ -78,27 +76,14 @@ src_compile() {
KERNELDIR=${KV_OUT_DIR} KERNELDIR=${KV_OUT_DIR}
) )
use debug && modargs+=( CONFIG_WIREGUARD_DEBUG=y ) use debug && modargs+=( CONFIG_WIREGUARD_DEBUG=y )
use module && linux-mod-r1_src_compile linux-mod-r1_src_compile
} }
src_install() { src_install() {
use module && linux-mod-r1_src_install linux-mod-r1_src_install
use module-src && emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" -C src dkms-install
} }
pkg_postinst() { pkg_postinst() {
if use module-src && ! use module; then
einfo
einfo "You have enabled the module-src USE flag without the module USE"
einfo "flag. This means that sources are installed to"
einfo "${ROOT}/usr/src/amneziawg instead of having the"
einfo "kernel module compiled. You will need to compile the module"
einfo "yourself. Most likely, you don't want this USE flag, and should"
einfo "rather use USE=module"
einfo
fi
if use module; then
linux-mod-r1_pkg_postinst linux-mod-r1_pkg_postinst
local old new local old new
if [[ $(uname -r) != "${KV_FULL}" ]]; then if [[ $(uname -r) != "${KV_FULL}" ]]; then
@@ -125,5 +110,4 @@ pkg_postinst() {
ewarn "to gracefully remove them yourself prior." ewarn "to gracefully remove them yourself prior."
ewarn ewarn
fi fi
fi
} }

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>alex@millerson.name</email>
<name>Alexander Miroshnichenko</name>
</maintainer>
<upstream>
<remote-id type="github">amnezia-vpn/amneziawg-linux-kernel-module</remote-id>
</upstream>
</pkgmetadata>