Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 473124 | Differences between
and this patch

Collapse All | Expand All

(-)a/net-wireless/hostapd/hostapd-2.0.ebuild (-70 / +76 lines)
Lines 4-10 Link Here
4
4
5
EAPI="4"
5
EAPI="4"
6
6
7
inherit toolchain-funcs eutils
7
inherit toolchain-funcs eutils savedconfig flag-o-matic
8
8
9
DESCRIPTION="IEEE 802.11 wireless LAN Host AP daemon"
9
DESCRIPTION="IEEE 802.11 wireless LAN Host AP daemon"
10
HOMEPAGE="http://hostap.epitest.fi"
10
HOMEPAGE="http://hostap.epitest.fi"
Lines 35-128 src_prepare() { Link Here
35
		"${S}/hostapd.conf" || die
35
		"${S}/hostapd.conf" || die
36
}
36
}
37
37
38
hostapd_config_option() {
39
	local key="$1"   ; shift
40
	local val="$@"
41
42
	if ! grep -qE "^(#| )*CONFIG_${key}[ =]" "${CONFIG}" ; then
43
		eqawarn "CONFIG_${key} is missing in defconfig"
44
		echo >> "${CONFIG}"
45
		echo "# .config imported from ${S}/defconfig is missing CONFIG_${key}" >> "${CONFIG}"
46
		echo "# CONFIG_${key} is not set" >> "${CONFIG}"
47
	fi
48
49
	if [[ ${val} == "n" ]] ; then
50
		sed -i -re "s:^(#| )*CONFIG_${key}[ =].*:# CONFIG_${key} is not set:" "${CONFIG}"
51
	else
52
		sed -i -re "s:^(#| )*CONFIG_${key}[ =].*:CONFIG_${key}=${val}:" "${CONFIG}"
53
	fi
54
55
	einfo $(grep -E "^(#| )*CONFIG_${key}[ =]" "${CONFIG}")
56
}
57
38
src_configure() {
58
src_configure() {
39
	local CONFIG="${S}/.config"
59
	tc-export CC
40
60
41
	# toolchain setup
61
	#append-libs -L/usr/lib
42
	echo "CC = $(tc-getCC)" > ${CONFIG}
62
	# Add include path for madwifi-driver headers
63
	use madwifi && append-cflags -I/usr/include/madwifi
64
65
	CONFIG="${S}/.config"
66
	restore_config "${CONFIG}"
67
68
	[[ -f "${CONFIG}" ]] && return 0
69
70
	einfo "Generating configuration based on defconfig"
71
	cp "${S}/defconfig" "${CONFIG}"
43
72
44
	# EAP authentication methods
73
	# EAP authentication methods
45
	echo "CONFIG_EAP=y" >> ${CONFIG}
74
	hostapd_config_option EAP y
46
	echo "CONFIG_EAP_MD5=y" >> ${CONFIG}
75
	hostapd_config_option EAP_MD5 y
47
76
48
	if use ssl; then
77
	# SSL authentication methods
49
		# SSL authentication methods
78
	hostapd_config_option EAP_TLS $(usex ssl y n)
50
		echo "CONFIG_EAP_TLS=y" >> ${CONFIG}
79
	hostapd_config_option EAP_TTLS $(usex ssl y n)
51
		echo "CONFIG_EAP_TTLS=y" >> ${CONFIG}
80
	hostapd_config_option EAP_MSCHAPV2 $(usex ssl y n)
52
		echo "CONFIG_EAP_MSCHAPV2=y" >> ${CONFIG}
81
	hostapd_config_option EAP_PEAP $(usex ssl y n)
53
		echo "CONFIG_EAP_PEAP=y" >> ${CONFIG}
54
	fi
55
82
56
	if use wps; then
83
	# Enable Wi-Fi Protected Setup
57
		# Enable Wi-Fi Protected Setup
84
	hostapd_config_option WPS $(usex wps y n)
58
		echo "CONFIG_WPS=y" >> ${CONFIG}
85
	hostapd_config_option WPS2 $(usex wps y n)
59
		echo "CONFIG_WPS2=y" >> ${CONFIG}
86
	hostapd_config_option WPS_UPNP $(usex wps y n)
60
		echo "CONFIG_WPS_UPNP=y" >> ${CONFIG}
61
		einfo "Enabling Wi-Fi Protected Setup support"
62
	fi
63
87
64
	echo "CONFIG_EAP_GTC=y" >> ${CONFIG}
88
	hostapd_config_option EAP_GTC y
65
	echo "CONFIG_EAP_SIM=y" >> ${CONFIG}
89
	hostapd_config_option EAP_SIM y
66
	echo "CONFIG_EAP_AKA=y" >> ${CONFIG}
90
	hostapd_config_option EAP_AKA y
67
	echo "CONFIG_EAP_PAX=y" >> ${CONFIG}
91
	hostapd_config_option EAP_PAX y
68
	echo "CONFIG_EAP_PSK=y" >> ${CONFIG}
92
	hostapd_config_option EAP_PSK y
69
	echo "CONFIG_EAP_SAKE=y" >> ${CONFIG}
93
	hostapd_config_option EAP_SAKE y
70
	echo "CONFIG_EAP_GPSK=y" >> ${CONFIG}
94
	hostapd_config_option EAP_GPSK y
71
	echo "CONFIG_EAP_GPSK_SHA256=y" >> ${CONFIG}
95
	hostapd_config_option EAP_GPSK_SHA256 y
72
73
	einfo "Enabling drivers: "
74
96
75
	# drivers
97
	# drivers
76
	echo "CONFIG_DRIVER_HOSTAP=y" >> ${CONFIG}
98
	# TODO: Add support for BSD drivers
77
	einfo "  HostAP driver enabled"
99
	hostapd_config_option DRIVER_HOSTAP y
78
	echo "CONFIG_DRIVER_WIRED=y" >> ${CONFIG}
100
	hostapd_config_option DRIVER_WIRED y
79
	einfo "  Wired driver enabled"
101
	hostapd_config_option DRIVER_NONE y
80
	echo "CONFIG_DRIVER_PRISM54=y" >> ${CONFIG}
102
	hostapd_config_option DRIVER_MADWIFI $(usex madwifi y n)
81
	einfo "  Prism54 driver enabled"
103
	hostapd_config_option DRIVER_NL80211 y
82
	echo "CONFIG_DRIVER_NONE=y" >> ${CONFIG}
83
	einfo "  None driver enabled"
84
85
	if use madwifi; then
86
		# Add include path for madwifi-driver headers
87
		einfo "  Madwifi driver enabled"
88
		echo "CFLAGS += -I/usr/include/madwifi" >> ${CONFIG}
89
		echo "CONFIG_DRIVER_MADWIFI=y" >> ${CONFIG}
90
	else
91
		einfo "  Madwifi driver disabled"
92
	fi
93
94
	einfo "  nl80211 driver enabled"
95
	echo "CONFIG_DRIVER_NL80211=y" >> ${CONFIG}
96
	echo "LIBS += -L/usr/lib" >> ${CONFIG}
97
104
98
	# misc
105
	# misc
99
	echo "CONFIG_PKCS12=y" >> ${CONFIG}
106
	hostapd_config_option PKCS12 y
100
	echo "CONFIG_RADIUS_SERVER=y" >> ${CONFIG}
107
	hostapd_config_option RADIUS_SERVER y
101
	echo "CONFIG_IAPP=y" >> ${CONFIG}
108
	hostapd_config_option IAPP y
102
	echo "CONFIG_IEEE80211R=y" >> ${CONFIG}
109
	hostapd_config_option IEEE80211R y
103
	echo "CONFIG_IEEE80211W=y" >> ${CONFIG}
110
	hostapd_config_option IEEE80211W y
104
	echo "CONFIG_IEEE80211N=y" >> ${CONFIG}
111
	hostapd_config_option IEEE80211N y
105
	echo "CONFIG_PEERKEY=y" >> ${CONFIG}
112
	hostapd_config_option PEERKEY y
106
	echo "CONFIG_RSN_PREAUTH=y" >> ${CONFIG}
113
	hostapd_config_option RSN_PREAUTH y
107
	echo "CONFIG_INTERWORKING=y" >> ${CONFIG}
114
	hostapd_config_option INTERWORKING y
108
115
109
	if use ipv6; then
116
	# IPv6 support
110
		# IPv6 support
117
	hostapd_config_option IPV6 $(usex ipv6 y n)
111
		echo "CONFIG_IPV6=y" >> ${CONFIG}
112
	fi
113
118
114
	# If we are using libnl 2.0 and above, enable support for it
119
	# If we are using libnl 2.0 and above, enable support for it
115
	# Removed for now, since the 3.2 version is broken, and we don't
120
	# Removed for now, since the 3.2 version is broken, and we don't
116
	# support it.
121
	# support it.
117
	if has_version ">=dev-libs/libnl-3.2"; then
122
	if has_version ">=dev-libs/libnl-3.2"; then
118
		echo "CONFIG_LIBNL32=y" >> .config
123
		hostapd_config_option LIBNL32 y
124
	else
125
		hostapd_config_option LIBNL32 n
119
	fi
126
	fi
120
127
121
	echo "CONFIG_VLAN_NETLINK=y" >> ${CONFIG}
128
	hostapd_config_option VLAN_NETLINK y
122
#	echo "CFLAGS+=-I${ROOT}usr/include/libnl3" >> ${CONFIG}
129
	hostapd_config_option FULL_DYNAMIC_VLAN y
123
	echo "CONFIG_FULL_DYNAMIC_VLAN=y" >> ${CONFIG}
124
125
	# TODO: Add support for BSD drivers
126
130
127
	default_src_configure
131
	default_src_configure
128
}
132
}
Lines 137-142 src_compile() { Link Here
137
}
141
}
138
142
139
src_install() {
143
src_install() {
144
	save_config "${CONFIG}"
145
140
	insinto /etc/${PN}
146
	insinto /etc/${PN}
141
	doins ${PN}.{conf,accept,deny,eap_user,radius_clients,sim_db,wpa_psk}
147
	doins ${PN}.{conf,accept,deny,eap_user,radius_clients,sim_db,wpa_psk}
142
148

Return to bug 473124