summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-wireless/iwd')
-rw-r--r--net-wireless/iwd/Manifest5
-rw-r--r--net-wireless/iwd/files/iwd-1.17-fix-tests.patch35
-rw-r--r--net-wireless/iwd/files/iwd-1.18-musl-backport.patch30
-rw-r--r--net-wireless/iwd/files/iwd.initd12
-rw-r--r--net-wireless/iwd/iwd-1.18.ebuild186
-rw-r--r--net-wireless/iwd/iwd-2.14.ebuild (renamed from net-wireless/iwd/iwd-1.19.ebuild)68
-rw-r--r--net-wireless/iwd/iwd-2.17.ebuild (renamed from net-wireless/iwd/iwd-1.20.ebuild)68
-rw-r--r--net-wireless/iwd/iwd-9999.ebuild64
-rw-r--r--net-wireless/iwd/metadata.xml1
9 files changed, 78 insertions, 391 deletions
diff --git a/net-wireless/iwd/Manifest b/net-wireless/iwd/Manifest
index 6b111900967f..87f14a2d8a01 100644
--- a/net-wireless/iwd/Manifest
+++ b/net-wireless/iwd/Manifest
@@ -1,3 +1,2 @@
-DIST iwd-1.18.tar.xz 961392 BLAKE2B 3c7b0a7996590435d8f8033ab0b6283b2860409064c8617eda51ecbd73102134bbced66bb4e1323b64563e21d52beaa7f88ae5168747a5a2a38355e266f9c3a4 SHA512 85c3e16bb8eb8e564072fab66b30d1636c853706546fcb35723b4b3339bcf969f08ca07bcd458521f044f407513f5d793724b316af4b7819def8400ed88f0d3b
-DIST iwd-1.19.tar.xz 972652 BLAKE2B ff93a1e26ad6afd90d1c92865e2c26c0722b5f1e0a8bba73c37569b0dfac2923e68ab4459dc83dff1bd14364f473b531f967466a2cd70b258ee13c45ce1eb03a SHA512 67544433107ff95ccfc39853a65348c5602495532a40ff6dce3c0e5dc492aa2a6cce281db9b8a1e9f2a1e5c2e712b8adce0b088d340605c9947aa6fe859fa87d
-DIST iwd-1.20.tar.xz 973964 BLAKE2B 750368aec999b988aaaed34454a1a15a75fa9c37ce4523715156c1bc89e343aad62c0d0f0ef5f798a75b19a271175f05517e641f3e2a6e502d932da8e1cfff63 SHA512 1a272492d101bd6ec22df16d98895ce03aa8470b35a7b3c36e5431239e519f74fae81f8bee25e52ce7705459b42e37298778f671a39e98787ddb1b9881521847
+DIST iwd-2.14.tar.xz 1082236 BLAKE2B ae50866ad0b3f0139352467f50b9babf054a91ec3c6298ac79842fa91f6df6802ea2b1e51688dce8d6487210b923a84b546a0afe996df7be9bad5eeb13129a7b SHA512 6af763d8dda4a8e99d96a6c94a72c16d298274fb224cc11912b4ec9eb8c80b599b49145b0fc979f213d14f6af100eb03477b6140272d303277d851eb8c8f9e07
+DIST iwd-2.17.tar.xz 1083756 BLAKE2B f930c13cafa7bcfe30b481891d2a8a7a439b316aaafb5ca9b05b2c2123cfe76ec032e8194e3bf1de34ce4330016a14c7fc316d15c03428f7832213220789f486 SHA512 06630fa1fdedbe82dc294eb0b44b542e79c11c09ffed8d8dcd4e38089ab43b8f5fbcfb2af29df494441fd54bc87d76c988fde2c639c219a890bbc45de3fff53d
diff --git a/net-wireless/iwd/files/iwd-1.17-fix-tests.patch b/net-wireless/iwd/files/iwd-1.17-fix-tests.patch
deleted file mode 100644
index cf3de4c1d38f..000000000000
--- a/net-wireless/iwd/files/iwd-1.17-fix-tests.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From ed10b00afa3f4c087b46d7ba0b60a47bd05d8b39 Mon Sep 17 00:00:00 2001
-From: Denis Kenzior <denkenz@gmail.com>
-Date: Mon, 23 Aug 2021 08:51:35 -0500
-Subject: unit: Fix eapol IP Allocation test failure
-
-This test was failing due to a change introduced in commit
-5c9de0cf23f9 which changed handshake state storage of IPs from host
-order to network byte order. Update the test to set IPs in network
-byte-order.
-
-Fixes: 5c9de0cf23f9 ("eapol: Store IP address in network byte order")
----
- unit/test-eapol.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/unit/test-eapol.c b/unit/test-eapol.c
-index b6a6adcb..470e0e9f 100644
---- a/unit/test-eapol.c
-+++ b/unit/test-eapol.c
-@@ -3802,9 +3802,9 @@ static void eapol_ap_sta_handshake_ip_alloc_ok_test(const void *data)
- handshake_state_set_ssid(s.ap_hs, (void *) ssid, strlen(ssid));
- handshake_state_set_pmk(s.ap_hs, psk, 32);
- s.ap_hs->support_ip_allocation = true;
-- s.ap_hs->client_ip_addr = 0x01020304;
-- s.ap_hs->subnet_mask = 0xffff0000;
-- s.ap_hs->go_ip_addr = 0x01020305;
-+ s.ap_hs->client_ip_addr = L_CPU_TO_BE32(0x01020304);
-+ s.ap_hs->subnet_mask = L_CPU_TO_BE32(0xffff0000);
-+ s.ap_hs->go_ip_addr = L_CPU_TO_BE32(0x01020305);
-
- handshake_state_set_authenticator(s.sta_hs, false);
- handshake_state_set_event_func(s.sta_hs, test_ap_sta_hs_event, &s);
---
-cgit 1.2.3-1.el7
-
diff --git a/net-wireless/iwd/files/iwd-1.18-musl-backport.patch b/net-wireless/iwd/files/iwd-1.18-musl-backport.patch
deleted file mode 100644
index 99371ca3bb4e..000000000000
--- a/net-wireless/iwd/files/iwd-1.18-musl-backport.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 42bd5ba7c2665c5bf95ba102a8115c4cf01d31d7 Mon Sep 17 00:00:00 2001
-From: Andrew Zaborowski <andrew.zaborowski@intel.com>
-Date: Thu, 16 Sep 2021 01:58:29 +0200
-Subject: netconfig: Remove usage of in6_addr.__in6_u
-
-in6_addr.__in6_u.__u6_addr8 is glibc-specific and named differently in
-the headers shipped with musl libc for example. The POSIX compliant and
-universal way of accessing it is in6_addr.s6_addr.
----
- src/netconfig.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-(limited to 'src/netconfig.c')
-
-diff --git a/src/netconfig.c b/src/netconfig.c
-index ce95db0b..421270c9 100644
---- a/src/netconfig.c
-+++ b/src/netconfig.c
-@@ -171,7 +171,7 @@ static inline char *netconfig_ipv6_to_string(const uint8_t *addr)
- struct in6_addr in6_addr;
- char *addr_str = l_malloc(INET6_ADDRSTRLEN);
-
-- memcpy(in6_addr.__in6_u.__u6_addr8, addr, 16);
-+ memcpy(in6_addr.s6_addr, addr, 16);
-
- if (L_WARN_ON(unlikely(!inet_ntop(AF_INET6, &in6_addr, addr_str,
- INET6_ADDRSTRLEN)))) {
---
-cgit 1.2.3-1.el7
-
diff --git a/net-wireless/iwd/files/iwd.initd b/net-wireless/iwd/files/iwd.initd
deleted file mode 100644
index 12983c1ab2d0..000000000000
--- a/net-wireless/iwd/files/iwd.initd
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-pidfile="/run/iwd.pid"
-command="/usr/libexec/iwd"
-command_background="yes"
-
-depend() {
- need dbus
- keyword -shutdown
-}
diff --git a/net-wireless/iwd/iwd-1.18.ebuild b/net-wireless/iwd/iwd-1.18.ebuild
deleted file mode 100644
index 92aca7db05e3..000000000000
--- a/net-wireless/iwd/iwd-1.18.ebuild
+++ /dev/null
@@ -1,186 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit flag-o-matic linux-info systemd
-
-#Set this variable to the required external ell version
-ELL_REQ="0.44"
-
-if [[ ${PV} == *9999* ]]; then
- inherit autotools git-r3
- IWD_EGIT_REPO_URI="https://git.kernel.org/pub/scm/network/wireless/iwd.git"
- ELL_EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/ell/ell.git"
-else
- SRC_URI="https://www.kernel.org/pub/linux/network/wireless/${P}.tar.xz"
- KEYWORDS="~alpha amd64 arm arm64 ~ia64 ppc ppc64 ~riscv ~sparc x86"
- MYRST2MAN="RST2MAN=:"
-fi
-
-DESCRIPTION="Wireless daemon for linux"
-HOMEPAGE="https://git.kernel.org/pub/scm/network/wireless/iwd.git/"
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="+client cpu_flags_x86_aes cpu_flags_x86_ssse3 +crda elibc_musl +monitor ofono
-standalone systemd wired"
-
-DEPEND="
- sys-apps/dbus
- client? ( sys-libs/readline:0= )
-"
-
-[[ -z "${ELL_REQ}" ]] || DEPEND+=" ~dev-libs/ell-${ELL_REQ}"
-
-RDEPEND="
- ${DEPEND}
- net-wireless/wireless-regdb
- crda? ( net-wireless/crda )
- standalone? (
- systemd? ( sys-apps/systemd )
- !systemd? ( virtual/resolvconf )
- )
-"
-
-BDEPEND="
- virtual/pkgconfig
-"
-
-[[ ${PV} == *9999* ]] && BDEPEND+=" dev-python/docutils"
-
-PATCHES=( "${FILESDIR}"/iwd-1.17-fix-tests.patch )
-
-pkg_setup() {
- CONFIG_CHECK="
- ~ASYMMETRIC_KEY_TYPE
- ~ASYMMETRIC_PUBLIC_KEY_SUBTYPE
- ~CFG80211
- ~CRYPTO_AES
- ~CRYPTO_CBC
- ~CRYPTO_CMAC
- ~CRYPTO_DES
- ~CRYPTO_ECB
- ~CRYPTO_HMAC
- ~CRYPTO_MD4
- ~CRYPTO_MD5
- ~CRYPTO_RSA
- ~CRYPTO_SHA1
- ~CRYPTO_SHA256
- ~CRYPTO_SHA512
- ~CRYPTO_USER_API_HASH
- ~CRYPTO_USER_API_SKCIPHER
- ~KEY_DH_OPERATIONS
- ~PKCS7_MESSAGE_PARSER
- ~RFKILL
- ~X509_CERTIFICATE_PARSER
- "
- 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
-
- if use amd64;then
- CONFIG_CHECK="${CONFIG_CHECK} ~CRYPTO_DES3_EDE_X86_64"
- WARNING_CRYPTO_DES3_EDE_X86_64="CRYPTO_DES3_EDE_X86_64: enable for increased performance"
- fi
-
- if use cpu_flags_x86_aes;then
- CONFIG_CHECK="${CONFIG_CHECK} ~CRYPTO_AES_NI_INTEL"
- WARNING_CRYPTO_AES_NI_INTEL="CRYPTO_AES_NI_INTEL: enable for increased performance"
- fi
-
- if use cpu_flags_x86_ssse3 && use amd64; then
- CONFIG_CHECK="${CONFIG_CHECK} ~CRYPTO_SHA1_SSSE3 ~CRYPTO_SHA256_SSSE3 ~CRYPTO_SHA512_SSSE3"
- WARNING_CRYPTO_SHA1_SSSE3="CRYPTO_SHA1_SSSE3: enable for increased performance"
- WARNING_CRYPTO_SHA256_SSSE3="CRYPTO_SHA256_SSSE3: enable for increased performance"
- WARNING_CRYPTO_SHA512_SSSE3="CRYPTO_SHA512_SSSE3: enable for increased performance"
- fi
-
- if use kernel_linux && kernel_is -ge 4 20; then
- CONFIG_CHECK="${CONFIG_CHECK} ~PKCS8_PRIVATE_KEY_PARSER"
- fi
-
- check_extra_config
-
- if ! use crda; then
- if use kernel_linux && kernel_is -lt 4 15; then
- ewarn "POSSIBLE REGULATORY DOMAIN PROBLEM:"
- ewarn "Regulatory domain support for kernels older than 4.15 requires crda."
- fi
- 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_unpack() {
- if [[ ${PV} == *9999* ]] ; then
- EGIT_REPO_URI=${IWD_EGIT_REPO_URI} git-r3_src_unpack
- EGIT_REPO_URI=${ELL_EGIT_REPO_URI} EGIT_CHECKOUT_DIR=${WORKDIR}/ell git-r3_src_unpack
- else
- default
- fi
-}
-
-src_prepare() {
- default
- use elibc_musl && eapply "${FILESDIR}"/iwd-1.18-musl-backport.patch
- if [[ ${PV} == *9999* ]] ; then
- eautoreconf
- fi
-}
-
-src_configure() {
- append-cflags "-fsigned-char"
- local myeconfargs=(
- --sysconfdir="${EPREFIX}"/etc/iwd --localstatedir="${EPREFIX}"/var
- $(use_enable client)
- $(use_enable monitor)
- $(use_enable ofono)
- $(use_enable wired)
- --enable-systemd-service
- --with-systemd-unitdir="$(systemd_get_systemunitdir)"
- --with-systemd-modloaddir="${EPREFIX}/usr/lib/modules-load.d"
- --with-systemd-networkdir="$(systemd_get_utildir)/network"
- )
- [[ ${PV} == *9999* ]] || myeconfargs+=(--enable-external-ell)
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- emake ${MYRST2MAN}
-}
-
-src_install() {
- emake DESTDIR="${D}" ${MYRST2MAN} install
- keepdir /var/lib/${PN}
-
- newinitd "${FILESDIR}/iwd.initd-r1" iwd
-
- if use wired;then
- newinitd "${FILESDIR}/ead.initd" ead
- fi
-
- if [[ ${PV} == *9999* ]] ; then
- exeinto /usr/share/iwd/scripts/
- doexe test/*
- fi
-
- if use standalone ; then
- local iwdconf="${ED}/etc/iwd/main.conf"
- dodir /etc/iwd
- echo "[General]" > "${iwdconf}"
- echo "EnableNetworkConfiguration=true" >> "${iwdconf}"
- echo "[Network]" >> "${iwdconf}"
- echo "NameResolvingService=$(usex systemd systemd resolvconf)" >> "${iwdconf}"
- dodir /etc/conf.d
- echo "rc_provide=\"net\"" > ${ED}/etc/conf.d/iwd
- fi
-}
diff --git a/net-wireless/iwd/iwd-1.19.ebuild b/net-wireless/iwd/iwd-2.14.ebuild
index a118b5d4477c..df0197633a75 100644
--- a/net-wireless/iwd/iwd-1.19.ebuild
+++ b/net-wireless/iwd/iwd-2.14.ebuild
@@ -1,19 +1,19 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit flag-o-matic linux-info systemd
#Set this variable to the required external ell version
-ELL_REQ="0.45"
+ELL_REQ="0.62"
if [[ ${PV} == *9999* ]]; then
inherit autotools git-r3
IWD_EGIT_REPO_URI="https://git.kernel.org/pub/scm/network/wireless/iwd.git"
ELL_EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/ell/ell.git"
else
- SRC_URI="https://www.kernel.org/pub/linux/network/wireless/${P}.tar.xz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ SRC_URI="https://mirrors.edge.kernel.org/pub/linux/network/wireless/${P}.tar.xz"
+ KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86"
MYRST2MAN="RST2MAN=:"
fi
@@ -22,20 +22,20 @@ HOMEPAGE="https://git.kernel.org/pub/scm/network/wireless/iwd.git/"
LICENSE="GPL-2"
SLOT="0"
-IUSE="+client cpu_flags_x86_aes cpu_flags_x86_ssse3 +crda elibc_musl +monitor ofono
-standalone systemd wired"
+IUSE="+client cpu_flags_x86_aes cpu_flags_x86_ssse3 +monitor ofono selinux standalone systemd wired"
DEPEND="
sys-apps/dbus
client? ( sys-libs/readline:0= )
"
-[[ -z "${ELL_REQ}" ]] || DEPEND+=" ~dev-libs/ell-${ELL_REQ}"
+[[ -z "${ELL_REQ}" ]] || DEPEND+=" >=dev-libs/ell-${ELL_REQ}"
RDEPEND="
${DEPEND}
+ acct-group/netdev
net-wireless/wireless-regdb
- crda? ( net-wireless/crda )
+ selinux? ( sec-policy/selinux-networkmanager )
standalone? (
systemd? ( sys-apps/systemd )
!systemd? ( virtual/resolvconf )
@@ -72,10 +72,6 @@ pkg_setup() {
~RFKILL
~X509_CERTIFICATE_PARSER
"
- 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
if use amd64;then
CONFIG_CHECK="${CONFIG_CHECK} ~CRYPTO_DES3_EDE_X86_64"
@@ -99,23 +95,6 @@ pkg_setup() {
fi
check_extra_config
-
- if ! use crda; then
- if use kernel_linux && kernel_is -lt 4 15; then
- ewarn "POSSIBLE REGULATORY DOMAIN PROBLEM:"
- ewarn "Regulatory domain support for kernels older than 4.15 requires crda."
- fi
- 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_unpack() {
@@ -132,16 +111,18 @@ src_prepare() {
if [[ ${PV} == *9999* ]] ; then
eautoreconf
fi
+
+ sed -e "s:Exec=/bin/false:Exec=${EPREFIX}/usr/libexec/iwd:g" -i src/net.connman.iwd.service || die
}
src_configure() {
append-cflags "-fsigned-char"
local myeconfargs=(
--sysconfdir="${EPREFIX}"/etc/iwd --localstatedir="${EPREFIX}"/var
- $(use_enable client)
- $(use_enable monitor)
- $(use_enable ofono)
- $(use_enable wired)
+ "$(use_enable client)"
+ "$(use_enable monitor)"
+ "$(use_enable ofono)"
+ "$(use_enable wired)"
--enable-systemd-service
--with-systemd-unitdir="$(systemd_get_systemunitdir)"
--with-systemd-modloaddir="${EPREFIX}/usr/lib/modules-load.d"
@@ -152,12 +133,12 @@ src_configure() {
}
src_compile() {
- emake ${MYRST2MAN}
+ emake "${MYRST2MAN}"
}
src_install() {
- emake DESTDIR="${D}" ${MYRST2MAN} install
- keepdir /var/lib/${PN}
+ emake DESTDIR="${D}" "${MYRST2MAN}" install
+ keepdir "/var/lib/${PN}"
newinitd "${FILESDIR}/iwd.initd-r1" iwd
@@ -173,11 +154,14 @@ src_install() {
if use standalone ; then
local iwdconf="${ED}/etc/iwd/main.conf"
dodir /etc/iwd
- echo "[General]" > "${iwdconf}"
- echo "EnableNetworkConfiguration=true" >> "${iwdconf}"
- echo "[Network]" >> "${iwdconf}"
- echo "NameResolvingService=$(usex systemd systemd resolvconf)" >> "${iwdconf}"
+ cat << EOF > "${iwdconf}"
+[General]
+EnableNetworkConfiguration=true
+
+[Network]
+NameResolvingService=$(usex systemd systemd resolvconf)
+EOF
dodir /etc/conf.d
- echo "rc_provide=\"net\"" > ${ED}/etc/conf.d/iwd
+ echo "rc_provide=\"net\"" > "${ED}"/etc/conf.d/iwd
fi
}
diff --git a/net-wireless/iwd/iwd-1.20.ebuild b/net-wireless/iwd/iwd-2.17.ebuild
index fc8912d9f284..61cdba524661 100644
--- a/net-wireless/iwd/iwd-1.20.ebuild
+++ b/net-wireless/iwd/iwd-2.17.ebuild
@@ -1,19 +1,19 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit flag-o-matic linux-info systemd
#Set this variable to the required external ell version
-ELL_REQ="0.46"
+ELL_REQ="0.64"
if [[ ${PV} == *9999* ]]; then
inherit autotools git-r3
IWD_EGIT_REPO_URI="https://git.kernel.org/pub/scm/network/wireless/iwd.git"
ELL_EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/ell/ell.git"
else
- SRC_URI="https://www.kernel.org/pub/linux/network/wireless/${P}.tar.xz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ SRC_URI="https://mirrors.edge.kernel.org/pub/linux/network/wireless/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
MYRST2MAN="RST2MAN=:"
fi
@@ -22,20 +22,20 @@ HOMEPAGE="https://git.kernel.org/pub/scm/network/wireless/iwd.git/"
LICENSE="GPL-2"
SLOT="0"
-IUSE="+client cpu_flags_x86_aes cpu_flags_x86_ssse3 +crda elibc_musl +monitor ofono
-standalone systemd wired"
+IUSE="+client cpu_flags_x86_aes cpu_flags_x86_ssse3 +monitor ofono selinux standalone systemd wired"
DEPEND="
sys-apps/dbus
client? ( sys-libs/readline:0= )
"
-[[ -z "${ELL_REQ}" ]] || DEPEND+=" ~dev-libs/ell-${ELL_REQ}"
+[[ -z "${ELL_REQ}" ]] || DEPEND+=" >=dev-libs/ell-${ELL_REQ}"
RDEPEND="
${DEPEND}
+ acct-group/netdev
net-wireless/wireless-regdb
- crda? ( net-wireless/crda )
+ selinux? ( sec-policy/selinux-networkmanager )
standalone? (
systemd? ( sys-apps/systemd )
!systemd? ( virtual/resolvconf )
@@ -72,10 +72,6 @@ pkg_setup() {
~RFKILL
~X509_CERTIFICATE_PARSER
"
- 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
if use amd64;then
CONFIG_CHECK="${CONFIG_CHECK} ~CRYPTO_DES3_EDE_X86_64"
@@ -99,23 +95,6 @@ pkg_setup() {
fi
check_extra_config
-
- if ! use crda; then
- if use kernel_linux && kernel_is -lt 4 15; then
- ewarn "POSSIBLE REGULATORY DOMAIN PROBLEM:"
- ewarn "Regulatory domain support for kernels older than 4.15 requires crda."
- fi
- 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_unpack() {
@@ -132,16 +111,18 @@ src_prepare() {
if [[ ${PV} == *9999* ]] ; then
eautoreconf
fi
+
+ sed -e "s:Exec=/bin/false:Exec=${EPREFIX}/usr/libexec/iwd:g" -i src/net.connman.iwd.service || die
}
src_configure() {
append-cflags "-fsigned-char"
local myeconfargs=(
--sysconfdir="${EPREFIX}"/etc/iwd --localstatedir="${EPREFIX}"/var
- $(use_enable client)
- $(use_enable monitor)
- $(use_enable ofono)
- $(use_enable wired)
+ "$(use_enable client)"
+ "$(use_enable monitor)"
+ "$(use_enable ofono)"
+ "$(use_enable wired)"
--enable-systemd-service
--with-systemd-unitdir="$(systemd_get_systemunitdir)"
--with-systemd-modloaddir="${EPREFIX}/usr/lib/modules-load.d"
@@ -152,12 +133,12 @@ src_configure() {
}
src_compile() {
- emake ${MYRST2MAN}
+ emake "${MYRST2MAN}"
}
src_install() {
- emake DESTDIR="${D}" ${MYRST2MAN} install
- keepdir /var/lib/${PN}
+ emake DESTDIR="${D}" "${MYRST2MAN}" install
+ keepdir "/var/lib/${PN}"
newinitd "${FILESDIR}/iwd.initd-r1" iwd
@@ -173,11 +154,14 @@ src_install() {
if use standalone ; then
local iwdconf="${ED}/etc/iwd/main.conf"
dodir /etc/iwd
- echo "[General]" > "${iwdconf}"
- echo "EnableNetworkConfiguration=true" >> "${iwdconf}"
- echo "[Network]" >> "${iwdconf}"
- echo "NameResolvingService=$(usex systemd systemd resolvconf)" >> "${iwdconf}"
+ cat << EOF > "${iwdconf}"
+[General]
+EnableNetworkConfiguration=true
+
+[Network]
+NameResolvingService=$(usex systemd systemd resolvconf)
+EOF
dodir /etc/conf.d
- echo "rc_provide=\"net\"" > ${ED}/etc/conf.d/iwd
+ echo "rc_provide=\"net\"" > "${ED}"/etc/conf.d/iwd
fi
}
diff --git a/net-wireless/iwd/iwd-9999.ebuild b/net-wireless/iwd/iwd-9999.ebuild
index bea6be6a9ea8..2088d90635e5 100644
--- a/net-wireless/iwd/iwd-9999.ebuild
+++ b/net-wireless/iwd/iwd-9999.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit flag-o-matic linux-info systemd
#Set this variable to the required external ell version
@@ -12,8 +12,8 @@ if [[ ${PV} == *9999* ]]; then
IWD_EGIT_REPO_URI="https://git.kernel.org/pub/scm/network/wireless/iwd.git"
ELL_EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/ell/ell.git"
else
- SRC_URI="https://www.kernel.org/pub/linux/network/wireless/${P}.tar.xz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+ SRC_URI="https://mirrors.edge.kernel.org/pub/linux/network/wireless/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
MYRST2MAN="RST2MAN=:"
fi
@@ -22,8 +22,7 @@ HOMEPAGE="https://git.kernel.org/pub/scm/network/wireless/iwd.git/"
LICENSE="GPL-2"
SLOT="0"
-IUSE="+client +crda +monitor ofono wired cpu_flags_x86_aes cpu_flags_x86_ssse3
-standalone systemd"
+IUSE="+client cpu_flags_x86_aes cpu_flags_x86_ssse3 +monitor ofono selinux standalone systemd wired"
DEPEND="
sys-apps/dbus
@@ -34,8 +33,9 @@ DEPEND="
RDEPEND="
${DEPEND}
+ acct-group/netdev
net-wireless/wireless-regdb
- crda? ( net-wireless/crda )
+ selinux? ( sec-policy/selinux-networkmanager )
standalone? (
systemd? ( sys-apps/systemd )
!systemd? ( virtual/resolvconf )
@@ -72,10 +72,6 @@ pkg_setup() {
~RFKILL
~X509_CERTIFICATE_PARSER
"
- 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
if use amd64;then
CONFIG_CHECK="${CONFIG_CHECK} ~CRYPTO_DES3_EDE_X86_64"
@@ -99,23 +95,6 @@ pkg_setup() {
fi
check_extra_config
-
- if ! use crda; then
- if use kernel_linux && kernel_is -lt 4 15; then
- ewarn "POSSIBLE REGULATORY DOMAIN PROBLEM:"
- ewarn "Regulatory domain support for kernels older than 4.15 requires crda."
- fi
- 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_unpack() {
@@ -132,16 +111,18 @@ src_prepare() {
if [[ ${PV} == *9999* ]] ; then
eautoreconf
fi
+
+ sed -e "s:Exec=/bin/false:Exec=${EPREFIX}/usr/libexec/iwd:g" -i src/net.connman.iwd.service || die
}
src_configure() {
append-cflags "-fsigned-char"
local myeconfargs=(
--sysconfdir="${EPREFIX}"/etc/iwd --localstatedir="${EPREFIX}"/var
- $(use_enable client)
- $(use_enable monitor)
- $(use_enable ofono)
- $(use_enable wired)
+ "$(use_enable client)"
+ "$(use_enable monitor)"
+ "$(use_enable ofono)"
+ "$(use_enable wired)"
--enable-systemd-service
--with-systemd-unitdir="$(systemd_get_systemunitdir)"
--with-systemd-modloaddir="${EPREFIX}/usr/lib/modules-load.d"
@@ -152,12 +133,12 @@ src_configure() {
}
src_compile() {
- emake ${MYRST2MAN}
+ emake "${MYRST2MAN}"
}
src_install() {
- emake DESTDIR="${D}" ${MYRST2MAN} install
- keepdir /var/lib/${PN}
+ emake DESTDIR="${D}" "${MYRST2MAN}" install
+ keepdir "/var/lib/${PN}"
newinitd "${FILESDIR}/iwd.initd-r1" iwd
@@ -173,11 +154,14 @@ src_install() {
if use standalone ; then
local iwdconf="${ED}/etc/iwd/main.conf"
dodir /etc/iwd
- echo "[General]" > "${iwdconf}"
- echo "EnableNetworkConfiguration=true" >> "${iwdconf}"
- echo "[Network]" >> "${iwdconf}"
- echo "NameResolvingService=$(usex systemd systemd resolvconf)" >> "${iwdconf}"
+ cat << EOF > "${iwdconf}"
+[General]
+EnableNetworkConfiguration=true
+
+[Network]
+NameResolvingService=$(usex systemd systemd resolvconf)
+EOF
dodir /etc/conf.d
- echo "rc_provide=\"net\"" > ${ED}/etc/conf.d/iwd
+ echo "rc_provide=\"net\"" > "${ED}"/etc/conf.d/iwd
fi
}
diff --git a/net-wireless/iwd/metadata.xml b/net-wireless/iwd/metadata.xml
index e63160880b73..af405c7bf0b6 100644
--- a/net-wireless/iwd/metadata.xml
+++ b/net-wireless/iwd/metadata.xml
@@ -7,7 +7,6 @@
</maintainer>
<use>
<flag name="client">Enable iwctl client tool</flag>
- <flag name="crda">Use <pkg>net-wireless/crda</pkg> for regulatory domain loading instead of in-kernel (4.15+) support</flag>
<flag name="monitor">Enable iwmon monitor tool</flag>
<flag name="ofono">Enable support for oFono SIM authentication</flag>
<flag name="standalone">Enable standalone mode with built-in DHCP client and DNS handling"</flag>