12 |
12 |
IWD_EGIT_REPO_URI="https://git.kernel.org/pub/scm/network/wireless/iwd.git"
|
13 |
13 |
ELL_EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/ell/ell.git"
|
14 |
14 |
else
|
15 |
|
SRC_URI="https://www.kernel.org/pub/linux/network/wireless/${P}.tar.xz"
|
|
15 |
SRC_URI="https://mirrors.edge.kernel.org/pub/linux/network/wireless/${P}.tar.xz"
|
16 |
16 |
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
|
17 |
17 |
MYRST2MAN="RST2MAN=:"
|
18 |
18 |
fi
|
... | ... | |
22 |
22 |
|
23 |
23 |
LICENSE="GPL-2"
|
24 |
24 |
SLOT="0"
|
25 |
|
IUSE="+client cpu_flags_x86_aes cpu_flags_x86_ssse3 crda +monitor ofono standalone systemd wired"
|
|
25 |
IUSE="+client cpu_flags_x86_aes cpu_flags_x86_ssse3 +monitor ofono standalone systemd wired"
|
26 |
26 |
|
27 |
27 |
DEPEND="
|
28 |
28 |
sys-apps/dbus
|
... | ... | |
35 |
35 |
${DEPEND}
|
36 |
36 |
acct-group/netdev
|
37 |
37 |
net-wireless/wireless-regdb
|
38 |
|
crda? ( net-wireless/crda )
|
39 |
38 |
standalone? (
|
40 |
39 |
systemd? ( sys-apps/systemd )
|
41 |
40 |
!systemd? ( virtual/resolvconf )
|
... | ... | |
72 |
71 |
~RFKILL
|
73 |
72 |
~X509_CERTIFICATE_PARSER
|
74 |
73 |
"
|
75 |
|
if use crda;then
|
76 |
|
CONFIG_CHECK="${CONFIG_CHECK} ~CFG80211_CRDA_SUPPORT"
|
77 |
|
WARNING_CFG80211_CRDA_SUPPORT="REGULATORY DOMAIN PROBLEM: please enable CFG80211_CRDA_SUPPORT for proper
|
78 |
|
regulatory domain support"
|
79 |
|
fi
|
80 |
74 |
|
81 |
75 |
if use amd64;then
|
82 |
76 |
CONFIG_CHECK="${CONFIG_CHECK} ~CRYPTO_DES3_EDE_X86_64"
|
... | ... | |
100 |
94 |
fi
|
101 |
95 |
|
102 |
96 |
check_extra_config
|
103 |
|
|
104 |
|
if ! use crda; then
|
105 |
|
if use kernel_linux && kernel_is -lt 4 15; then
|
106 |
|
ewarn "POSSIBLE REGULATORY DOMAIN PROBLEM:"
|
107 |
|
ewarn "Regulatory domain support for kernels older than 4.15 requires crda."
|
108 |
|
fi
|
109 |
|
if linux_config_exists && linux_chkconfig_builtin CFG80211 &&
|
110 |
|
[[ $(linux_chkconfig_string EXTRA_FIRMWARE) != *regulatory.db* ]]
|
111 |
|
then
|
112 |
|
ewarn ""
|
113 |
|
ewarn "REGULATORY DOMAIN PROBLEM:"
|
114 |
|
ewarn "With CONFIG_CFG80211=y (built-in), the driver won't be able to load regulatory.db from"
|
115 |
|
ewarn " /lib/firmware, resulting in broken regulatory domain support. Please set CONFIG_CFG80211=m"
|
116 |
|
ewarn " or add regulatory.db and regulatory.db.p7s to CONFIG_EXTRA_FIRMWARE."
|
117 |
|
ewarn ""
|
118 |
|
fi
|
119 |
|
fi
|
120 |
97 |
}
|
121 |
98 |
|
122 |
99 |
src_unpack() {
|
... | ... | |
133 |
110 |
if [[ ${PV} == *9999* ]] ; then
|
134 |
111 |
eautoreconf
|
135 |
112 |
fi
|
|
113 |
|
|
114 |
sed -e "s:Exec=/bin/false:Exec=${EPREFIX}/usr/libexec/iwd:g" -i src/net.connman.iwd.service || die
|
136 |
115 |
}
|
137 |
116 |
|
138 |
117 |
src_configure() {
|
139 |
118 |
append-cflags "-fsigned-char"
|
140 |
119 |
local myeconfargs=(
|
141 |
120 |
--sysconfdir="${EPREFIX}"/etc/iwd --localstatedir="${EPREFIX}"/var
|
142 |
|
$(use_enable client)
|
143 |
|
$(use_enable monitor)
|
144 |
|
$(use_enable ofono)
|
145 |
|
$(use_enable wired)
|
|
121 |
"$(use_enable client)"
|
|
122 |
"$(use_enable monitor)"
|
|
123 |
"$(use_enable ofono)"
|
|
124 |
"$(use_enable wired)"
|
146 |
125 |
--enable-systemd-service
|
147 |
126 |
--with-systemd-unitdir="$(systemd_get_systemunitdir)"
|
148 |
127 |
--with-systemd-modloaddir="${EPREFIX}/usr/lib/modules-load.d"
|
... | ... | |
153 |
132 |
}
|
154 |
133 |
|
155 |
134 |
src_compile() {
|
156 |
|
emake ${MYRST2MAN}
|
|
135 |
emake "${MYRST2MAN}"
|
157 |
136 |
}
|
158 |
137 |
|
159 |
138 |
src_install() {
|
160 |
|
emake DESTDIR="${D}" ${MYRST2MAN} install
|
161 |
|
keepdir /var/lib/${PN}
|
|
139 |
emake DESTDIR="${D}" "${MYRST2MAN}" install
|
|
140 |
keepdir "/var/lib/${PN}"
|
162 |
141 |
|
163 |
142 |
newinitd "${FILESDIR}/iwd.initd-r1" iwd
|
164 |
143 |
|
... | ... | |
174 |
153 |
if use standalone ; then
|
175 |
154 |
local iwdconf="${ED}/etc/iwd/main.conf"
|
176 |
155 |
dodir /etc/iwd
|
177 |
|
echo "[General]" > "${iwdconf}"
|
178 |
|
echo "EnableNetworkConfiguration=true" >> "${iwdconf}"
|
179 |
|
echo "[Network]" >> "${iwdconf}"
|
180 |
|
echo "NameResolvingService=$(usex systemd systemd resolvconf)" >> "${iwdconf}"
|
|
156 |
cat << EOF > "${iwdconf}"
|
|
157 |
[General]
|
|
158 |
EnableNetworkConfiguration=true
|
|
159 |
|
|
160 |
[Network]
|
|
161 |
NameResolvingService=$(usex systemd systemd resolvconf)
|
|
162 |
EOF
|
181 |
163 |
dodir /etc/conf.d
|
182 |
164 |
echo "rc_provide=\"net\"" > "${ED}"/etc/conf.d/iwd
|
183 |
165 |
fi
|