# Maintainer: Natanael Copa pkgname=wpa_supplicant pkgver=2.3 pkgrel=1 pkgdesc="A utility providing key negotiation for WPA wireless networks" url="http://hostap.epitest.fi/wpa_supplicant" arch="all" license="BSD" subpackages="$pkgname-doc $pkgname-gui" depends="dbus" makedepends="openssl-dev dbus-dev libnl3-dev qt-dev" source="http://hostap.epitest.fi/releases/$pkgname-$pkgver.tar.gz musl-fix-types.patch wpa_supplicant.initd wpa_supplicant.confd " _builddir="$srcdir"/$pkgname-$pkgver prepare() { cd "$_builddir" for i in $source; do case $i in *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; esac done cd "$_builddir"/wpa_supplicant # Toolchain setup echo "CC = ${CC:-gcc}" > .config # Basic setup echo "CONFIG_CTRL_IFACE=y" >> .config # dbus support echo "CONFIG_CTRL_IFACE_DBUS=y" >> .config echo "CONFIG_CTRL_IFACE_DBUS_NEW=y" >> .config echo "CONFIG_CTRL_IFACE_DBUS_INTRO=y" >> .config echo "CONFIG_BACKEND=file" >> .config # Basic authentication methods # NOTE: we don't set GPSK or SAKE as they conflict # with the below options echo "CONFIG_EAP_GTC=y" >> .config echo "CONFIG_EAP_MD5=y" >> .config echo "CONFIG_EAP_OTP=y" >> .config echo "CONFIG_EAP_PAX=y" >> .config echo "CONFIG_EAP_PSK=y" >> .config echo "CONFIG_EAP_TLV=y" >> .config echo "CONFIG_IEEE8021X_EAPOL=y" >> .config echo "CONFIG_PKCS12=y" >> .config echo "CONFIG_PEERKEY=y" >> .config echo "CONFIG_EAP_LEAP=y" >> .config echo "CONFIG_EAP_MSCHAPV2=y" >> .config echo "CONFIG_EAP_PEAP=y" >> .config echo "CONFIG_EAP_TLS=y" >> .config echo "CONFIG_EAP_TTLS=y" >> .config # debug # echo "CONFIG_DEBUG_FILE=y" >> .config # Smart card authentication #echo "CONFIG_EAP_SIM=y" >> .config #echo "CONFIG_EAP_AKA=y" >> .config #echo "CONFIG_EAP_AKA_PRIME=y" >> .config #echo "CONFIG_PCSC=y" >> .config # readline/history support for wpa_cli #echo "CONFIG_READLINE=y" >> .config # SSL authentication methods echo "CONFIG_TLS=openssl" >> .config echo "CONFIG_SMARTCARD=y" >> .config # use gnutls # echo "CONFIG_TLS=gnutls" >> .config # echo "CONFIG_GNUTLS_EXTRA=y" >> .config #echo "CONFIG_TLS=internal" >> .config # Linux specific drivers echo "CONFIG_DRIVER_ATMEL=y" >> .config #echo "CONFIG_DRIVER_BROADCOM=y" >> .config #echo "CONFIG_DRIVER_HERMES=y" >> .config echo "CONFIG_DRIVER_HOSTAP=y" >> .config echo "CONFIG_DRIVER_IPW=y" >> .config echo "CONFIG_DRIVER_NDISWRAPPER=y" >> .config echo "CONFIG_DRIVER_NL80211=y" >> .config #echo "CONFIG_DRIVER_PRISM54=y" >> .config echo "CONFIG_DRIVER_RALINK=y" >> .config echo "CONFIG_DRIVER_WEXT=y" >> .config echo "CONFIG_DRIVER_WIRED=y" >> .config # Add include path for madwifi-driver headers #echo "CFLAGS += -I/usr/include/madwifi" >> .config #echo "CONFIG_DRIVER_MADWIFI=y" >> .config # Wi-Fi Protected Setup (WPS) echo "CONFIG_WPS=y" >> .config # Enable mitigation against certain attacks against TKIP echo "CONFIG_DELAYED_MIC_ERROR_REPORT=y" >> .config echo "CONFIG_WPS2=y" >> .config echo "CONFIG_AP=y" >> .config echo "CONFIG_P2P=y" >> .config echo "CONFIG_LIBNL32=y" >> .config } build() { cd "$_builddir"/wpa_supplicant make LIBDIR=/lib BINDIR=/sbin || return 1 # comment out the network={ } stansas in config sed -i -e '/^network=/,/}/s/^/#/' wpa_supplicant.conf make wpa_gui-qt4 || return 1 make eapol_test || return 1 } package() { cd "$_builddir"/wpa_supplicant make DESTDIR="$pkgdir" LIBDIR=/lib BINDIR=/sbin install || return 1 install -Dm644 wpa_supplicant.conf \ "$pkgdir"/etc/wpa_supplicant/wpa_supplicant.conf install -Dm644 doc/docbook/wpa_supplicant.conf.5 \ "$pkgdir"/usr/share/man/man5/wpa_supplicant.conf.5 || return 1 for i in wpa_background wpa_cli wpa_passphrase wpa_supplicant; do install -Dm644 doc/docbook/$i.8 \ "$pkgdir"/usr/share/man/man8/$i.8 || return 1 done install -Dm755 eapol_test "$pkgdir"/sbin/eapol_test || return 1 # gui install -d "$pkgdir"/usr/bin install -m 0755 wpa_gui-qt4/wpa_gui "$pkgdir"/usr/bin/wpa_gui \ || return 1 # dbus cd dbus || return 1 install -d "$pkgdir"/etc/dbus-1/system.d install dbus-wpa_supplicant.conf \ "$pkgdir"/etc/dbus-1/system.d/wpa_supplicant.conf || return 1 install -d "$pkgdir"/usr/share/dbus-1/system-services install fi.epitest.hostap.WPASupplicant.service \ "$pkgdir"/usr/share/dbus-1/system-services || return 1 install -d "$pkgdir"/var/run/wpa_supplicant install -Dm755 "$srcdir"/wpa_supplicant.initd \ "$pkgdir"/etc/init.d/wpa_supplicant || return 1 install -Dm755 "$srcdir"/wpa_supplicant.confd \ "$pkgdir"/etc/conf.d/wpa_supplicant || return 1 } gui() { pkgdesc="Grafical User Interface for $pkgname" mkdir -p "$subpkgdir"/usr/bin mv "$pkgdir"/usr/bin/wpa_gui "$subpkgdir"/usr/bin/ } md5sums="f2ed8fef72cf63d8d446a2d0a6da630a wpa_supplicant-2.3.tar.gz 6023cac7f7fc6801e575f255af025368 musl-fix-types.patch 5ee64e2494a9e83740d2344dd5b9bb19 wpa_supplicant.initd bc117427f2c538439f3f1481a028ee06 wpa_supplicant.confd" sha256sums="eaaa5bf3055270e521b2dff64f2d203ec8040f71958b8588269a82c00c9d7b6a wpa_supplicant-2.3.tar.gz 2196f8850f72c5f269d2b5c1495c33e254c7c1526648e5cd4a51901205d3b45b musl-fix-types.patch 131828768c8f334b39bb5294398105ed4cd6d031908e6e9b00bb4a0938f5f7f2 wpa_supplicant.initd 61ec59007f66ac5bacc0aa095d1f2ccbc977a687038e161a463d1727223d5a90 wpa_supplicant.confd" sha512sums="dc64c0ff5581ca36e9c41f7663883d5bf6626a4418423233fa69b2c4b57c24fa120e0699c95613152be7775835a45bd9edbe5cc95456ac3ce699b546ddaee71e wpa_supplicant-2.3.tar.gz 64bc462d10f99f13098554db85d514530fcb85bc93d65843d0db66493cf7b6280e22540c95846d0f6c870f6cbd95cc8d4208675775e964988d97351bc716b7df musl-fix-types.patch 4a62879f6eb37226a2009a4bceb123c6e610c366c2369ee2fc84b66b79e8dddee5185a64cebe0331bafe13d61cf44c0bbbe3dce2620c0f4525c96afcb58dd362 wpa_supplicant.initd 29103161ec2b9631fca9e8d9a97fafd60ffac3fe78cf613b834395ddcaf8be1e253c22e060d7d9f9b974b2d7ce794caa932a2125e29f6494b75bce475f7b30e1 wpa_supplicant.confd"