summaryrefslogtreecommitdiff
path: root/net-wireless/wpa_supplicant/wpa_supplicant-9999.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'net-wireless/wpa_supplicant/wpa_supplicant-9999.ebuild')
-rw-r--r--net-wireless/wpa_supplicant/wpa_supplicant-9999.ebuild74
1 files changed, 47 insertions, 27 deletions
diff --git a/net-wireless/wpa_supplicant/wpa_supplicant-9999.ebuild b/net-wireless/wpa_supplicant/wpa_supplicant-9999.ebuild
index 97cde554f0db..132825beb46c 100644
--- a/net-wireless/wpa_supplicant/wpa_supplicant-9999.ebuild
+++ b/net-wireless/wpa_supplicant/wpa_supplicant-9999.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-inherit desktop qmake-utils readme.gentoo-r1 systemd toolchain-funcs
+inherit desktop linux-info qmake-utils readme.gentoo-r1 systemd toolchain-funcs
DESCRIPTION="IEEE 802.1X/WPA supplicant for secure wireless transfers"
HOMEPAGE="https://w1.fi/wpa_supplicant/"
@@ -13,12 +13,13 @@ if [ "${PV}" = "9999" ]; then
inherit git-r3
EGIT_REPO_URI="https://w1.fi/hostap.git"
else
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
SRC_URI="https://w1.fi/releases/${P}.tar.gz"
+ SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-2.9-r3-patches.tar.bz2"
fi
SLOT="0"
-IUSE="ap bindist broadcom-sta dbus eap-sim eapol-test fasteap +fils +hs2-0 macsec +mbo +mesh p2p privsep ps3 qt5 readline selinux smartcard tdls uncommon-eap-types wimax wps kernel_linux kernel_FreeBSD"
+IUSE="ap +crda broadcom-sta dbus eap-sim eapol-test fasteap +fils +hs2-0 macsec +mbo +mesh p2p privsep ps3 qt5 readline selinux smartcard tdls uncommon-eap-types wimax wps kernel_linux kernel_FreeBSD"
# CONFIG_PRIVSEP=y does not have sufficient support for the new driver
# interface functions used for MACsec, so this combination cannot be used
@@ -30,11 +31,10 @@ REQUIRED_USE="
"
DEPEND="
- >=dev-libs/openssl-1.0.2k:0=[bindist(-)=]
+ >=dev-libs/openssl-1.0.2k:=
dbus? ( sys-apps/dbus )
kernel_linux? (
dev-libs/libnl:3
- net-wireless/crda
eap-sim? ( sys-apps/pcsc-lite )
)
!kernel_linux? ( net-libs/libpcap )
@@ -51,6 +51,10 @@ DEPEND="
"
RDEPEND="${DEPEND}
selinux? ( sec-policy/selinux-networkmanager )
+ kernel_linux? (
+ net-wireless/wireless-regdb
+ crda? ( net-wireless/crda )
+ )
"
BDEPEND="virtual/pkgconfig"
@@ -84,6 +88,28 @@ Kconfig_style_config() {
fi
}
+pkg_pretend() {
+ CONFIG_CHECK=""
+
+ if use crda ; then
+ CONFIG_CHECK="${CONFIG_CHECK} ~CFG80211_CRDA_SUPPORT"
+ WARNING_CFG80211_CRDA_SUPPORT="REGULATORY DOMAIN PROBLEM: please enable CFG80211_CRDA_SUPPORT for proper regulatory domain support"
+ fi
+
+ check_extra_config
+
+ if ! use crda ; then
+ if linux_config_exists && linux_chkconfig_builtin CFG80211 &&
+ [[ $(linux_chkconfig_string EXTRA_FIRMWARE) != *regulatory.db* ]]
+ then
+ ewarn "REGULATORY DOMAIN PROBLEM:"
+ ewarn "With CONFIG_CFG80211=y (built-in), the driver won't be able to load regulatory.db from"
+ ewarn " /lib/firmware, resulting in broken regulatory domain support. Please set CONFIG_CFG80211=m"
+ ewarn " or add regulatory.db and regulatory.db.p7s to CONFIG_EXTRA_FIRMWARE."
+ fi
+ fi
+}
+
src_prepare() {
default
@@ -230,24 +256,23 @@ src_configure() {
Kconfig_style_config TLS openssl
Kconfig_style_config FST
- if ! use bindist ; then
- Kconfig_style_config EAP_PWD
- if use fils; then
- Kconfig_style_config FILS
- Kconfig_style_config FILS_SK_PFS
- fi
- if use mesh; then
- Kconfig_style_config MESH
- else
- Kconfig_style_config MESH n
- fi
- #WPA3
- Kconfig_style_config OWE
- Kconfig_style_config SAE
- Kconfig_style_config DPP
- Kconfig_style_config SUITEB192
- Kconfig_style_config SUITEB
+
+ Kconfig_style_config EAP_PWD
+ if use fils; then
+ Kconfig_style_config FILS
+ Kconfig_style_config FILS_SK_PFS
fi
+ if use mesh; then
+ Kconfig_style_config MESH
+ else
+ Kconfig_style_config MESH n
+ fi
+ # WPA3
+ Kconfig_style_config OWE
+ Kconfig_style_config SAE
+ Kconfig_style_config DPP
+ Kconfig_style_config SUITEB192
+ Kconfig_style_config SUITEB
if use smartcard ; then
Kconfig_style_config SMARTCARD
@@ -444,11 +469,6 @@ pkg_postinst() {
ewarn "needs to be moved to ${EROOT}/etc/wpa_supplicant/wpa_supplicant.conf"
fi
- if use bindist; then
- ewarn "Using bindist use flag presently breaks WPA3 (specifically SAE, OWE, DPP, and FILS)."
- ewarn "This is incredibly undesirable"
- fi
-
# Mea culpa, feel free to remove that after some time --mgorny.
local fn
for fn in wpa_supplicant{,@wlan0}.service; do