--- /usr/portage/net-wireless/wpa_supplicant/wpa_supplicant-0.6.4.ebuild 2008-08-19 15:03:50.000000000 +0200 +++ wpa_supplicant-0.6.7.ebuild 2009-01-26 23:32:21.000000000 +0100 @@ -1,10 +1,10 @@ -# Copyright 1999-2008 Gentoo Foundation +# Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/net-wireless/wpa_supplicant/wpa_supplicant-0.6.4.ebuild,v 1.1 2008/08/19 13:03:50 rbu Exp $ -EAPI="1" +EAPI="2" -inherit eutils toolchain-funcs +inherit eutils toolchain-funcs qt3 qt4 DESCRIPTION="IEEE 802.1X/WPA supplicant for secure wireless transfers" HOMEPAGE="http://hostap.epitest.fi/wpa_supplicant/" @@ -13,55 +13,61 @@ SLOT="0" KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd" -IUSE="dbus debug gnutls gsm madwifi qt3 qt4 readline ssl kernel_linux - kernel_FreeBSD ps3" +IUSE="dbus debug gnutls gsm madwifi ps3 qt3 qt4 readline ssl kernel_linux kernel_FreeBSD" -RDEPEND="dbus? ( sys-apps/dbus ) +DEPEND="dbus? ( sys-apps/dbus ) kernel_linux? ( gsm? ( sys-apps/pcsc-lite ) - madwifi? ( || + madwifi? ( || ( >net-wireless/madwifi-ng-tools-0.9.3 net-wireless/madwifi-old ) ) ) !kernel_linux? ( net-libs/libpcap ) - qt4? ( - || ( ( x11-libs/qt-core:4 - x11-libs/qt-gui:4 ) - =x11-libs/qt-4.2.2" ; then - if ! built_with_use x11-libs/qt qt3support ; then - eerror ">=qt4.2.2 requires qt3support" - die "rebuild >=x11-libs/qt-4.2.2 with the qt3support USE flag" - fi + if use qt3 && use qt4 ; then + einfo "You have both 'qt3' and 'qt4' USE flags enabled: defaulting to USE=\"qt4\"" fi } -src_unpack() { - unpack ${A} - - cd "${S}" - - # net/bpf.h needed for net-libs/libpcap on Gentoo FreeBSD +src_prepare() { + # net/bpf.h needed for net-libs/libpcap on Gentoo/FreeBSD sed -i \ -e "s:\(#include \):#include \n\1:" \ ../src/l2_packet/l2_packet_freebsd.c || die + # People seem to take the example configuration file too literally (bug #102361) + sed -i \ + -e "s:^\(opensc_engine_path\):#\1:" \ + -e "s:^\(pkcs11_engine_path\):#\1:" \ + -e "s:^\(pkcs11_module_path\):#\1:" \ + wpa_supplicant.conf || die + + # Change configuration to match Gentoo locations (bug #143750) + sed -i \ + -e "s:/usr/lib/opensc:/usr/$(get_libdir):" \ + -e "s:/usr/lib/pkcs11:/usr/$(get_libdir):" \ + wpa_supplicant.conf || die +} + +src_configure() { # toolchain setup echo "CC = $(tc-getCC)" > .config @@ -97,9 +103,10 @@ if use gsm ; then # smart card authentication - echo "CONFIG_EAP_SIM=y" >> .config - echo "CONFIG_EAP_AKA=y" >> .config - echo "CONFIG_PCSC=y" >> .config + echo "CONFIG_EAP_SIM=y" >> .config + echo "CONFIG_EAP_AKA=y" >> .config + echo "CONFIG_EAP_AKA_PRIME=y" >> .config + echo "CONFIG_PCSC=y" >> .config fi if use readline ; then @@ -126,89 +133,82 @@ echo "CONFIG_DRIVER_HOSTAP=y" >> .config echo "CONFIG_DRIVER_IPW=y" >> .config echo "CONFIG_DRIVER_NDISWRAPPER=y" >> .config - echo "CONFIG_DRIVER_PRISM54=y" >> .config + #echo "CONFIG_DRIVER_PRISM54=y" >> .config echo "CONFIG_DRIVER_WEXT=y" >> .config echo "CONFIG_DRIVER_WIRED=y" >> .config if use madwifi ; then # Add include path for madwifi-driver headers echo "CFLAGS += -I/usr/include/madwifi" >> .config - echo "CONFIG_DRIVER_MADWIFI=y" >> .config + echo "CONFIG_DRIVER_MADWIFI=y" >> .config fi + if use ps3 ; then echo "CONFIG_DRIVER_PS3=y" >> .config fi + elif use kernel_FreeBSD ; then # FreeBSD specific driver echo "CONFIG_DRIVER_BSD=y" >> .config fi - # people seem to take the example configuration file too literally - # bug #102361 - sed -i \ - -e "s:^\(opensc_engine_path\):#\1:" \ - -e "s:^\(pkcs11_engine_path\):#\1:" \ - -e "s:^\(pkcs11_module_path\):#\1:" \ - wpa_supplicant.conf || die + # Wi-Fi Protected Setup (WPS) + # FIXME - doesn't build + #echo "CONFIG_WPS=y" >> .config - # Change configuration to match Gentoo locations, #143750 - sed -i \ - -e "s:/usr/lib/opensc:/usr/$(get_libdir):" \ - -e "s:/usr/lib/pkcs11:/usr/$(get_libdir):" \ - wpa_supplicant.conf || die + # Enable mitigation against certain attacks against TKIP + echo "CONFIG_DELAYED_MIC_ERROR_REPORT=y" >> .config } src_compile() { emake || die "emake failed" if use qt4 ; then - qmake -o "${S}"/wpa_gui-qt4/Makefile "${S}"/wpa_gui-qt4/wpa_gui.pro cd "${S}"/wpa_gui-qt4 - emake || die "emake wpa_gui-qt4 failed" + eqmake4 wpa_gui.pro + emake || die "Qt4 wpa_gui compilation failed" elif use qt3 ; then - [[ -d "${QTDIR}"/etc/settings ]] && addwrite "${QTDIR}"/etc/settings - "${QTDIR}"/bin/qmake -o "${S}"/wpa_gui/Makefile "${S}"/wpa_gui/wpa_gui.pro cd "${S}"/wpa_gui - emake || die "emake wpa_gui failed" + eqmake3 wpa_gui.pro + emake || die "Qt3 wpa_gui compilation failed" fi } src_install() { - dosbin wpa_supplicant - dobin wpa_cli wpa_passphrase + dosbin wpa_supplicant || die + dobin wpa_cli wpa_passphrase || die # baselayout-1 compat - dosym /usr/sbin/wpa_supplicant /sbin/wpa_supplicant - dosym /usr/bin/wpa_cli /bin/wpa_cli + dosym /usr/sbin/wpa_supplicant /sbin/wpa_supplicant || die + dosym /usr/bin/wpa_cli /bin/wpa_cli || die exeinto /etc/wpa_supplicant/ newexe "${FILESDIR}"/wpa_cli.sh wpa_cli.sh insinto /etc/wpa_supplicant/ newins "${FILESDIR}"/wpa_supplicant.conf wpa_supplicant.conf - dodoc ChangeLog eap_testing.txt README todo.txt - newdoc wpa_supplicant.conf wpa_supplicant.conf + dodoc ChangeLog {eap_testing,todo}.txt README{,-WPS} \ + wpa_supplicant.conf || die "dodoc failed" - doman doc/docbook/*.8 - doman doc/docbook/*.5 + doman doc/docbook/*.{5,8} || die "doman failed" if use qt4 ; then into /usr - dobin wpa_gui-qt4/wpa_gui + dobin wpa_gui-qt4/wpa_gui || die elif use qt3 ; then into /usr - dobin wpa_gui/wpa_gui + dobin wpa_gui/wpa_gui || die fi - if use qt3 || use qt4; then - make_desktop_entry wpa_gui "WPA_Supplicant Administration GUI" + if use qt3 || use qt4 ; then + make_desktop_entry wpa_gui "WPA Supplicant Administration GUI" "wpa_gui" "Qt;Network;" fi if use dbus ; then insinto /etc/dbus-1/system.d - newins dbus-wpa_supplicant.conf wpa_supplicant.conf + newins dbus-wpa_supplicant.conf wpa_supplicant.conf || die insinto /usr/share/dbus-1/system-services - newins dbus-wpa_supplicant.service 'fi.epitest.hostap.WPASupplicant.service' + newins dbus-wpa_supplicant.service 'fi.epitest.hostap.WPASupplicant.service' || die keepdir /var/run/wpa_supplicant fi } @@ -217,8 +217,8 @@ einfo "A default configuration file has been installed to" einfo "/etc/wpa_supplicant/wpa_supplicant.conf" einfo - einfo "An example configuration file is available as" - einfo "/usr/share/doc/${PF}/wpa_supplicant.conf.gz" + einfo "An example configuration file is available in" + einfo "/usr/share/doc/${PF}/" if [[ -e ${ROOT}etc/wpa_supplicant.conf ]] ; then echo @@ -226,10 +226,10 @@ ewarn "needs to be moved to ${ROOT}etc/wpa_supplicant/wpa_supplicant.conf" fi - if use madwifi; then + if use madwifi ; then echo einfo "This package compiles against the headers installed by" einfo "madwifi-old, madwifi-ng or madwifi-ng-tools." - einfo "You should remerge ${PN} after upgrading these packages." + einfo "You should re-emerge ${PN} after upgrading these packages." fi }