# Maintainer: Natanael Copa pkgname=wpa_supplicant pkgver=2.0 pkgrel=3 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_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 } 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 # 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="3be2ebfdcced52e00eda0afe2889839d wpa_supplicant-2.0.tar.gz 6023cac7f7fc6801e575f255af025368 musl-fix-types.patch 8c88d2418857028c8a8c8489b516f22a wpa_supplicant.initd bc117427f2c538439f3f1481a028ee06 wpa_supplicant.confd" sha256sums="2c115609fbb5223d51381084a5c944455a8afcda81d584173ff55ba233379e09 wpa_supplicant-2.0.tar.gz 2196f8850f72c5f269d2b5c1495c33e254c7c1526648e5cd4a51901205d3b45b musl-fix-types.patch 66b7fd1322540ed39120c453d6f8852b519b67e3efcb3abdc3a76733ff75ecb4 wpa_supplicant.initd 61ec59007f66ac5bacc0aa095d1f2ccbc977a687038e161a463d1727223d5a90 wpa_supplicant.confd" sha512sums="c3a599e1dfa5e0bb4b8d35ed49501696ce68c807ff458c1e3bff9ed5619c780f7117c6d8d7cb9a11351e9fad27cf83fc114f255c92552e7ba084de70c5f8e254 wpa_supplicant-2.0.tar.gz 64bc462d10f99f13098554db85d514530fcb85bc93d65843d0db66493cf7b6280e22540c95846d0f6c870f6cbd95cc8d4208675775e964988d97351bc716b7df musl-fix-types.patch 12a59d1f60f61aea6733add7d8a961fb728d27c156c49481775194cc655b1cec77f021624cf6a9cd93d0e5db12ebfca315a41801f03213919cf2b896b901f3bb wpa_supplicant.initd 29103161ec2b9631fca9e8d9a97fafd60ffac3fe78cf613b834395ddcaf8be1e253c22e060d7d9f9b974b2d7ce794caa932a2125e29f6494b75bce475f7b30e1 wpa_supplicant.confd"