summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-perl/Math-Int64/Math-Int64-0.540.0.ebuild4
-rw-r--r--dev-python/PyQt5/PyQt5-5.15.9.ebuild2
-rw-r--r--games-board/tetzle/Manifest1
-rw-r--r--games-board/tetzle/tetzle-2.2.2.ebuild18
-rw-r--r--games-emulation/pcsx2/pcsx2-1.7.3738.ebuild2
-rw-r--r--games-emulation/pcsx2/pcsx2-1.7.4280.ebuild2
-rw-r--r--games-emulation/pcsx2/pcsx2-9999.ebuild2
-rw-r--r--net-dialup/rp-pppoe/rp-pppoe-3.15-r2.ebuild4
-rw-r--r--net-dialup/rp-pppoe/rp-pppoe-9999.ebuild4
-rw-r--r--net-misc/networkmanager/Manifest1
-rw-r--r--net-misc/networkmanager/networkmanager-1.42.2.ebuild2
-rw-r--r--net-misc/networkmanager/networkmanager-1.42.4.ebuild2
-rw-r--r--net-misc/networkmanager/networkmanager-1.42.6-r1.ebuild400
-rw-r--r--net-misc/sstp-client/Manifest1
-rw-r--r--net-misc/sstp-client/metadata.xml2
-rw-r--r--net-misc/sstp-client/sstp-client-1.0.18-r1.ebuild67
-rw-r--r--net-vpn/networkmanager-fortisslvpn/files/networkmanager-fortisslvpn-1.4.0-ppp-2.5.0.patch502
-rw-r--r--net-vpn/networkmanager-fortisslvpn/metadata.xml3
-rw-r--r--net-vpn/networkmanager-fortisslvpn/networkmanager-fortisslvpn-1.4.0-r1.ebuild59
-rw-r--r--net-vpn/networkmanager-l2tp/files/networkmanager-l2tp-1.20.8-ppp-2.5.0.patch329
-rw-r--r--net-vpn/networkmanager-l2tp/networkmanager-l2tp-1.20.8-r1.ebuild73
-rw-r--r--net-vpn/networkmanager-l2tp/networkmanager-l2tp-1.20.8.ebuild2
-rw-r--r--net-vpn/networkmanager-sstp/Manifest2
-rw-r--r--net-vpn/networkmanager-sstp/networkmanager-sstp-1.3.1.ebuild87
-rw-r--r--profiles/package.mask1
-rw-r--r--sys-apps/nvme-cli/nvme-cli-2.3.ebuild2
-rw-r--r--www-misc/monitorix/monitorix-3.15.0.ebuild2
27 files changed, 1560 insertions, 16 deletions
diff --git a/dev-perl/Math-Int64/Math-Int64-0.540.0.ebuild b/dev-perl/Math-Int64/Math-Int64-0.540.0.ebuild
index a4b06b19d904..f194658058f2 100644
--- a/dev-perl/Math-Int64/Math-Int64-0.540.0.ebuild
+++ b/dev-perl/Math-Int64/Math-Int64-0.540.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020-2021 Gentoo Authors
+# Copyright 2020-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -10,7 +10,7 @@ inherit perl-module
DESCRIPTION="Manipulate 64 bits integers in Perl"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc64 ~riscv sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ppc64 ~riscv sparc x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/PyQt5/PyQt5-5.15.9.ebuild b/dev-python/PyQt5/PyQt5-5.15.9.ebuild
index 936b389127ca..b8021b29afcf 100644
--- a/dev-python/PyQt5/PyQt5-5.15.9.ebuild
+++ b/dev-python/PyQt5/PyQt5-5.15.9.ebuild
@@ -18,7 +18,7 @@ fi
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
# TODO: QtNfc, QtQuick3D, QtRemoteObjects
IUSE="bluetooth dbus debug declarative designer examples gles2-only gui help location
diff --git a/games-board/tetzle/Manifest b/games-board/tetzle/Manifest
index 4a67b0579184..531a46fec772 100644
--- a/games-board/tetzle/Manifest
+++ b/games-board/tetzle/Manifest
@@ -1 +1,2 @@
DIST tetzle-2.1.3-src.tar.bz2 1022680 BLAKE2B 197e2a221a779734d3cd76d5600460df42014a31a032fca2f5c181d54c004f56e6beb9803c60fd53edf5b0d4a614b3d0709fd8913d561e49a938a2f6f1943001 SHA512 6f4541ad2f67ac8a98bd0e1683d4cb6131a85a4e9d31a9dae0a97177a721038750f4276fb3a592b97804daceb1b99f0117e14c6221a6a6ce74b852b00ed5c607
+DIST tetzle-2.2.2.tar.bz2 1094634 BLAKE2B 9fa50b6d691226f1b3526361e141f7ef566d9eea7db72b9d825afd52ae312cbb3b794e427014f427518da2a6fac0adf32bc0a557246042079fc0a2693ee68e34 SHA512 1aee8b110acd496cd885a207a4d229840f9c3f6960ed16b2f6a2c1f452f6234e4d88429c0276affb7e8c486d18b64ab36ada9cddcb006c4c56284216b5351891
diff --git a/games-board/tetzle/tetzle-2.2.2.ebuild b/games-board/tetzle/tetzle-2.2.2.ebuild
new file mode 100644
index 000000000000..7e6891c9b725
--- /dev/null
+++ b/games-board/tetzle/tetzle-2.2.2.ebuild
@@ -0,0 +1,18 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake xdg
+
+DESCRIPTION="Jigsaw puzzle game that uses tetrominoes for the pieces"
+HOMEPAGE="https://gottcode.org/tetzle/"
+SRC_URI="https://gottcode.org/tetzle/${P}.tar.bz2"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="dev-qt/qtbase:6[gui,opengl,widgets]"
+DEPEND="${RDEPEND}"
+BDEPEND="dev-qt/qttools:6[linguist]"
diff --git a/games-emulation/pcsx2/pcsx2-1.7.3738.ebuild b/games-emulation/pcsx2/pcsx2-1.7.3738.ebuild
index 951c4e4fe7c8..87648ee26e9d 100644
--- a/games-emulation/pcsx2/pcsx2-1.7.3738.ebuild
+++ b/games-emulation/pcsx2/pcsx2-1.7.3738.ebuild
@@ -81,7 +81,7 @@ DEPEND="
test? ( dev-cpp/gtest )"
BDEPEND="
dev-lang/perl
- qt6? ( dev-qt/qttools[linguist] )
+ qt6? ( dev-qt/qttools:6[linguist] )
!qt6? ( sys-devel/gettext )"
FILECAPS=(
diff --git a/games-emulation/pcsx2/pcsx2-1.7.4280.ebuild b/games-emulation/pcsx2/pcsx2-1.7.4280.ebuild
index a0683b3c3d85..ae1c9c594c50 100644
--- a/games-emulation/pcsx2/pcsx2-1.7.4280.ebuild
+++ b/games-emulation/pcsx2/pcsx2-1.7.4280.ebuild
@@ -71,7 +71,7 @@ DEPEND="
${RDEPEND}
x11-base/xorg-proto
test? ( dev-cpp/gtest )"
-BDEPEND="dev-qt/qttools[linguist]"
+BDEPEND="dev-qt/qttools:6[linguist]"
FILECAPS=(
-m 0755 "CAP_NET_RAW+eip CAP_NET_ADMIN+eip" usr/bin/pcsx2
diff --git a/games-emulation/pcsx2/pcsx2-9999.ebuild b/games-emulation/pcsx2/pcsx2-9999.ebuild
index a0683b3c3d85..ae1c9c594c50 100644
--- a/games-emulation/pcsx2/pcsx2-9999.ebuild
+++ b/games-emulation/pcsx2/pcsx2-9999.ebuild
@@ -71,7 +71,7 @@ DEPEND="
${RDEPEND}
x11-base/xorg-proto
test? ( dev-cpp/gtest )"
-BDEPEND="dev-qt/qttools[linguist]"
+BDEPEND="dev-qt/qttools:6[linguist]"
FILECAPS=(
-m 0755 "CAP_NET_RAW+eip CAP_NET_ADMIN+eip" usr/bin/pcsx2
diff --git a/net-dialup/rp-pppoe/rp-pppoe-3.15-r2.ebuild b/net-dialup/rp-pppoe/rp-pppoe-3.15-r2.ebuild
index 5d913cfb1c03..79f536d951d8 100644
--- a/net-dialup/rp-pppoe/rp-pppoe-3.15-r2.ebuild
+++ b/net-dialup/rp-pppoe/rp-pppoe-3.15-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ PATCHES=(
)
DESCRIPTION="A user-mode PPPoE client and server suite for Linux"
-HOMEPAGE="https://dianne.skoll.ca/projects/rp-pppoe/"
+HOMEPAGE="https://dianne.skoll.ca/projects/rp-pppoe/ https://salsa.debian.org/dskoll/rp-pppoe"
SRC_URI="https://dianne.skoll.ca/projects/rp-pppoe/download/${P}.tar.gz
https://dev.gentoo.org/~polynomial-c/dist/${PATCHSET}.tar.xz"
diff --git a/net-dialup/rp-pppoe/rp-pppoe-9999.ebuild b/net-dialup/rp-pppoe/rp-pppoe-9999.ebuild
index f296b23837e1..b7e763a73d83 100644
--- a/net-dialup/rp-pppoe/rp-pppoe-9999.ebuild
+++ b/net-dialup/rp-pppoe/rp-pppoe-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
inherit readme.gentoo-r1
DESCRIPTION="A user-mode PPPoE client and server suite for Linux"
-HOMEPAGE="https://dianne.skoll.ca/projects/rp-pppoe/"
+HOMEPAGE="https://dianne.skoll.ca/projects/rp-pppoe/ https://salsa.debian.org/dskoll/rp-pppoe"
if [[ $PV = 9999 ]]; then
inherit git-r3
EGIT_REPO_URI=https://github.com/dfskoll/rp-pppoe.git
diff --git a/net-misc/networkmanager/Manifest b/net-misc/networkmanager/Manifest
index 0d70929b57ca..846754e8128f 100644
--- a/net-misc/networkmanager/Manifest
+++ b/net-misc/networkmanager/Manifest
@@ -1,3 +1,4 @@
DIST NetworkManager-1.42.2.tar.xz 6749184 BLAKE2B cf94f79bad373d1271f406392af595941c78d567cb28a6116b351093858bbce68acf4d115950582087687ea3b3fafad7a977361f6c7f5ce8565bc2eed0e6ab60 SHA512 6142aaa7da2ae0dc3c8c75dbf51619ff969ace61c8a2d4a72aa83c4eff69e8389b262941e1667d71cbb55fb0653b14798a3c169b39dfcfa084109ef9fb3a335a
DIST NetworkManager-1.42.4.tar.xz 6659860 BLAKE2B 5f98dba82d2bf932d61dc44b263a0c3263a299cc06bb506a98ec822126edf8dd6dde1618f75943caaf49f85864cadcf1eaf2c12864cde5f7521a7dff9053571d SHA512 af51ce481b8a6c3ee6e8856400a19f3e94c1fb0d5b2750ccf48785374b59110b49aa2a90aae675d322d902ad0e3f6eef6188bb247067448de84272dc6b114acb
DIST NetworkManager-1.42.6.tar.xz 6749088 BLAKE2B 9d583c163908ee4fe145cdbdaa657cbc682d9f6270efc7d7525acd86912a0da50f2ccf14810fdfe2998c6ce701dcabc2b5b39fa58ff9d3fe4f5630205b15f4c8 SHA512 606a996043d8fbc7972329b94bc9854557950f665790381611eddfc632850b31584a4ba2d773fa9d12127db4c37ea2076c657521b78cedb012144df6f41d3748
+DIST networkmanager-ppp-2.5.0.patch 45845 BLAKE2B afcf1410f89db950a7e7c2c0af3aaed174a43fae127c8a139431093a3ae9802542c40cf69faabd1d057563438b48f0a0b0d4c7fc188c13e9320d127e0034f181 SHA512 34fe7780ac1780efa156429166344548058a9079ad61238a33d89a57e52ab79765ebfaf39bd9c246d0b74549ca7156e9df1a472920485cbe23ed81de4f8cf243
diff --git a/net-misc/networkmanager/networkmanager-1.42.2.ebuild b/net-misc/networkmanager/networkmanager-1.42.2.ebuild
index 3a1f0cb95b0d..e19e6ce11264 100644
--- a/net-misc/networkmanager/networkmanager-1.42.2.ebuild
+++ b/net-misc/networkmanager/networkmanager-1.42.2.ebuild
@@ -57,7 +57,7 @@ COMMON_DEPEND="
gnutls? (
>=net-libs/gnutls-2.12:=[${MULTILIB_USEDEP}]
)
- ppp? ( >=net-dialup/ppp-2.4.5:=[ipv6] )
+ ppp? ( >=net-dialup/ppp-2.4.5:=[ipv6(+)] )
modemmanager? (
net-misc/mobile-broadband-provider-info
>=net-misc/modemmanager-0.7.991:0=
diff --git a/net-misc/networkmanager/networkmanager-1.42.4.ebuild b/net-misc/networkmanager/networkmanager-1.42.4.ebuild
index ea8c15c407b0..fb476d87dcba 100644
--- a/net-misc/networkmanager/networkmanager-1.42.4.ebuild
+++ b/net-misc/networkmanager/networkmanager-1.42.4.ebuild
@@ -57,7 +57,7 @@ COMMON_DEPEND="
gnutls? (
>=net-libs/gnutls-2.12:=[${MULTILIB_USEDEP}]
)
- ppp? ( >=net-dialup/ppp-2.4.5:=[ipv6] )
+ ppp? ( >=net-dialup/ppp-2.4.5:=[ipv6(+)] )
modemmanager? (
net-misc/mobile-broadband-provider-info
>=net-misc/modemmanager-0.7.991:0=
diff --git a/net-misc/networkmanager/networkmanager-1.42.6-r1.ebuild b/net-misc/networkmanager/networkmanager-1.42.6-r1.ebuild
new file mode 100644
index 000000000000..478acfbd2687
--- /dev/null
+++ b/net-misc/networkmanager/networkmanager-1.42.6-r1.ebuild
@@ -0,0 +1,400 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+GNOME_ORG_MODULE="NetworkManager"
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit gnome.org linux-info meson-multilib python-any-r1 readme.gentoo-r1 systemd toolchain-funcs udev vala virtualx
+
+DESCRIPTION="A set of co-operative tools that make networking simple and straightforward"
+HOMEPAGE="https://wiki.gnome.org/Projects/NetworkManager"
+# bug #904840
+# https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1607
+SRC_URI+=" https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/5df19f5b26c5921a401e63fb329e844a02d6b1f2.patch -> ${PN}-ppp-2.5.0.patch"
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="0"
+
+IUSE="audit bluetooth +concheck connection-sharing debug dhclient dhcpcd elogind gnutls +gtk-doc +introspection iptables iwd psl libedit lto +nss nftables +modemmanager ofono ovs policykit +ppp resolvconf selinux syslog systemd teamd test +tools vala +wext +wifi"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ bluetooth? ( modemmanager )
+ connection-sharing? ( || ( iptables nftables ) )
+ gtk-doc? ( introspection )
+ iwd? ( wifi )
+ vala? ( introspection )
+ wext? ( wifi )
+ ^^ ( gnutls nss )
+ ?? ( elogind systemd )
+ ?? ( dhclient dhcpcd )
+ ?? ( syslog systemd )
+"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+COMMON_DEPEND="
+ sys-apps/util-linux[${MULTILIB_USEDEP}]
+ elogind? ( >=sys-auth/elogind-219 )
+ >=virtual/libudev-175:=[${MULTILIB_USEDEP}]
+ sys-apps/dbus
+ net-libs/libndp
+ systemd? ( >=sys-apps/systemd-209:0= )
+ >=dev-libs/glib-2.40:2[${MULTILIB_USEDEP}]
+ introspection? ( >=dev-libs/gobject-introspection-0.10.3:= )
+ selinux? (
+ sec-policy/selinux-networkmanager
+ sys-libs/libselinux
+ )
+ audit? ( sys-process/audit )
+ teamd? (
+ >=dev-libs/jansson-2.7:=
+ >=net-misc/libteam-1.9
+ )
+ policykit? ( >=sys-auth/polkit-0.106 )
+ nss? (
+ dev-libs/nspr[${MULTILIB_USEDEP}]
+ >=dev-libs/nss-3.11[${MULTILIB_USEDEP}]
+ )
+ gnutls? (
+ >=net-libs/gnutls-2.12:=[${MULTILIB_USEDEP}]
+ )
+ ppp? ( >=net-dialup/ppp-2.4.5:=[ipv6(+)] )
+ modemmanager? (
+ net-misc/mobile-broadband-provider-info
+ >=net-misc/modemmanager-0.7.991:0=
+ )
+ bluetooth? ( >=net-wireless/bluez-5:= )
+ ofono? ( net-misc/ofono )
+ dhclient? ( >=net-misc/dhcp-4[client] )
+ dhcpcd? ( >=net-misc/dhcpcd-9.3.3 )
+ ovs? ( >=dev-libs/jansson-2.7:= )
+ resolvconf? ( virtual/resolvconf )
+ connection-sharing? (
+ net-dns/dnsmasq[dbus,dhcp]
+ iptables? ( net-firewall/iptables )
+ nftables? ( net-firewall/nftables )
+ )
+ psl? ( net-libs/libpsl )
+ concheck? ( net-misc/curl )
+ tools? (
+ >=dev-libs/newt-0.52.15
+ libedit? ( dev-libs/libedit )
+ !libedit? ( sys-libs/readline:= )
+ )
+"
+RDEPEND="${COMMON_DEPEND}
+ acct-group/plugdev
+ || (
+ net-misc/iputils[arping(+)]
+ net-analyzer/arping
+ )
+ wifi? (
+ !iwd? ( >=net-wireless/wpa_supplicant-0.7.3-r3[dbus] )
+ iwd? ( net-wireless/iwd )
+ )
+"
+DEPEND="${COMMON_DEPEND}
+ >=sys-kernel/linux-headers-3.18
+ net-libs/libndp[${MULTILIB_USEDEP}]
+ ppp? ( elibc_musl? ( net-libs/ppp-defs ) )
+"
+BDEPEND="
+ dev-util/gdbus-codegen
+ dev-util/glib-utils
+ gtk-doc? (
+ dev-util/gtk-doc
+ app-text/docbook-xml-dtd:4.1.2
+ )
+ >=sys-devel/gettext-0.17
+ virtual/pkgconfig
+ introspection? (
+ $(python_gen_any_dep 'dev-python/pygobject:3[${PYTHON_USEDEP}]')
+ dev-lang/perl
+ dev-libs/libxslt
+ )
+ vala? ( $(vala_depend) )
+ test? (
+ >=dev-libs/jansson-2.7
+ $(python_gen_any_dep '
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]')
+ )
+"
+
+PATCHES=(
+ "${DISTDIR}"/${PN}-ppp-2.5.0.patch
+)
+
+python_check_deps() {
+ if use introspection; then
+ python_has_version "dev-python/pygobject:3[${PYTHON_USEDEP}]" || return
+ fi
+ if use test; then
+ python_has_version "dev-python/dbus-python[${PYTHON_USEDEP}]" &&
+ python_has_version "dev-python/pygobject:3[${PYTHON_USEDEP}]"
+ fi
+}
+
+pkg_setup() {
+ if use connection-sharing; then
+ if kernel_is lt 5 1; then
+ CONFIG_CHECK="~NF_NAT_IPV4 ~NF_NAT_MASQUERADE_IPV4"
+ else
+ CONFIG_CHECK="~NF_NAT ~NF_NAT_MASQUERADE"
+ fi
+ linux-info_pkg_setup
+ fi
+
+ if use introspection || use test; then
+ python-any-r1_pkg_setup
+ fi
+
+ # bug 809695
+ if tc-is-clang && use lto; then
+ eerror "Clang does not support -flto-partition"
+ die "Please use gcc or turn off USE=lto flag when building with clang"
+ fi
+}
+
+src_prepare() {
+ DOC_CONTENTS="To modify system network connections without needing to enter the
+ root password, add your user account to the 'plugdev' group."
+
+ default
+ use vala && vala_setup
+
+ sed -i \
+ -e 's#/usr/bin/sed#/bin/sed#' \
+ data/84-nm-drivers.rules \
+ || die
+}
+
+meson_nm_program() {
+ usex "$1" "-D${2:-$1}=$3" "-D${2:-$1}=no"
+}
+
+meson_nm_native_program() {
+ multilib_native_usex "$1" "-D${2:-$1}=$3" "-D${2:-$1}=no"
+}
+
+multilib_src_configure() {
+ local emesonargs=(
+ --localstatedir="${EPREFIX}/var"
+
+ -Dsystemdsystemunitdir=$(systemd_get_systemunitdir)
+ -Dsystem_ca_path=/etc/ssl/certs
+ -Dudev_dir=$(get_udevdir)
+ -Ddbus_conf_dir=/usr/share/dbus-1/system.d
+ -Dkernel_firmware_dir=/lib/firmware
+ -Diptables=/sbin/iptables
+ -Dnft=/sbin/nft
+ -Ddnsmasq=/usr/sbin/dnsmasq
+
+ -Ddist_version=${PVR}
+ $(meson_native_use_bool policykit polkit)
+ $(meson_native_use_bool policykit config_auth_polkit_default)
+ -Dmodify_system=true
+ -Dpolkit_agent_helper_1=/usr/lib/polkit-1/polkit-agent-helper-1
+ $(meson_native_use_bool selinux)
+ $(meson_native_use_bool systemd systemd_journal)
+ -Dhostname_persist=gentoo
+ -Dlibaudit=$(multilib_native_usex audit)
+
+ $(meson_native_use_bool wext)
+ $(meson_native_use_bool wifi)
+ $(meson_native_use_bool iwd)
+ $(meson_native_use_bool ppp)
+ -Dpppd=/usr/sbin/pppd
+ $(meson_native_use_bool modemmanager modem_manager)
+ $(meson_native_use_bool ofono)
+ $(meson_native_use_bool concheck)
+ $(meson_native_use_bool teamd teamdctl)
+ $(meson_native_use_bool ovs)
+ $(meson_native_use_bool tools nmcli)
+ $(meson_native_use_bool tools nmtui)
+ $(meson_native_use_bool tools nm_cloud_setup)
+ $(meson_native_use_bool bluetooth bluez5_dun)
+ -Debpf=true
+
+ -Dconfig_wifi_backend_default=$(multilib_native_usex iwd iwd default)
+ -Dconfig_plugins_default=keyfile
+ -Difcfg_rh=false
+ -Difupdown=false
+
+ $(meson_nm_native_program resolvconf "" /sbin/resolvconf)
+ -Dnetconfig=no
+ -Dconfig_dns_rc_manager_default=auto
+
+ $(meson_nm_program dhclient "" /sbin/dhclient)
+ -Ddhcpcanon=no
+ $(meson_nm_program dhcpcd "" /sbin/dhcpcd)
+
+ $(meson_native_use_bool introspection)
+ $(meson_native_use_bool vala vapi)
+ $(meson_native_use_bool gtk-doc docs)
+ -Dtests=$(multilib_native_usex test)
+ $(meson_native_true firewalld_zone)
+ -Dmore_asserts=0
+ $(meson_use debug more_logging)
+ -Dvalgrind=no
+ -Dvalgrind_suppressions=
+ -Dld_gc=false
+ $(meson_native_use_bool psl libpsl)
+ -Dqt=false
+
+ $(meson_use lto b_lto)
+ )
+
+ if multilib_is_native_abi && use systemd; then
+ emesonargs+=( -Dsession_tracking_consolekit=false )
+ emesonargs+=( -Dsession_tracking=systemd )
+ emesonargs+=( -Dsuspend_resume=systemd )
+ elif multilib_is_native_abi && use elogind; then
+ emesonargs+=( -Dsession_tracking_consolekit=false )
+ emesonargs+=( -Dsession_tracking=elogind )
+ emesonargs+=( -Dsuspend_resume=elogind )
+ else
+ emesonargs+=( -Dsession_tracking_consolekit=false )
+ emesonargs+=( -Dsession_tracking=no )
+ emesonargs+=( -Dsuspend_resume=auto )
+ fi
+
+ if multilib_is_native_abi && use syslog; then
+ emesonargs+=( -Dconfig_logging_backend_default=syslog )
+ elif multilib_is_native_abi && use systemd; then
+ emesonargs+=( -Dconfig_logging_backend_default=journal )
+ else
+ emesonargs+=( -Dconfig_logging_backend_default=default )
+ fi
+
+ if multilib_is_native_abi && use dhclient; then
+ emesonargs+=( -Dconfig_dhcp_default=dhclient )
+ elif multilib_is_native_abi && use dhcpcd; then
+ emesonargs+=( -Dconfig_dhcp_default=dhcpcd )
+ else
+ emesonargs+=( -Dconfig_dhcp_default=internal )
+ fi
+
+ if use nss; then
+ emesonargs+=( -Dcrypto=nss )
+ else
+ emesonargs+=( -Dcrypto=gnutls )
+ fi
+
+ if use tools ; then
+ emesonargs+=( -Dreadline=$(usex libedit libedit libreadline) )
+ else
+ emesonargs+=( -Dreadline=none )
+ fi
+
+ # Same hack as net-dialup/pptpd to get proper plugin dir for ppp, bug #519986
+ if use ppp; then
+ local PPPD_VER=`best_version net-dialup/ppp`
+ PPPD_VER=${PPPD_VER#*/*-} #reduce it to ${PV}-${PR}
+ PPPD_VER=${PPPD_VER%%[_-]*} # main version without beta/pre/patch/revision
+ emesonargs+=( -Dpppd_plugin_dir=/usr/$(get_libdir)/pppd/${PPPD_VER} )
+ fi
+
+ meson_src_configure
+}
+
+multilib_src_test() {
+ if use test && multilib_is_native_abi; then
+ python_setup
+ virtx meson_src_test
+ fi
+}
+
+multilib_src_install() {
+ meson_src_install
+ if ! multilib_is_native_abi; then
+ rm -r "${ED}"/{etc,usr/{bin,lib/NetworkManager,share},var} || die
+ fi
+}
+
+multilib_src_install_all() {
+ ! use systemd && readme.gentoo_create_doc
+
+ newinitd "${FILESDIR}/init.d.NetworkManager-r2" NetworkManager
+ newconfd "${FILESDIR}/conf.d.NetworkManager" NetworkManager
+
+ # Need to keep the /etc/NetworkManager/dispatched.d for dispatcher scripts
+ keepdir /etc/NetworkManager/dispatcher.d
+
+ # Provide openrc net dependency only when nm is connected
+ exeinto /etc/NetworkManager/dispatcher.d
+ newexe "${FILESDIR}/10-openrc-status-r4" 10-openrc-status
+ sed -e "s:@EPREFIX@:${EPREFIX}:g" \
+ -i "${ED}/etc/NetworkManager/dispatcher.d/10-openrc-status" || die
+
+ keepdir /etc/NetworkManager/system-connections
+ chmod 0600 "${ED}"/etc/NetworkManager/system-connections/.keep* # bug #383765, upstream bug #754594
+
+ # Allow users in plugdev group to modify system connections
+ insinto /usr/share/polkit-1/rules.d/
+ doins "${FILESDIR}"/01-org.freedesktop.NetworkManager.settings.modify.system.rules
+
+ insinto /usr/lib/NetworkManager/conf.d #702476
+ doins "${S}"/examples/nm-conf.d/31-mac-addr-change.conf
+
+ if use iwd; then
+ # This goes to $nmlibdir/conf.d/ and $nmlibdir is '${prefix}'/lib/$PACKAGE, thus always lib, not get_libdir
+ cat <<-EOF > "${ED}"/usr/lib/NetworkManager/conf.d/iwd.conf || die
+ [device]
+ wifi.backend=iwd
+ EOF
+ fi
+
+ mv "${ED}"/usr/share/doc/{NetworkManager/examples/,${PF}} || die
+ rmdir "${ED}"/usr/share/doc/NetworkManager || die
+
+ # Empty
+ rmdir "${ED}"/var{/lib{/NetworkManager,},} || die
+}
+
+pkg_postinst() {
+ udev_reload
+
+ systemd_reenable NetworkManager.service
+ ! use systemd && readme.gentoo_print_elog
+
+ if [[ -e "${EROOT}/etc/NetworkManager/nm-system-settings.conf" ]]; then
+ ewarn "The ${PN} system configuration file has moved to a new location."
+ ewarn "You must migrate your settings from ${EROOT}/etc/NetworkManager/nm-system-settings.conf"
+ ewarn "to ${EROOT}/etc/NetworkManager/NetworkManager.conf"
+ ewarn
+ ewarn "After doing so, you can remove ${EROOT}/etc/NetworkManager/nm-system-settings.conf"
+ fi
+
+ # NM fallbacks to plugin specified at compile time (upstream bug #738611)
+ # but still show a warning to remember people to have cleaner config file
+ if [[ -e "${EROOT}/etc/NetworkManager/NetworkManager.conf" ]]; then
+ if grep plugins "${EROOT}/etc/NetworkManager/NetworkManager.conf" | grep -q ifnet; then
+ ewarn
+ ewarn "You seem to use 'ifnet' plugin in ${EROOT}/etc/NetworkManager/NetworkManager.conf"
+ ewarn "Since it won't be used, you will need to stop setting ifnet plugin there."
+ ewarn
+ fi
+ fi
+
+ # NM shows lots of errors making nmcli almost unusable, bug #528748 upstream bug #690457
+ if grep -r "psk-flags=1" "${EROOT}"/etc/NetworkManager/; then
+ ewarn "You have psk-flags=1 setting in above files, you will need to"
+ ewarn "either reconfigure affected networks or, at least, set the flag"
+ ewarn "value to '0'."
+ fi
+
+ if use dhclient || use dhcpcd; then
+ ewarn "You have enabled USE=dhclient and/or USE=dhcpcd, but NetworkManager since"
+ ewarn "version 1.20 defaults to the internal DHCP client. If the internal client"
+ ewarn "works for you, and you're happy with, the alternative USE flags can be"
+ ewarn "disabled. If you want to use dhclient or dhcpcd, then you need to tweak"
+ ewarn "the main.dhcp configuration option to use one of them instead of internal."
+ fi
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/net-misc/sstp-client/Manifest b/net-misc/sstp-client/Manifest
index c04331a85465..431ae0560518 100644
--- a/net-misc/sstp-client/Manifest
+++ b/net-misc/sstp-client/Manifest
@@ -1,2 +1,3 @@
DIST sstp-client-1.0.17.tar.gz 482831 BLAKE2B d19c752b3f061401f89eb46bd52091e3ab0a3c931c6646a55c1ee0e6dd7e9c501fba14b7c870a2514cb72fb0fd1d8bc89538562d4d99b9d58a081e0917734f5d SHA512 eff18eb894b2c96d46315b5ac7530fe50e8dd6e6c29ea946cd0e7c05c56416e85088fc65650fb77c05e3a747cb0b4e3575af5457515d240161027910abae9775
+DIST sstp-client-1.0.18-ppp-2.5.0.patch.xz 6564 BLAKE2B 97c5c1fc9d844e0845d2fff27bcfeb18834b1b007a14b2aa5ea1dad9af75b8bdb195d2469eb924466bfa68b9b7887aab2ddbe1208cb973c57232005e0b4977a1 SHA512 734d044eb956664a91cd045de5aa8f3f9730fb49eba816fb5a0decc19d47f0a00b2285aefd2735efd5285f68a93768b8b51ed9c557131a4ee25bb814f793ddc3
DIST sstp-client-1.0.18.tar.gz 477886 BLAKE2B 3a2929a5245a703c36b9bf6c17b7f65d911446a8a44b95894fd990ccf5ad01a98e4b5e843681e4643ff4b28a57de359a98ef42f9bb378d52c6829297970399b6 SHA512 e0dd0fe57b65c2001737222159e58b11177a8f1cb64564e520fad2199c0581d0550a00f49c921be74039dec59062233b4716f8b624a0e4cb48bdf8df9272f93c
diff --git a/net-misc/sstp-client/metadata.xml b/net-misc/sstp-client/metadata.xml
index c93fe2ce4d92..cc62457fcaa6 100644
--- a/net-misc/sstp-client/metadata.xml
+++ b/net-misc/sstp-client/metadata.xml
@@ -3,7 +3,7 @@
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
- <remote-id type="gitlab">eivnaes/sstp-client</remote-id>
+ <remote-id type="gitlab">sstp-project/sstp-client</remote-id>
<remote-id type="sourceforge">sstp-client</remote-id>
</upstream>
</pkgmetadata>
diff --git a/net-misc/sstp-client/sstp-client-1.0.18-r1.ebuild b/net-misc/sstp-client/sstp-client-1.0.18-r1.ebuild
new file mode 100644
index 000000000000..134d2c5ee206
--- /dev/null
+++ b/net-misc/sstp-client/sstp-client-1.0.18-r1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools linux-info
+
+DESCRIPTION="Client implementation of Secure Socket Tunneling Protocol (SSTP)"
+HOMEPAGE="https://sstp-client.sourceforge.net/"
+SRC_URI="mirror://sourceforge/sstp-client/${P}.tar.gz"
+SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-ppp-2.5.0.patch.xz"
+
+LICENSE="GPL-2+-with-openssl-exception"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="static"
+
+DEPEND="dev-libs/libevent:=
+ dev-libs/openssl:=
+ net-dialup/ppp:="
+RDEPEND="${DEPEND}
+ acct-group/sstpc
+ acct-user/sstpc"
+BDEPEND="virtual/pkgconfig"
+
+CONFIG_CHECK="~NETFILTER_NETLINK"
+
+DOCS=( AUTHORS ChangeLog DEVELOPERS NEWS README TODO USING )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.0.12-remove-network-test.patch"
+ "${FILESDIR}/${PN}-1.0.12-fix-example.patch"
+
+ "${FILESDIR}/${PN}-1.0.18-includes.patch"
+ "${WORKDIR}/${P}-ppp-2.5.0.patch"
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ local PPPD_VER="$(best_version net-dialup/ppp)"
+ # Reduce it to ${PV}-${PR}
+ PPPD_VER=${PPPD_VER#*/*-}
+ # Main version without beta/pre/patch/revision
+ PPPD_VER=${PPPD_VER%%[_-]*}
+
+ local myeconfargs=(
+ --enable-ppp-plugin
+ --enable-group=sstpc
+ --enable-user=sstpc
+ --with-pppd-plugin-dir="/usr/$(get_libdir)/pppd/${PPPD_VER}"
+ --with-runtime-dir="/run/sstpc"
+ $(use_enable static)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/net-vpn/networkmanager-fortisslvpn/files/networkmanager-fortisslvpn-1.4.0-ppp-2.5.0.patch b/net-vpn/networkmanager-fortisslvpn/files/networkmanager-fortisslvpn-1.4.0-ppp-2.5.0.patch
new file mode 100644
index 000000000000..ddb800249cce
--- /dev/null
+++ b/net-vpn/networkmanager-fortisslvpn/files/networkmanager-fortisslvpn-1.4.0-ppp-2.5.0.patch
@@ -0,0 +1,502 @@
+https://bugs.gentoo.org/904842
+https://gitlab.gnome.org/GNOME/NetworkManager-fortisslvpn/-/commit/084ef529c5fb816927ca54866f66b340265aa9f6
+https://gitlab.gnome.org/GNOME/NetworkManager-fortisslvpn/-/commit/8773f772d39f8eee6edc1fd2e5437c754ed41e1e
+https://gitlab.gnome.org/GNOME/NetworkManager-fortisslvpn/-/merge_requests/27
+
+From 084ef529c5fb816927ca54866f66b340265aa9f6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Eivind=20N=C3=A6ss?= <eivnaes@yahoo.com>
+Date: Sat, 4 Mar 2023 21:20:43 +0000
+Subject: [PATCH] Adding support for compiling against pppd-2.5.0 (or master
+ branch)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Eivind Næss <eivnaes@yahoo.com>
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -81,7 +81,7 @@ libexec_PROGRAMS += src/nm-fortisslvpn-service
+ src_nm_fortisslvpn_service_SOURCES = \
+ shared/nm-utils/nm-shared-utils.c \
+ shared/nm-utils/nm-shared-utils.h \
+- src/nm-ppp-status.h \
++ src/nm-fortisslvpn-pppd-status.h \
+ src/nm-fortisslvpn-service.h \
+ src/nm-fortisslvpn-service.c \
+ shared/nm-fortissl-properties.c \
+@@ -106,7 +106,8 @@ src_nm_fortisslvpn_pppd_plugin_la_SOURCES = \
+ shared/nm-utils/nm-shared-utils.c \
+ shared/nm-utils/nm-shared-utils.h \
+ src/nm-fortisslvpn-pppd-plugin.c \
+- src/nm-ppp-status.h
++ src/nm-fortisslvpn-pppd-compat.h \
++ src/nm-fortisslvpn-pppd-status.h
+ nodist_src_nm_fortisslvpn_pppd_plugin_la_SOURCES = \
+ src/nm-fortisslvpn-pppd-service-dbus.h
+ src_nm_fortisslvpn_pppd_plugin_la_CPPFLAGS = $(src_cppflags)
+--- a/configure.ac
++++ b/configure.ac
+@@ -19,7 +19,10 @@ AC_PROG_CC
+ AM_PROG_CC_C_O
+ AC_PROG_INSTALL
+ AC_PROG_LIBTOOL
++AC_PROG_CPP
++AC_PROG_EGREP
+ AC_PATH_PROG(GLIB_COMPILE_RESOURCES, glib-compile-resources)
++PKG_PROG_PKG_CONFIG()
+
+ AC_GNU_SOURCE
+
+@@ -37,20 +40,50 @@ dnl
+ dnl Required headers
+ dnl
+ AC_HEADER_STDC
+-AC_CHECK_HEADERS(fcntl.h paths.h sys/ioctl.h sys/time.h syslog.h unistd.h)
++AC_CHECK_HEADERS(fcntl.h paths.h stdarg.h stdbool.h sys/ioctl.h sys/time.h syslog.h unistd.h)
+
+ AC_CHECK_HEADERS(pppd/pppd.h,,
+ AC_MSG_ERROR(couldn't find pppd.h. pppd development headers are required.))
+
++dnl
++dnl Check the presense of other pppd/*.h files
++AC_CHECK_HEADERS([
++ pppd/chap.h
++ pppd/chap-new.h
++ pppd/chap_ms.h
++ ])
++
++dnl
++dnl Versions >= 2.5.0 will have pkg-config support
++PKG_CHECK_EXISTS([pppd],
++ [AS_VAR_SET([pppd_pkgconfig_support],[yes])])
++
++dnl
++dnl Get the version of pppd using pkg-config, assume 2.4.9 if not present
++PPPD_VERSION=2.4.5
++if test x"$pppd_pkgconfig_support" = xyes; then
++ PPPD_VERSION=`$PKG_CONFIG --modversion pppd`
++fi
++
++
+ AC_ARG_WITH([pppd-plugin-dir], AS_HELP_STRING([--with-pppd-plugin-dir=DIR], [path to the pppd plugins directory]))
+
+ if test -n "$with_pppd_plugin_dir" ; then
+ PPPD_PLUGIN_DIR="$with_pppd_plugin_dir"
+ else
+- PPPD_PLUGIN_DIR="${libdir}/pppd/2.4.5"
++ PPPD_PLUGIN_DIR="${libdir}/pppd/$PPPD_VERSION"
+ fi
+ AC_SUBST(PPPD_PLUGIN_DIR)
+
++dnl The version of pppd dictates what code can be included, i.e. enable use of
++dnl #if WITH_PPP_VERSION >= PPP_VERSION(2,5,0) in the code
++AC_DEFINE_UNQUOTED([PPP_VERSION(x,y,z)],
++ [((x & 0xFF) << 16 | (y & 0xFF) << 8 | (z & 0xFF) << 0)],
++ [Macro to help determine the particular version of pppd])
++PPP_VERSION=$(echo $PPPD_VERSION | sed -e "s/\./\,/g")
++AC_DEFINE_UNQUOTED(WITH_PPP_VERSION, PPP_VERSION($PPP_VERSION),
++ [The real version of pppd represented as an int])
++
+ dnl
+ dnl Checks for typedefs, structures, and compiler characteristics.
+ dnl
+--- /dev/null
++++ b/src/nm-fortisslvpn-pppd-compat.h
+@@ -0,0 +1,93 @@
++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
++/* nm-sstp-service - sstp (and other pppd) integration with NetworkManager
++ *
++ * Copyright (C) Eivind Næss, eivnaes@yahoo.com
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License along
++ * with this program; if not, write to the Free Software Foundation, Inc.,
++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
++ *
++ */
++
++#ifndef __NM_FORTISSLVPN_PPPD_COMPAT_H__
++#define __NM_FORTISSLVPN_PPPD_COMPAT_H__
++
++#define INET6 1
++
++// PPP < 2.5.0 defines and exports VERSION which overlaps with current package VERSION define.
++// this silly macro magic is to work around that.
++
++#undef VERSION
++#include <pppd/pppd.h>
++
++#ifndef PPPD_VERSION
++#define PPPD_VERSION VERSION
++#endif
++
++#include <pppd/fsm.h>
++#include <pppd/ccp.h>
++#include <pppd/eui64.h>
++#include <pppd/ipcp.h>
++#include <pppd/ipv6cp.h>
++#include <pppd/eap.h>
++#include <pppd/upap.h>
++
++#ifdef HAVE_PPPD_CHAP_H
++ #include <pppd/chap.h>
++#endif
++
++#ifdef HAVE_PPPD_CHAP_NEW_H
++ #include <pppd/chap-new.h>
++#endif
++
++#ifdef HAVE_PPPD_CHAP_MS_H
++ #include <pppd/chap_ms.h>
++#endif
++
++#ifndef PPP_PROTO_CHAP
++#define PPP_PROTO_CHAP 0xc223
++#endif
++
++#ifndef PPP_PROTO_EAP
++#define PPP_PROTO_EAP 0xc227
++#endif
++
++#if WITH_PPP_VERSION < PPP_VERSION(2,5,0)
++
++static inline bool debug_on(void)
++{
++ return debug;
++}
++
++static inline const char *ppp_ipparam(void)
++{
++ return ipparam;
++}
++
++static inline int ppp_ifunit(void)
++{
++ return ifunit;
++}
++
++static inline const char *ppp_ifname(void)
++{
++ return ifname;
++}
++
++static inline int ppp_get_mtu(int idx)
++{
++ return netif_get_mtu(idx);
++}
++
++#endif // #if WITH_PPP_VERSION < PPP_VERSION(2,5,0)
++#endif // #ifdef __NM_FORTISSLVPN_PPPD_COMPAT_H__
+--- a/src/nm-fortisslvpn-pppd-plugin.c
++++ b/src/nm-fortisslvpn-pppd-plugin.c
+@@ -23,12 +23,6 @@
+ #define ___CONFIG_H__
+ #include <config.h>
+
+-#include <pppd/pppd.h>
+-#include <pppd/fsm.h>
+-#include <pppd/ipcp.h>
+-
+-#include "nm-default.h"
+-
+ #include <sys/types.h>
+ #include <string.h>
+ #include <sys/socket.h>
+@@ -42,10 +36,12 @@
+ #include <grp.h>
+ #include <glib/gstdio.h>
+
++#include "nm-fortisslvpn-pppd-status.h"
++#include "nm-fortisslvpn-pppd-compat.h"
+ #include "nm-fortisslvpn-pppd-service-dbus.h"
+-#include "nm-fortisslvpn-service.h"
+-#include "nm-ppp-status.h"
+
++#include "nm-default.h"
++#include "nm-fortisslvpn-service.h"
+ #include "nm-utils/nm-shared-utils.h"
+ #include "nm-utils/nm-vpn-plugin-macros.h"
+
+@@ -80,7 +76,7 @@ static struct {
+
+ int plugin_init (void);
+
+-char pppd_version[] = VERSION;
++char pppd_version[] = PPPD_VERSION;
+
+ static void
+ chroot_sandbox (void)
+@@ -296,7 +292,7 @@ get_ip4_routes (in_addr_t ouraddr)
+ static void
+ nm_ip_up (void *data, int arg)
+ {
+- guint32 pppd_made_up_address = htonl (0x0a404040 + ifunit);
++ guint32 pppd_made_up_address = htonl (0x0a404040 + ppp_ifunit());
+ ipcp_options opts = ipcp_gotoptions[0];
+ ipcp_options peer_opts = ipcp_hisoptions[0];
+ GVariantBuilder builder;
+@@ -317,7 +313,7 @@ nm_ip_up (void *data, int arg)
+
+ g_variant_builder_add (&builder, "{sv}",
+ NM_VPN_PLUGIN_IP4_CONFIG_TUNDEV,
+- g_variant_new_string (ifname));
++ g_variant_new_string (ppp_ifname()));
+
+ str = g_getenv ("VPN_GATEWAY");
+ if (str) {
+@@ -442,8 +438,14 @@ plugin_init (void)
+ return -1;
+ }
+
++#if WITH_PPP_VERSION < PPP_VERSION(2,5,0)
+ add_notifier (&phasechange, nm_phasechange, NULL);
+ add_notifier (&ip_up_notifier, nm_ip_up, NULL);
+ add_notifier (&exitnotify, nm_exit_notify, NULL);
++#else
++ ppp_add_notify (NF_PHASE_CHANGE, nm_phasechange, NULL);
++ ppp_add_notify (NF_IP_UP, nm_ip_up, NULL);
++ ppp_add_notify (NF_EXIT, nm_exit_notify, NULL);
++#endif
+ return 0;
+ }
+similarity index 100%
+rename from src/nm-ppp-status.h
+rename to src/nm-fortisslvpn-pppd-status.h
+--- a/src/nm-fortisslvpn-service.c
++++ b/src/nm-fortisslvpn-service.c
+@@ -40,7 +40,7 @@
+ #include <glib/gstdio.h>
+
+ #include "nm-fortissl-properties.h"
+-#include "nm-ppp-status.h"
++#include "nm-fortisslvpn-pppd-status.h"
+ #include "nm-fortisslvpn-pppd-service-dbus.h"
+ #include "nm-utils/nm-shared-utils.h"
+ #include "nm-utils/nm-vpn-plugin-macros.h"
+--
+GitLab
+
+From 8773f772d39f8eee6edc1fd2e5437c754ed41e1e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Eivind=20N=C3=A6ss?= <eivnaes@yahoo.com>
+Date: Sat, 4 Mar 2023 21:29:54 +0000
+Subject: [PATCH] Fixing configure.ac from previous change
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Eivind Næss <eivnaes@yahoo.com>
+--- a/configure.ac
++++ b/configure.ac
+@@ -47,11 +47,7 @@ AC_CHECK_HEADERS(pppd/pppd.h,,
+
+ dnl
+ dnl Check the presense of other pppd/*.h files
+-AC_CHECK_HEADERS([
+- pppd/chap.h
+- pppd/chap-new.h
+- pppd/chap_ms.h
+- ])
++AC_CHECK_HEADERS(pppd/chap.h pppd/chap-new.h pppd/chap_ms.h)
+
+ dnl
+ dnl Versions >= 2.5.0 will have pkg-config support
+--
+GitLab
+
+From d59819b5d26db44f51bfbb76be3b373c419e408d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Eivind=20N=C3=A6ss?= <eivnaes@yahoo.com>
+Date: Wed, 8 Mar 2023 04:30:13 +0000
+Subject: [PATCH] Improve compatibility with pppd-2.5.0 release
+
+This allows compiling against the older pppd 2.4 series while still
+using the new API in the plugin code. It does so by adding a static
+inline function ppp_add_notify().
+
+Additional formatting changes to the nm-fortisslvpn-pppd-compat.h based
+on review from Lubomir.
+--- a/src/nm-fortisslvpn-pppd-compat.h
++++ b/src/nm-fortisslvpn-pppd-compat.h
+@@ -1,32 +1,15 @@
+-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
+-/* nm-sstp-service - sstp (and other pppd) integration with NetworkManager
+- *
+- * Copyright (C) Eivind Næss, eivnaes@yahoo.com
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License along
+- * with this program; if not, write to the Free Software Foundation, Inc.,
+- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+- *
+- */
++/* Copyright (C) 2023 Eivind Naess, eivnaes@yahoo.com */
++/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+ #ifndef __NM_FORTISSLVPN_PPPD_COMPAT_H__
+ #define __NM_FORTISSLVPN_PPPD_COMPAT_H__
+
+-#define INET6 1
+-
+-// PPP < 2.5.0 defines and exports VERSION which overlaps with current package VERSION define.
+-// this silly macro magic is to work around that.
++/* Define INET6 to compile with IPv6 support against older pppd headers,
++ * pppd >= 2.5.0 use WITH_PPP_IPV6 and is defined in pppdconf.h */
++#define INET6 1
+
++/* PPP < 2.5.0 defines and exports VERSION which overlaps with current package VERSION define.
++ * this silly macro magic is to work around that. */
+ #undef VERSION
+ #include <pppd/pppd.h>
+
+@@ -43,51 +26,98 @@
+ #include <pppd/upap.h>
+
+ #ifdef HAVE_PPPD_CHAP_H
+- #include <pppd/chap.h>
++#include <pppd/chap.h>
+ #endif
+
+ #ifdef HAVE_PPPD_CHAP_NEW_H
+- #include <pppd/chap-new.h>
++#include <pppd/chap-new.h>
+ #endif
+
+ #ifdef HAVE_PPPD_CHAP_MS_H
+- #include <pppd/chap_ms.h>
++#include <pppd/chap_ms.h>
+ #endif
+
+ #ifndef PPP_PROTO_CHAP
+-#define PPP_PROTO_CHAP 0xc223
++#define PPP_PROTO_CHAP 0xc223
+ #endif
+
+ #ifndef PPP_PROTO_EAP
+-#define PPP_PROTO_EAP 0xc227
++#define PPP_PROTO_EAP 0xc227
+ #endif
+
++
+ #if WITH_PPP_VERSION < PPP_VERSION(2,5,0)
+
+-static inline bool debug_on(void)
++static inline bool
++debug_on (void)
++{
++ return debug;
++}
++
++static inline const char
++*ppp_ipparam (void)
+ {
+- return debug;
++ return ipparam;
+ }
+
+-static inline const char *ppp_ipparam(void)
++static inline int
++ppp_ifunit (void)
+ {
+- return ipparam;
++ return ifunit;
+ }
+
+-static inline int ppp_ifunit(void)
++static inline const char *
++ppp_ifname (void)
+ {
+- return ifunit;
++ return ifname;
+ }
+
+-static inline const char *ppp_ifname(void)
++static inline int
++ppp_get_mtu (int idx)
+ {
+- return ifname;
++ return netif_get_mtu(idx);
+ }
+
+-static inline int ppp_get_mtu(int idx)
++typedef enum ppp_notify
++{
++ NF_PID_CHANGE,
++ NF_PHASE_CHANGE,
++ NF_EXIT,
++ NF_SIGNALED,
++ NF_IP_UP,
++ NF_IP_DOWN,
++ NF_IPV6_UP,
++ NF_IPV6_DOWN,
++ NF_AUTH_UP,
++ NF_LINK_DOWN,
++ NF_FORK,
++ NF_MAX_NOTIFY
++} ppp_notify_t;
++
++typedef void (ppp_notify_fn) (void *ctx, int arg);
++
++static inline void
++ppp_add_notify (ppp_notify_t type, ppp_notify_fn *func, void *ctx)
+ {
+- return netif_get_mtu(idx);
++ struct notifier **list[NF_MAX_NOTIFY] = {
++ [NF_PID_CHANGE ] = &pidchange,
++ [NF_PHASE_CHANGE] = &phasechange,
++ [NF_EXIT ] = &exitnotify,
++ [NF_SIGNALED ] = &sigreceived,
++ [NF_IP_UP ] = &ip_up_notifier,
++ [NF_IP_DOWN ] = &ip_down_notifier,
++ [NF_IPV6_UP ] = &ipv6_up_notifier,
++ [NF_IPV6_DOWN ] = &ipv6_down_notifier,
++ [NF_AUTH_UP ] = &auth_up_notifier,
++ [NF_LINK_DOWN ] = &link_down_notifier,
++ [NF_FORK ] = &fork_notifier,
++ };
++
++ struct notifier **notify = list[type];
++ if (notify) {
++ add_notifier(notify, func, ctx);
++ }
+ }
+
+-#endif // #if WITH_PPP_VERSION < PPP_VERSION(2,5,0)
+-#endif // #ifdef __NM_FORTISSLVPN_PPPD_COMPAT_H__
++#endif /* #if WITH_PPP_VERSION < PPP_VERSION(2,5,0) */
++#endif /* #ifdef __NM_FORTISSLVPN_PPPD_COMPAT_H__ */
+--- a/src/nm-fortisslvpn-pppd-plugin.c
++++ b/src/nm-fortisslvpn-pppd-plugin.c
+@@ -438,14 +438,8 @@ plugin_init (void)
+ return -1;
+ }
+
+-#if WITH_PPP_VERSION < PPP_VERSION(2,5,0)
+- add_notifier (&phasechange, nm_phasechange, NULL);
+- add_notifier (&ip_up_notifier, nm_ip_up, NULL);
+- add_notifier (&exitnotify, nm_exit_notify, NULL);
+-#else
+ ppp_add_notify (NF_PHASE_CHANGE, nm_phasechange, NULL);
+ ppp_add_notify (NF_IP_UP, nm_ip_up, NULL);
+ ppp_add_notify (NF_EXIT, nm_exit_notify, NULL);
+-#endif
+ return 0;
+ }
+--
+GitLab
diff --git a/net-vpn/networkmanager-fortisslvpn/metadata.xml b/net-vpn/networkmanager-fortisslvpn/metadata.xml
index 69d7525227bc..950b680bd95b 100644
--- a/net-vpn/networkmanager-fortisslvpn/metadata.xml
+++ b/net-vpn/networkmanager-fortisslvpn/metadata.xml
@@ -9,4 +9,7 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/NetworkManager-fortisslvpn</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/net-vpn/networkmanager-fortisslvpn/networkmanager-fortisslvpn-1.4.0-r1.ebuild b/net-vpn/networkmanager-fortisslvpn/networkmanager-fortisslvpn-1.4.0-r1.ebuild
new file mode 100644
index 000000000000..fc45fedfdf22
--- /dev/null
+++ b/net-vpn/networkmanager-fortisslvpn/networkmanager-fortisslvpn-1.4.0-r1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+GNOME_ORG_MODULE="NetworkManager-${PN##*-}"
+GNOME2_LA_PUNT="yes"
+GNOME2_EAUTORECONF="yes"
+
+inherit gnome2
+
+DESCRIPTION="NetworkManager Fortinet SSLVPN compatible plugin"
+HOMEPAGE="https://wiki.gnome.org/Projects/NetworkManager"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="gtk"
+
+DEPEND="
+ >=dev-libs/glib-2.32:2
+ >=net-misc/networkmanager-1.2:=
+ gtk? (
+ >=app-crypt/libsecret-0.18
+ gui-libs/gtk:4
+ media-libs/harfbuzz
+ >=net-libs/libnma-1.2.0
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ x11-libs/pango
+ )
+"
+RDEPEND="${RDEPEND}
+ net-dialup/ppp
+ >=net-vpn/openfortivpn-1.2.0"
+BDEPEND="dev-util/gdbus-codegen
+ >=sys-devel/gettext-0.19
+ virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.4.0-ppp-2.5.0.patch
+)
+
+src_prepare() {
+ default
+
+ # Fix deprecated location, #709450
+ sed -i 's|/appdata|/metainfo|g' Makefile.{in,am} || die
+}
+
+src_configure() {
+ CONFIG_SHELL="${BROOT}"/bin/bash gnome2_src_configure \
+ --disable-static \
+ --with-dist-version=Gentoo \
+ --localstatedir=/var \
+ $(use_with gtk gnome) \
+ $(use_with gtk gtk4) \
+ --without-libnm-glib
+}
diff --git a/net-vpn/networkmanager-l2tp/files/networkmanager-l2tp-1.20.8-ppp-2.5.0.patch b/net-vpn/networkmanager-l2tp/files/networkmanager-l2tp-1.20.8-ppp-2.5.0.patch
new file mode 100644
index 000000000000..94613e0ce450
--- /dev/null
+++ b/net-vpn/networkmanager-l2tp/files/networkmanager-l2tp-1.20.8-ppp-2.5.0.patch
@@ -0,0 +1,329 @@
+https://bugs.gentoo.org/904843
+https://github.com/nm-l2tp/NetworkManager-l2tp/commit/e6860eb957208a932fb565dd7b5e79fe5a4df662
+https://github.com/nm-l2tp/NetworkManager-l2tp/commit/36a427c316a8ccd3168606f6e7fd6c8ae2b9bebf
+
+From e6860eb957208a932fb565dd7b5e79fe5a4df662 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Eivind=20N=C3=A6ss?= <eivnaes@yahoo.com>
+Date: Fri, 3 Mar 2023 05:22:13 +0000
+Subject: [PATCH] Adding support for compiling against pppd-2.5.0 (current
+ master)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Eivind Næss <eivnaes@yahoo.com>
+--- a/configure.ac
++++ b/configure.ac
+@@ -33,7 +33,10 @@ dnl
+ AC_PROG_CC
+ AM_PROG_CC_C_O
+ AC_PROG_INSTALL
++AC_PROG_CPP
++AC_PROG_EGREP
+ AC_PATH_PROG(GLIB_COMPILE_RESOURCES, glib-compile-resources)
++PKG_PROG_PKG_CONFIG()
+
+ AC_CHECK_PROG([has_file], file, yes, no)
+ if test x$has_file = xno ; then
+@@ -49,24 +52,63 @@ dnl
+ dnl Required headers
+ dnl
+ AC_HEADER_STDC
+-AC_CHECK_HEADERS(fcntl.h paths.h sys/ioctl.h sys/time.h syslog.h unistd.h)
++AC_CHECK_HEADERS([
++ fcntl.h
++ paths.h
++ stdarg.h
++ stdbool.h
++ sys/ioctl.h
++ sys/time.h
++ syslog.h
++ unistd.h
++ ])
+
+ AC_CHECK_HEADERS(pppd/pppd.h,,
+ AC_MSG_ERROR(couldn't find pppd.h. pppd development headers are required.))
+
++dnl
++dnl Check the presense of other pppd/*.h files
++AC_CHECK_HEADERS([
++ pppd/chap.h
++ pppd/chap-new.h
++ pppd/chap_ms.h
++ ])
++
++dnl
++dnl Versions >= 2.5.0 will have pkg-config support
++PKG_CHECK_EXISTS([pppd],
++ [AS_VAR_SET([pppd_pkgconfig_support],[yes])])
++
++dnl
++dnl Get the version of pppd using pkg-config, assume 2.4.9 if not present
++PPPD_VERSION=2.4.9
++if test x"$pppd_pkgconfig_support" = xyes; then
++ PPPD_VERSION=`$PKG_CONFIG --modversion pppd`
++fi
++
+ AC_ARG_WITH([pppd-plugin-dir], AS_HELP_STRING([--with-pppd-plugin-dir=DIR], [path to the pppd plugins directory]))
+
+ if test -n "$with_pppd_plugin_dir" ; then
+ PPPD_PLUGIN_DIR="$with_pppd_plugin_dir"
+ else
+- PPPD_PLUGIN_DIR="${libdir}/pppd/2.4.9"
++ PPPD_PLUGIN_DIR="${libdir}/pppd/$PPPD_VERSION"
+ fi
+ AC_SUBST(PPPD_PLUGIN_DIR)
+
++dnl The version of pppd dictates what code can be included, i.e. enable use of
++dnl #if WITH_PPP_VERSION >= PPP_VERSION(2,5,0) in the code
++AC_DEFINE_UNQUOTED([PPP_VERSION(x,y,z)],
++ [((x & 0xFF) << 16 | (y & 0xFF) << 8 | (z & 0xFF) << 0)],
++ [Macro to help determine the particular version of pppd])
++PPP_VERSION=$(echo $PPPD_VERSION | sed -e "s/\./\,/g")
++AC_DEFINE_UNQUOTED(WITH_PPP_VERSION, PPP_VERSION($PPP_VERSION),
++ [The real version of pppd represented as an int])
++
+ AC_MSG_CHECKING(whether EAP-TLS patch has been applied to pppd)
+ AC_EGREP_CPP(eaptls_passwd_hook, [
+ #define USE_EAPTLS
+ #include <pppd/pppd.h>
++#include <pppd/eap.h>
+ ], [have_eap_tls=yes] , [have_eap_tls=no])
+
+ if test "x${have_eap_tls}" = "xno"; then
+--- a/src/nm-l2tp-pppd-plugin.c
++++ b/src/nm-l2tp-pppd-plugin.c
+@@ -9,11 +9,6 @@
+ #include <config.h>
+ #define ___CONFIG_H__
+
+-/* pppd headers *sigh* */
+-#include <pppd/pppd.h>
+-#include <pppd/fsm.h>
+-#include <pppd/ipcp.h>
+-
+ #include "nm-default.h"
+
+ #include <string.h>
+@@ -25,13 +20,14 @@
+
+ #include "nm-l2tp-service.h"
+ #include "nm-ppp-status.h"
++#include "nm-l2tp-pppd-compat.h"
+
+ #include "nm-utils/nm-shared-utils.h"
+ #include "nm-utils/nm-vpn-plugin-macros.h"
+
+ int plugin_init(void);
+
+-char pppd_version[] = VERSION;
++char pppd_version[] = PPPD_VERSION;
+
+ /*****************************************************************************/
+
+@@ -146,7 +142,7 @@ nm_phasechange(void *data, int arg)
+ static void
+ nm_ip_up(void *data, int arg)
+ {
+- guint32 pppd_made_up_address = htonl (0x0a404040 + ifunit);
++ guint32 pppd_made_up_address = htonl (0x0a404040 + ppp_ifunit());
+ ipcp_options opts = ipcp_gotoptions[0];
+ ipcp_options peer_opts = ipcp_hisoptions[0];
+ GVariantBuilder builder;
+@@ -166,7 +162,7 @@ nm_ip_up(void *data, int arg)
+ g_variant_builder_add(&builder,
+ "{sv}",
+ NM_VPN_PLUGIN_IP4_CONFIG_TUNDEV,
+- g_variant_new_string(ifname));
++ g_variant_new_string(ppp_ifname()));
+
+ g_variant_builder_add(&builder,
+ "{sv}",
+@@ -343,12 +339,18 @@ plugin_init(void)
+ chap_check_hook = get_chap_check;
+ pap_passwd_hook = get_credentials;
+ pap_check_hook = get_pap_check;
+-#ifdef USE_EAPTLS
++#if defined(USE_EAPTLS) || defined(PPP_WITH_EAPTLS)
+ eaptls_passwd_hook = get_credentials;
+ #endif
+
++#if WITH_PPP_VERSION < PPP_VERSION(2,5,0)
+ add_notifier(&phasechange, nm_phasechange, NULL);
+ add_notifier(&ip_up_notifier, nm_ip_up, NULL);
+ add_notifier(&exitnotify, nm_exit_notify, NULL);
++#else
++ ppp_add_notify(NF_PHASE_CHANGE, nm_phasechange, NULL);
++ ppp_add_notify(NF_IP_UP, nm_ip_up, NULL);
++ ppp_add_notify(NF_EXIT, nm_exit_notify, NULL);
++#endif
+ return 0;
+ }
+
+From 36a427c316a8ccd3168606f6e7fd6c8ae2b9bebf Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Eivind=20N=C3=A6ss?= <eivnaes@yahoo.com>
+Date: Fri, 3 Mar 2023 05:22:13 +0000
+Subject: [PATCH] Adding support for compiling against pppd-2.5.0 (current
+ master)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Eivind Næss <eivnaes@yahoo.com>
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -99,7 +99,7 @@ src_nm_l2tp_service_SOURCES = \
+ shared/nm-l2tp-crypto-nss.c \
+ shared/utils.h \
+ shared/utils.c \
+- src/nm-ppp-status.h \
++ src/nm-l2tp-pppd-status.h \
+ src/nm-l2tp-service.h \
+ src/nm-l2tp-service.c
+ src_nm_l2tp_service_CPPFLAGS = $(src_cppflags) $(NSS_CFLAGS) $(OPENSSL_CFLAGS)
+@@ -118,7 +118,8 @@ pppd_plugin_LTLIBRARIES = src/nm-l2tp-pppd-plugin.la
+ src_nm_l2tp_pppd_plugin_la_SOURCES = \
+ $(shared_sources) \
+ src/nm-l2tp-pppd-plugin.c \
+- src/nm-ppp-status.h
++ src/nm-l2tp-pppd-compat.h \
++ src/nm-l2tp-pppd-status.h
+ src_nm_l2tp_pppd_plugin_la_CPPFLAGS = $(src_cppflags)
+ src_nm_l2tp_pppd_plugin_la_LDFLAGS = \
+ -module -avoid-version
+--- /dev/null
++++ b/src/nm-l2tp-pppd-compat.h
+@@ -0,0 +1,93 @@
++/* SPDX-License-Identifier: GPL-2.0-or-later */
++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
++/* nm-sstp-service - sstp (and other pppd) integration with NetworkManager
++ *
++ * Copyright (C) 2023 Eivind Naess, eivnaes@yahoo.com
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License along
++ * with this program; if not, write to the Free Software Foundation, Inc.,
++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
++ *
++ */
++
++#ifndef __NM_L2TP_PPPD_COMPAT_H__
++#define __NM_L2TP_PPPD_COMPAT_H__
++
++// PPP < 2.5.0 defines and exports VERSION which overlaps with current package VERSION define.
++// this silly macro magic is to work around that.
++
++#define INET6 1
++
++#undef VERSION
++#include <pppd/pppd.h>
++#ifndef PPPD_VERSION
++#define PPPD_VERSION VERSION
++#endif
++
++#include <pppd/fsm.h>
++#include <pppd/ccp.h>
++#include <pppd/eui64.h>
++#include <pppd/ipcp.h>
++#include <pppd/ipv6cp.h>
++#include <pppd/eap.h>
++#include <pppd/upap.h>
++
++#ifdef HAVE_PPPD_CHAP_H
++ #include <pppd/chap.h>
++#endif
++
++#ifdef HAVE_PPPD_CHAP_NEW_H
++ #include <pppd/chap-new.h>
++#endif
++
++#ifdef HAVE_PPPD_CHAP_MS_H
++ #include <pppd/chap_ms.h>
++#endif
++
++#ifndef PPP_PROTO_CHAP
++#define PPP_PROTO_CHAP 0xc223
++#endif
++
++#ifndef PPP_PROTO_EAP
++#define PPP_PROTO_EAP 0xc227
++#endif
++
++#if WITH_PPP_VERSION < PPP_VERSION(2,5,0)
++
++static inline bool debug_on(void)
++{
++ return debug;
++}
++
++static inline const char *ppp_ipparam(void)
++{
++ return ipparam;
++}
++
++static inline int ppp_ifunit(void)
++{
++ return ifunit;
++}
++
++static inline const char *ppp_ifname(void)
++{
++ return ifname;
++}
++
++static inline int ppp_get_mtu(int idx)
++{
++ return netif_get_mtu(idx);
++}
++
++#endif // #if WITH_PPP_VERSION < PPP_VERSION(2,5,0)
++#endif // #ifdef __NM_L2TP_PPPD_COMPAT_H__
+--- a/src/nm-l2tp-pppd-plugin.c
++++ b/src/nm-l2tp-pppd-plugin.c
+@@ -9,8 +9,6 @@
+ #include <config.h>
+ #define ___CONFIG_H__
+
+-#include "nm-default.h"
+-
+ #include <string.h>
+ #include <stdlib.h>
+ #include <sys/socket.h>
+@@ -18,10 +16,11 @@
+ #include <arpa/inet.h>
+ #include <dlfcn.h>
+
+-#include "nm-l2tp-service.h"
+-#include "nm-ppp-status.h"
++#include "nm-l2tp-pppd-status.h"
+ #include "nm-l2tp-pppd-compat.h"
+
++#include "nm-default.h"
++#include "nm-l2tp-service.h"
+ #include "nm-utils/nm-shared-utils.h"
+ #include "nm-utils/nm-vpn-plugin-macros.h"
+
+similarity index 100%
+rename from src/nm-ppp-status.h
+rename to src/nm-l2tp-pppd-status.h
+--- a/src/nm-l2tp-service.c
++++ b/src/nm-l2tp-service.c
+@@ -36,7 +36,7 @@
+ #include <arpa/inet.h>
+ #include <netdb.h>
+
+-#include "nm-ppp-status.h"
++#include "nm-l2tp-pppd-status.h"
+ #include "nm-l2tp-pppd-service-dbus.h"
+ #include "nm-utils/nm-shared-utils.h"
+ #include "nm-utils/nm-secret-utils.h"
+
diff --git a/net-vpn/networkmanager-l2tp/networkmanager-l2tp-1.20.8-r1.ebuild b/net-vpn/networkmanager-l2tp/networkmanager-l2tp-1.20.8-r1.ebuild
new file mode 100644
index 000000000000..d82863ed321b
--- /dev/null
+++ b/net-vpn/networkmanager-l2tp/networkmanager-l2tp-1.20.8-r1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="NetworkManager-l2tp"
+MY_P="${MY_PN}-${PV}"
+GNOME2_EAUTORECONF="yes"
+inherit gnome.org
+
+DESCRIPTION="NetworkManager L2TP plugin"
+HOMEPAGE="https://github.com/nm-l2tp/NetworkManager-l2tp"
+SRC_URI="https://github.com/nm-l2tp/${MY_PN}/releases/download/${PV}/${MY_P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="gtk"
+
+COMMON_DEPEND="dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ dev-libs/openssl:=
+ net-dialup/ppp:=[eap-tls(+)]
+ net-dialup/xl2tpd
+ >=net-misc/networkmanager-1.20[ppp]
+ || (
+ net-vpn/strongswan
+ net-vpn/libreswan
+ )
+ gtk? (
+ app-crypt/libsecret
+ gnome-extra/nm-applet
+ media-libs/harfbuzz:=
+ net-libs/libnma
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3
+ x11-libs/pango
+ )"
+DEPEND="${COMMON_DEPEND}
+ x11-base/xorg-proto"
+RDEPEND="${COMMON_DEPEND}
+ dev-libs/dbus-glib"
+BDEPEND="dev-util/gdbus-codegen
+ dev-util/intltool
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.20.8-ppp-2.5.0.patch
+)
+
+src_configure() {
+ local PPPD_VER=$(best_version net-dialup/ppp)
+ PPPD_VER=${PPPD_VER#*/*-} # reduce it to ${PV}-${PR}
+ PPPD_VER=${PPPD_VER%%[_-]*} # main version without beta/pre/patch/revision
+
+ local myeconfargs=(
+ --localstatedir=/var
+ --with-pppd-plugin-dir=/usr/$(get_libdir)/pppd/${PPPD_VER}
+ $(use_with gtk gnome)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/net-vpn/networkmanager-l2tp/networkmanager-l2tp-1.20.8.ebuild b/net-vpn/networkmanager-l2tp/networkmanager-l2tp-1.20.8.ebuild
index cfc6b1c20e10..c4c3ee77c566 100644
--- a/net-vpn/networkmanager-l2tp/networkmanager-l2tp-1.20.8.ebuild
+++ b/net-vpn/networkmanager-l2tp/networkmanager-l2tp-1.20.8.ebuild
@@ -21,7 +21,7 @@ COMMON_DEPEND="dev-libs/glib:2
dev-libs/nspr
dev-libs/nss
dev-libs/openssl:=
- net-dialup/ppp:=[eap-tls]
+ net-dialup/ppp:=[eap-tls(+)]
net-dialup/xl2tpd
>=net-misc/networkmanager-1.20[ppp]
|| (
diff --git a/net-vpn/networkmanager-sstp/Manifest b/net-vpn/networkmanager-sstp/Manifest
index bf82371c62e3..a738245b131b 100644
--- a/net-vpn/networkmanager-sstp/Manifest
+++ b/net-vpn/networkmanager-sstp/Manifest
@@ -1 +1,3 @@
DIST NetworkManager-sstp-1.3.0.tar.bz2 548907 BLAKE2B 97248268a781033bc960f930c5a55102e9fa76efa4be6477ffd277fd334649625b6c88418f00d678afa4412fb088cd201ef6711ef6f48b516daaa38fac02caa9 SHA512 9a26c737601990b913d9506ecaac957c4f6d2a4c64a3a0eb8beaf93eaef797ed134b2ddfe2421006a7ffe0dbd18800d49501836f3671f798132a1df707da138a
+DIST NetworkManager-sstp-1.3.1.tar.xz 508392 BLAKE2B 1ead40fa9c8f5bb48b8f7d6d7f6593812849cc26778c531c17a247f60969dbb8d72f477057e4ec7ec838425c3bd21a922b1a65235b72da0bee813f75540a928b SHA512 10247931a2b951b1126a6d7b9bd396fe2eab58d575888c409430f311baeaab85468f23a6c5b6afb7bef90bf73d1e2dbc2f5750cfb126dd365db23b3f79dd7ca6
+DIST networkmanager-sstp-1.3.1-ppp-2.5.0-patches.tar.xz 6792 BLAKE2B 58470f9e04be67029ad57cb2bddb3c80dd503ac5bfc2916683e7d6b4a9332aedb58883bc364a2317c31a8d871888662dbf6431c92753b6fd20b6ae873e45d96e SHA512 ee41eb9aba27e457ba5a8cba9ba27a98991f33750b8202c42ce8be2227bd6c1491bf8861b9e05cc1b3f97ea1bf93d60f5b5f83db3eefbed82ef8aff104ecba95
diff --git a/net-vpn/networkmanager-sstp/networkmanager-sstp-1.3.1.ebuild b/net-vpn/networkmanager-sstp/networkmanager-sstp-1.3.1.ebuild
new file mode 100644
index 000000000000..298583848ed7
--- /dev/null
+++ b/net-vpn/networkmanager-sstp/networkmanager-sstp-1.3.1.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="NetworkManager-sstp"
+MY_P="${MY_PN}-${PV}"
+
+inherit autotools
+
+DESCRIPTION="Client for the proprietary Microsoft Secure Socket Tunneling Protocol(SSTP)"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/network-manager-sstp https://sourceforge.net/projects/sstp-client/"
+SRC_URI="https://gitlab.gnome.org/GNOME/network-manager-sstp/-/releases/release-${PV}/downloads/dist/${MY_P}.tar.xz"
+SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-ppp-2.5.0-patches.tar.xz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="gui gtk4"
+
+# As of 1.3.0, if want GUI support, GTK 3 is always needed, even with GTK 4.
+# atk/graphene/harfbuzz/cairo/gdk-pixbuf/pango are all standard "dragged in by gtk/glib"
+# deps.
+RDEPEND=">=dev-libs/glib-2.32:2
+ net-misc/sstp-client
+ >=net-misc/networkmanager-1.1.0
+ net-dialup/ppp:=
+ net-libs/gnutls:=
+ gui? (
+ >=net-libs/libnma-1.2.0
+ >=app-crypt/libsecret-0.18
+ >=x11-libs/gtk+-3.4:3
+
+ gtk4? (
+ dev-libs/atk
+ media-libs/graphene
+ media-libs/harfbuzz:=
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/pango
+
+ gui-libs/gtk:4
+ )
+ )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-util/gdbus-codegen
+ sys-apps/file
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${WORKDIR}"/${P}-ppp-2.5.0-patches
+)
+
+src_prepare() {
+ default
+
+ # Bug #741108
+ sed -i 's|/appdata|/metainfo|g' Makefile.{in,am} || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local PPPD_VER="$(best_version net-dialup/ppp)"
+ # Reduce it to ${PV}-${PR}
+ PPPD_VER=${PPPD_VER#*/*-}
+ # Main version without beta/pre/patch/revision
+ PPPD_VER=${PPPD_VER%%[_-]*}
+
+ econf \
+ --disable-more-warnings \
+ --with-dist-version=Gentoo \
+ --with-pppd-plugin-dir="${EPREFIX}/usr/$(get_libdir)/pppd/${PPPD_VER}" \
+ $(use_with gui gnome) \
+ $(use_with gtk4) \
+ --without-libnm-glib
+}
+
+src_install() {
+ default
+
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/profiles/package.mask b/profiles/package.mask
index 82d4e4f10de3..02faf4cc7e38 100644
--- a/profiles/package.mask
+++ b/profiles/package.mask
@@ -541,6 +541,7 @@ dev-qt/qtwayland:6
dev-qt/qtwebchannel:6
dev-qt/qtwebengine:6
dev-qt/qtwebsockets:6
+>=games-board/tetzle-2.2.2
>=media-video/bino-2
>=x11-misc/albert-0.20.13
diff --git a/sys-apps/nvme-cli/nvme-cli-2.3.ebuild b/sys-apps/nvme-cli/nvme-cli-2.3.ebuild
index fd549dd99719..6c230c4137fb 100644
--- a/sys-apps/nvme-cli/nvme-cli-2.3.ebuild
+++ b/sys-apps/nvme-cli/nvme-cli-2.3.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/linux-nvme/nvme-cli/archive/v${PV}.tar.gz -> ${P}.gh
LICENSE="GPL-2 GPL-2+"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm64 ~loong ppc64 ~riscv ~x86"
IUSE="hugepages"
RDEPEND="
diff --git a/www-misc/monitorix/monitorix-3.15.0.ebuild b/www-misc/monitorix/monitorix-3.15.0.ebuild
index 005ac2f5bda9..6c77b32657b6 100644
--- a/www-misc/monitorix/monitorix-3.15.0.ebuild
+++ b/www-misc/monitorix/monitorix-3.15.0.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://www.monitorix.org/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
RDEPEND="
acct-group/monitorix