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 +}
