--- /usr/portage/net-wireless/wpa_supplicant/wpa_supplicant-2.9-r1.ebuild 2019-11-25 19:09:35.000000000 +0100 +++ wpa_supplicant-2.9-r1.ebuild 2020-01-01 20:26:34.498408028 +0100 @@ -3,7 +3,7 @@ EAPI=6 -inherit eutils qmake-utils systemd toolchain-funcs readme.gentoo-r1 +inherit eutils qmake-utils systemd toolchain-funcs readme.gentoo-r1 linux-info DESCRIPTION="IEEE 802.1X/WPA supplicant for secure wireless transfers" HOMEPAGE="https://w1.fi/wpa_supplicant/" @@ -18,7 +18,7 @@ fi SLOT="0" -IUSE="ap bindist dbus eap-sim eapol_test fasteap +fils +hs2-0 libressl macsec p2p privsep ps3 qt5 readline selinux smartcard tdls uncommon-eap-types wimax wps kernel_linux kernel_FreeBSD" +IUSE="ap bindist +crda dbus eap-sim eapol_test fasteap +fils +hs2-0 libressl macsec 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 @@ -31,7 +31,6 @@ CDEPEND="dbus? ( sys-apps/dbus ) kernel_linux? ( dev-libs/libnl:3 - net-wireless/crda eap-sim? ( sys-apps/pcsc-lite ) ) !kernel_linux? ( net-libs/libpcap ) @@ -53,6 +52,10 @@ " RDEPEND="${CDEPEND} selinux? ( sec-policy/selinux-networkmanager ) + kernel_linux? ( + net-wireless/wireless-regdb + crda? ( net-wireless/crda ) + ) " DOC_CONTENTS=" @@ -85,6 +88,30 @@ 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 "" + 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." + ewarn "" + fi + fi +} + src_prepare() { default