blob: 2951d9f5f41580d080b94eee57bf1078c6c1402f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
inherit autotools systemd tmpfiles
if [[ ${PV} == *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://git.kernel.org/pub/scm/network/connman/connman.git"
else
SRC_URI="https://git.kernel.org/pub/scm/network/connman/connman.git/snapshot/${P}.tar.gz"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ppc ppc64 ~riscv ~x86"
fi
DESCRIPTION="Provides a daemon for managing internet connections"
HOMEPAGE="https://git.kernel.org/pub/scm/network/connman/connman.git/"
LICENSE="GPL-2"
SLOT="0"
IUSE="bluetooth debug doc +ethernet examples iptables iwd l2tp networkmanager
+nftables ofono openconnect openvpn policykit pptp tools vpnc +wifi wireguard
wispr"
REQUIRED_USE="^^ ( iptables nftables )"
BDEPEND="virtual/pkgconfig"
COMMON_DEPEND=">=dev-libs/glib-2.16
net-libs/gnutls
>=sys-apps/dbus-1.2.24
sys-libs/readline:0=
nftables? (
>=net-libs/libnftnl-1.0.4:0=
>=net-libs/libmnl-1.0.0:0=
)
openconnect? ( net-vpn/openconnect )
openvpn? ( net-vpn/openvpn )
pptp? ( net-dialup/pptpclient )
vpnc? ( net-vpn/vpnc )
wireguard? ( >=net-libs/libmnl-1.0.0:0= )"
RDEPEND="${COMMON_DEPEND}
bluetooth? ( net-wireless/bluez )
iptables? ( >=net-firewall/iptables-1.4.8 )
l2tp? ( net-dialup/xl2tpd )
ofono? ( net-misc/ofono )
policykit? ( sys-auth/polkit )
wifi? (
!iwd? ( >=net-wireless/wpa_supplicant-0.7.3-r3[dbus] )
iwd? ( net-wireless/iwd )
)"
DEPEND="${COMMON_DEPEND}
>=sys-kernel/linux-headers-2.6.39"
PATCHES=( "${FILESDIR}/libresolv-musl-fix.patch" )
if [ ! -z ${COMMIT} ]; then
S=${WORKDIR}/${PN}-${COMMIT}
fi
src_prepare() {
default
eautoreconf
cp "${FILESDIR}"/connman.initd2 "${T}"
if use iwd; then
sed -i \
-e "s/need dbus/need dbus iwd/" \
-e '/start-stop-daemon --start/ s/ -- / -- --wifi=iwd_agent /' \
"${T}"/connman.initd2 || die
sed -i \
-e "/^ExecStart/ s/$/ --wifi=iwd_agent/" \
src/connman.service.in || die
fi
}
src_configure() {
local myeconfargs=(
--localstatedir=/var \
--runstatedir=/run \
--with-systemdunitdir=$(systemd_get_systemunitdir) \
--with-tmpfilesdir="${EPREFIX}"/usr/lib/tmpfiles.d \
--enable-client \
--enable-datafiles \
--enable-loopback=builtin \
$(use_enable bluetooth bluetooth builtin) \
$(use_enable debug) \
$(use_enable ethernet ethernet builtin) \
$(use_enable examples test) \
$(use_enable l2tp l2tp builtin) \
$(use_enable networkmanager nmcompat) \
$(use_enable ofono ofono builtin) \
$(use_enable openconnect openconnect builtin) \
$(use_enable openvpn openvpn builtin) \
$(use_enable policykit polkit builtin) \
$(use_enable pptp pptp builtin) \
$(use_enable tools) \
$(use_enable vpnc vpnc builtin) \
$(use_enable wireguard) \
$(use_enable wispr wispr builtin) \
--with-firewall=$(usex iptables "iptables" "nftables" ) \
--disable-iospm \
--disable-hh2serial-gps
)
# wifi USE logic to match networkmanager ebuild behavior
if use wifi; then
if use iwd; then
myeconfargs+=( --enable-iwd --disable-wifi )
else
myeconfargs+=( --disable-iwd --enable-wifi=builtin )
fi
else
myeconfargs+=( --disable-iwd --disable-wifi )
fi
econf "${myeconfargs[@]}"
}
src_install() {
default
dobin client/connmanctl
if use doc; then
dodoc doc/*.txt
fi
keepdir /usr/lib/${PN}/scripts
keepdir /var/lib/${PN}
newinitd "${T}"/${PN}.initd2 ${PN}
newconfd "${FILESDIR}"/${PN}.confd ${PN}
}
pkg_postinst() {
tmpfiles_process connman_resolvconf.conf
}
|