commit:     3453ef1198226613bc432628397f02c4a03dfc5a
Author:     Anna (cybertailor) Vyalkova <cyber+gentoo <AT> sysrq <DOT> in>
AuthorDate: Sat Feb 28 16:19:55 2026 +0000
Commit:     Anna Vyalkova <cyber+gentoo <AT> sysrq <DOT> in>
CommitDate: Sat Feb 28 18:33:15 2026 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=3453ef11

net-vpn/amneziawg-tools: add 1.0.20260223

Signed-off-by: Anna (cybertailor) Vyalkova <cyber+gentoo <AT> sysrq.in>

 net-vpn/amneziawg-tools/Manifest                   |  1 +
 .../amneziawg-tools-1.0.20260223.ebuild            | 88 ++++++++++++++++++++++
 2 files changed, 89 insertions(+)

diff --git a/net-vpn/amneziawg-tools/Manifest b/net-vpn/amneziawg-tools/Manifest
index 2d01fa9e69..5f725f08b5 100644
--- a/net-vpn/amneziawg-tools/Manifest
+++ b/net-vpn/amneziawg-tools/Manifest
@@ -1 +1,2 @@
 DIST amneziawg-tools-1.0.20250903.tar.gz 160214 BLAKE2B 
ec32969cf32b0c75179a3c53702997963c176e61958d4cc166706d8439ae736e191be488e7dc93e3c2f9d8657e67deee674359b15e19ca473ddfc19f5fe3767d
 SHA512 
a69f3911b18cd5abb73ba1f695802c87205ed6be10be035a5d06ca266c5de3c0b88c0aeac7670bc302112288f1b58937608e7b2835a22d2b4fc45a8f63b218ad
+DIST amneziawg-tools-1.0.20260223.tar.gz 160261 BLAKE2B 
33277e23dfd7b498e845329a853495ecfe4ca00faf1f9d5aa2288e302d0d03363df418082f32c727ce83b67ece8dccd91c252964e67c42a6646d7cea1d489227
 SHA512 
591afaef659e26be16c8d883da8d8ff026f855f60c9887440b566ef18b9948ca57754673d833f27e77d8c05f7e354f37b49adc9f5467334eeb7eda7165960c54

diff --git a/net-vpn/amneziawg-tools/amneziawg-tools-1.0.20260223.ebuild 
b/net-vpn/amneziawg-tools/amneziawg-tools-1.0.20260223.ebuild
new file mode 100644
index 0000000000..d56be730d3
--- /dev/null
+++ b/net-vpn/amneziawg-tools/amneziawg-tools-1.0.20260223.ebuild
@@ -0,0 +1,88 @@
+# Copyright 2025-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-info bash-completion-r1 systemd toolchain-funcs
+
+DESCRIPTION="Required tools for AmneziaWG, such as awg(8) and awg-quick(8)"
+HOMEPAGE="https://github.com/amnezia-vpn/amneziawg-tools";
+SRC_URI="https://github.com/amnezia-vpn/amneziawg-tools/archive/refs/tags/v${PV}.tar.gz
 -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+awg-quick selinux"
+
+BDEPEND="virtual/pkgconfig"
+RDEPEND="${DEPEND}
+       awg-quick? (
+               || ( net-firewall/nftables net-firewall/iptables )
+               virtual/resolvconf
+       )
+       selinux? ( sec-policy/selinux-wireguard )
+"
+
+awg_quick_optional_config_nob() {
+       CONFIG_CHECK="$CONFIG_CHECK ~$1"
+       declare -g ERROR_$1="CONFIG_$1: This option is required for automatic 
routing of default routes inside of awg-quick(8), though it is not required for 
general AmneziaWG usage."
+}
+
+pkg_setup() {
+       if use awg-quick; then
+               awg_quick_optional_config_nob IP_ADVANCED_ROUTER
+               awg_quick_optional_config_nob IP_MULTIPLE_TABLES
+               awg_quick_optional_config_nob IPV6_MULTIPLE_TABLES
+               if has_version net-firewall/nftables; then
+                       awg_quick_optional_config_nob NF_TABLES
+                       awg_quick_optional_config_nob NF_TABLES_IPV4
+                       awg_quick_optional_config_nob NF_TABLES_IPV6
+                       awg_quick_optional_config_nob NFT_CT
+                       awg_quick_optional_config_nob NFT_FIB
+                       awg_quick_optional_config_nob NFT_FIB_IPV4
+                       awg_quick_optional_config_nob NFT_FIB_IPV6
+                       awg_quick_optional_config_nob NF_CONNTRACK_MARK
+               elif has_version net-firewall/iptables; then
+                       awg_quick_optional_config_nob NETFILTER_XTABLES
+                       awg_quick_optional_config_nob NETFILTER_XT_MARK
+                       awg_quick_optional_config_nob NETFILTER_XT_CONNMARK
+                       awg_quick_optional_config_nob NETFILTER_XT_MATCH_COMMENT
+                       awg_quick_optional_config_nob 
NETFILTER_XT_MATCH_ADDRTYPE
+                       awg_quick_optional_config_nob IP6_NF_RAW
+                       awg_quick_optional_config_nob IP_NF_RAW
+                       awg_quick_optional_config_nob IP6_NF_FILTER
+                       awg_quick_optional_config_nob IP_NF_FILTER
+               fi
+       fi
+       get_version
+       if ! has_version net-vpn/amneziawg-modules; then
+               ewarn
+               ewarn "Linux kernel does not have upstream support for 
AmneziaWG."
+               ewarn "However, the net-vpn/amneziawg-modules ebuild"
+               ewarn "contains a module that should work for your kernel."
+               ewarn "It is highly recommended to install it:"
+               ewarn
+               ewarn "    emerge -av net-vpn/amneziawg-modules"
+               ewarn
+       fi
+       linux-info_pkg_setup
+}
+
+src_compile() {
+       emake RUNSTATEDIR="${EPREFIX}/run" -C src CC="$(tc-getCC)" 
LD="$(tc-getLD)"
+}
+
+src_install() {
+       dodoc README.md
+       dodoc -r contrib
+       emake \
+               WITH_BASHCOMPLETION=yes \
+               WITH_SYSTEMDUNITS=yes \
+               WITH_WGQUICK=$(usex awg-quick) \
+               DESTDIR="${D}" \
+               BASHCOMPDIR="$(get_bashcompdir)" \
+               SYSTEMDUNITDIR="$(systemd_get_systemunitdir)" \
+               PREFIX="${EPREFIX}/usr" \
+               -C src install
+       use awg-quick && newinitd "${FILESDIR}/awg-quick.init" awg-quick
+}

Reply via email to