nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at devShellTools-shell 91 lines 2.0 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 fetchpatch, 6 pkg-config, 7 libnl, 8 openssl, 9}: 10 11stdenv.mkDerivation rec { 12 pname = "hostapd-mana"; 13 version = "2.6.5"; 14 15 src = fetchFromGitHub { 16 owner = "sensepost"; 17 repo = "hostapd-mana"; 18 rev = version; 19 hash = "sha256-co5LMJAUYSdcvhLv1gfjDvdVqdSXgjtFoiQ7+KxR07M="; 20 }; 21 22 patches = [ 23 # Fix compile errors with GCC 10 on newer Kali 24 (fetchpatch { 25 url = "https://github.com/sensepost/hostapd-mana/commit/8581994d8d19646da63e1e37cde27dd4c966e526.patch"; 26 hash = "sha256-UBkhuqvX1nFiceECAIC9B13ReKbrAAUtPKjqD17mQgg="; 27 }) 28 ]; 29 30 nativeBuildInputs = [ pkg-config ]; 31 buildInputs = [ 32 libnl 33 openssl 34 ]; 35 36 extraConfig = '' 37 CONFIG_DRIVER_WIRED=y 38 CONFIG_LIBNL32=y 39 CONFIG_EAP_SIM=y 40 CONFIG_EAP_AKA=y 41 CONFIG_EAP_AKA_PRIME=y 42 CONFIG_EAP_PAX=y 43 CONFIG_EAP_PWD=y 44 CONFIG_EAP_SAKE=y 45 CONFIG_EAP_GPSK=y 46 CONFIG_EAP_GPSK_SHA256=y 47 CONFIG_EAP_FAST=y 48 CONFIG_EAP_IKEV2=y 49 CONFIG_EAP_TNC=y 50 CONFIG_EAP_EKE=y 51 CONFIG_RADIUS_SERVER=y 52 CONFIG_IEEE80211R=y 53 CONFIG_IEEE80211N=y 54 CONFIG_IEEE80211AC=y 55 CONFIG_FULL_DYNAMIC_VLAN=y 56 CONFIG_VLAN_NETLINK=y 57 CONFIG_TLS=openssl 58 CONFIG_TLSV11=y 59 CONFIG_TLSV12=y 60 CONFIG_INTERNETWORKING=y 61 CONFIG_HS20=y 62 CONFIG_ACS=y 63 CONFIG_GETRANDOM=y 64 CONFIG_SAE=y 65 ''; 66 67 postPatch = '' 68 substituteInPlace hostapd/Makefile --replace /usr/local $out 69 ''; 70 71 configurePhase = '' 72 runHook preConfigure 73 cd hostapd 74 cp -v defconfig .config 75 echo "$extraConfig" >> .config 76 export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config --cflags libnl-${lib.versions.major libnl.version}.0)" 77 runHook postConfigure 78 ''; 79 80 preInstall = '' 81 mkdir -p $out/bin 82 ''; 83 84 meta = with lib; { 85 homepage = "https://github.com/sensepost/hostapd-mana"; 86 description = "Featureful rogue wifi access point tool"; 87 license = licenses.bsd3; 88 maintainers = with maintainers; [ bbjubjub ]; 89 platforms = platforms.linux; 90 }; 91}