summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Pagano <mpagano@gentoo.org>2023-11-24 17:35:04 -0500
committerMike Pagano <mpagano@gentoo.org>2023-12-07 12:25:20 -0500
commit7adde97e73a3286f6580a2236b2175b07897b7e7 (patch)
tree04b19bf7e25c5a726e452d206e5a410ddb6e5ae2 /net-vpn
parentnet-analyzer/netdata: drop 1.43.0 (diff)
downloadgentoo-7adde97e73a3286f6580a2236b2175b07897b7e7.tar.gz
gentoo-7adde97e73a3286f6580a2236b2175b07897b7e7.tar.bz2
gentoo-7adde97e73a3286f6580a2236b2175b07897b7e7.zip
net-vpn/wireguard-modules: update EAPI 7 -> 8, migrate to linux-mod-r1
Bug: https://bugs.gentoo.org/908719 Signed-off-by: Mike Pagano <mpagano@gentoo.org> Closes: https://bugs.gentoo.org/908719 Closes: https://github.com/gentoo/gentoo/pull/33972 Signed-off-by: Mike Pagano <mpagano@gentoo.org>
Diffstat (limited to 'net-vpn')
-rw-r--r--net-vpn/wireguard-modules/wireguard-modules-1.0.20220627-r1.ebuild98
1 files changed, 98 insertions, 0 deletions
diff --git a/net-vpn/wireguard-modules/wireguard-modules-1.0.20220627-r1.ebuild b/net-vpn/wireguard-modules/wireguard-modules-1.0.20220627-r1.ebuild
new file mode 100644
index 000000000000..cb02e3c10175
--- /dev/null
+++ b/net-vpn/wireguard-modules/wireguard-modules-1.0.20220627-r1.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MODULES_OPTIONAL_IUSE="module"
+inherit linux-mod-r1
+
+DESCRIPTION="Simple yet fast and modern VPN that utilizes state-of-the-art cryptography"
+HOMEPAGE="https://www.wireguard.com/"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.zx2c4.com/wireguard-linux-compat"
+else
+ SRC_URI="https://git.zx2c4.com/wireguard-linux-compat/snapshot/wireguard-linux-compat-${PV}.tar.xz"
+ S="${WORKDIR}/wireguard-linux-compat-${PV}"
+ # 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"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="debug +module module-src"
+
+CONFIG_CHECK="NET INET NET_UDP_TUNNEL CRYPTO_ALGAPI"
+
+pkg_setup() {
+ if use module; then
+ linux-mod-r1_pkg_setup
+ if [[ -f $KERNEL_DIR/include/uapi/linux/wireguard.h ]]; then
+ eerror
+ eerror "WireGuard has been merged upstream into this kernel. Therefore,"
+ eerror "you no longer need this compatibility ebuild. Instead, simply"
+ eerror "enable CONFIG_WIREGUARD=y in your kernel configuration."
+ eerror
+ die "Use CONFIG_WIREGUARD=y for this kernel, and do not use this package."
+ elif kernel_is -lt 3 10 0 || kernel_is -ge 5 6 0; then
+ die "This version of ${PN} requires Linux >= 3.10 and < 5.6."
+ fi
+ fi
+}
+
+src_compile() {
+ local modlist=( wireguard=net:src::module )
+ local modargs=(
+ KERNELDIR=${KV_OUT_DIR}
+ )
+ use debug && modargs+=( CONFIG_WIREGUARD_DEBUG=y )
+ use module && linux-mod-r1_src_compile
+}
+
+src_install() {
+ use module && linux-mod-r1_src_install
+ use module-src && emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" -C src dkms-install
+}
+
+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/wireguard 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
+ local old new
+ if [[ $(uname -r) != "${KV_FULL}" ]]; then
+ ewarn
+ ewarn "You have just built WireGuard for kernel ${KV_FULL}, yet the currently running"
+ ewarn "kernel is $(uname -r). If you intend to use this WireGuard module on the currently"
+ ewarn "running machine, you will first need to reboot it into the kernel ${KV_FULL}, for"
+ ewarn "which this module was built."
+ ewarn
+ elif [[ -f /sys/module/wireguard/version ]] && \
+ old="$(< /sys/module/wireguard/version)" && \
+ new="$(modinfo -F version "${ROOT}/lib/modules/${KV_FULL}/net/wireguard.ko" 2>/dev/null)" && \
+ [[ $old != "$new" ]]; then
+ ewarn
+ ewarn "You appear to have just upgraded WireGuard from version v$old to v$new."
+ ewarn "However, the old version is still running on your system. In order to use the"
+ ewarn "new version, you will need to remove the old module and load the new one. As"
+ ewarn "root, you can accomplish this with the following commands:"
+ ewarn
+ ewarn " # rmmod wireguard"
+ ewarn " # modprobe wireguard"
+ ewarn
+ ewarn "Do note that doing this will remove current WireGuard interfaces, so you may want"
+ ewarn "to gracefully remove them yourself prior."
+ ewarn
+ fi
+ fi
+}