diff options
author | William A. Kennington III <william@wkennington.com> | 2015-04-24 13:27:40 -0700 |
---|---|---|
committer | William A. Kennington III <william@wkennington.com> | 2015-04-24 15:02:25 -0700 |
commit | 4ae59b199a45604735a01896a650f78684d48a5c (patch) | |
tree | b7374126a03fbaa549d63da0043c9a761261a1c0 /pkgs/os-specific/linux/wpa_supplicant | |
parent | c719235b403b65b040193419bf3fa1c356b6dda4 (diff) | |
download | nixlib-4ae59b199a45604735a01896a650f78684d48a5c.tar nixlib-4ae59b199a45604735a01896a650f78684d48a5c.tar.gz nixlib-4ae59b199a45604735a01896a650f78684d48a5c.tar.bz2 nixlib-4ae59b199a45604735a01896a650f78684d48a5c.tar.lz nixlib-4ae59b199a45604735a01896a650f78684d48a5c.tar.xz nixlib-4ae59b199a45604735a01896a650f78684d48a5c.tar.zst nixlib-4ae59b199a45604735a01896a650f78684d48a5c.zip |
wpa_supplicant: 2.3 -> 2.4
Diffstat (limited to 'pkgs/os-specific/linux/wpa_supplicant')
-rw-r--r-- | pkgs/os-specific/linux/wpa_supplicant/build-fix.patch | 12 | ||||
-rw-r--r-- | pkgs/os-specific/linux/wpa_supplicant/default.nix | 93 |
2 files changed, 81 insertions, 24 deletions
diff --git a/pkgs/os-specific/linux/wpa_supplicant/build-fix.patch b/pkgs/os-specific/linux/wpa_supplicant/build-fix.patch new file mode 100644 index 000000000000..a186cdad9697 --- /dev/null +++ b/pkgs/os-specific/linux/wpa_supplicant/build-fix.patch @@ -0,0 +1,12 @@ +diff --git a/wpa_supplicant/Makefile b/wpa_supplicant/Makefile +index 0f82af9..70564ff 100644 +--- a/wpa_supplicant/Makefile ++++ b/wpa_supplicant/Makefile +@@ -1558,6 +1558,7 @@ OBJS += $(CONFIG_MAIN).o + ifdef CONFIG_PRIVSEP + OBJS_priv += $(OBJS_d) ../src/drivers/drivers.o + OBJS_priv += $(OBJS_l2) ++OBJS_priv += ../src/crypto/crypto_openssl.o + OBJS_priv += ../src/utils/os_$(CONFIG_OS).o + OBJS_priv += ../src/utils/$(CONFIG_ELOOP).o + OBJS_priv += ../src/utils/common.o diff --git a/pkgs/os-specific/linux/wpa_supplicant/default.nix b/pkgs/os-specific/linux/wpa_supplicant/default.nix index 7e594e21849c..f6142bd630f6 100644 --- a/pkgs/os-specific/linux/wpa_supplicant/default.nix +++ b/pkgs/os-specific/linux/wpa_supplicant/default.nix @@ -1,47 +1,91 @@ -{ stdenv, fetchurl, lib, openssl, dbus_libs, pkgconfig, libnl -, readlineSupport ? true, readline +{ stdenv, fetchurl, lib, openssl, pkgconfig, libnl +, dbus_libs ? null, readline ? null, pcsclite ? null }: -assert readlineSupport -> readline != null; - +with stdenv.lib; stdenv.mkDerivation rec { - version = "2.3"; + version = "2.4"; name = "wpa_supplicant-${version}"; src = fetchurl { url = "http://hostap.epitest.fi/releases/${name}.tar.gz"; - sha256 = "0skvkl6c10ls4s48b2wmf47h9j1y40nlzxnzn8hyaw2j0prmpapa"; + sha256 = "08li21q1wjn5chrv289w666il9ah1w419y3dkq2rl4wnq0rci385"; }; - extraConfig = - '' - CONFIG_DEBUG_SYSLOG=y - CONFIG_CTRL_IFACE_DBUS=y - CONFIG_CTRL_IFACE_DBUS_NEW=y - CONFIG_CTRL_IFACE_DBUS_INTRO=y - CONFIG_DRIVER_NL80211=y - CONFIG_LIBNL32=y - ${stdenv.lib.optionalString readlineSupport "CONFIG_READLINE=y"} - ''; + # TODO: Patch epoll so that the dbus actually responds + # TODO: Figure out how to get privsep working, currently getting SIGBUS + extraConfig = '' + CONFIG_LIBNL32=y + CONFIG_EAP_FAST=y + CONFIG_EAP_PWD=y + CONFIG_EAP_PAX=y + CONFIG_EAP_SAKE=y + CONFIG_EAP_GPSK=y + CONFIG_EAP_GPSK_SHA256=y + CONFIG_WPS=y + CONFIG_WPS_ER=y + CONFIG_WPS_NFS=y + CONFIG_EAP_IKEV2=y + CONFIG_EAP_EKE=y + CONFIG_HT_OVERRIDES=y + CONFIG_VHT_OVERRIDES=y + CONFIG_ELOOP=eloop + #CONFIG_ELOOP_EPOLL=y + CONFIG_L2_PACKET=linux + CONFIG_IEEE80211W=y + CONFIG_TLS=openssl + CONFIG_TLSV11=y + CONFIG_TLSV12=y + CONFIG_IEEE80211R=y + CONFIG_DEBUG_SYSLOG=y + #CONFIG_PRIVSEP=y + CONFIG_IEEE80211N=y + CONFIG_IEEE80211AC=y + CONFIG_INTERNETWORKING=y + CONFIG_HS20=y + CONFIG_P2P=y + CONFIG_TDLS=y + '' + optionalString (pcsclite != null) '' + CONFIG_EAP_SIM=y + CONFIG_EAP_AKA=y + CONFIG_EAP_AKA_PRIME=y + CONFIG_PCSC=y + '' + optionalString (dbus_libs != null) '' + CONFIG_CTRL_IFACE_DBUS=y + CONFIG_CTRL_IFACE_DBUS_NEW=y + CONFIG_CTRL_IFACE_DBUS_INTRO=y + '' + (if readline != null then '' + CONFIG_READLINE=y + '' else '' + CONFIG_WPA_CLI_EDIT=y + ''); preBuild = '' cd wpa_supplicant cp -v defconfig .config echo "$extraConfig" >> .config - cat .config + cat -n .config substituteInPlace Makefile --replace /usr/local $out - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$(echo "${libnl}"/include/libnl*/)" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE \ + -I$(echo "${libnl}"/include/libnl*/) \ + -I${pcsclite}/include/PCSC/" ''; - buildInputs = [ openssl dbus_libs libnl ] - ++ lib.optional readlineSupport readline; + buildInputs = [ openssl libnl dbus_libs readline pcsclite ]; nativeBuildInputs = [ pkgconfig ]; - patches = [ ./0001-P2P-Validate-SSID-element-length-before-copying-it-C.patch ]; + patches = [ + ./0001-P2P-Validate-SSID-element-length-before-copying-it-C.patch + ./build-fix.patch + ]; postInstall = '' + # Copy the wpa_priv binary which is not installed + mkdir -p $out/bin + cp -v wpa_priv $out/bin + mkdir -p $out/share/man/man5 $out/share/man/man8 cp -v "doc/docbook/"*.5 $out/share/man/man5/ cp -v "doc/docbook/"*.8 $out/share/man/man8/ @@ -52,10 +96,11 @@ stdenv.mkDerivation rec { cp -v "systemd/"*.service $out/etc/systemd/system ''; - meta = { + meta = with stdenv.lib; { homepage = http://hostap.epitest.fi/wpa_supplicant/; description = "A tool for connecting to WPA and WPA2-protected wireless networks"; - maintainers = with stdenv.lib.maintainers; [marcweber urkud]; - platforms = stdenv.lib.platforms.linux; + license = licenses.bsd3; + maintainers = with maintainers; [ marcweber urkud wkennington ]; + platforms = platforms.linux; }; } |