1{ buildPythonPackage
2, chardet
3, configparser
4, fetchFromGitHub
5, future
6, isPy27
7, lib
8, mock
9, netaddr
10, pkgs
11, pyparsing
12, pycurl
13, pytest
14, six
15}:
16
17buildPythonPackage rec {
18 pname = "wfuzz";
19 version = "2.4.2";
20
21 src = fetchFromGitHub {
22 owner = "xmendez";
23 repo = pname;
24 rev = "v.${version}";
25 sha256 = "15dihrc7jsvpxcmb4fp254s633mkjm7ksjfkr9pqaai49qmnddyf";
26 };
27
28 buildInputs = [ pyparsing configparser ];
29
30 propagatedBuildInputs = [
31 chardet
32 future
33 pycurl
34 six
35 ];
36
37 checkInputs = [ netaddr pytest ] ++ lib.optionals isPy27 [ mock ];
38
39 # Skip tests requiring a local web server.
40 checkPhase = ''
41 HOME=$TMPDIR pytest \
42 tests/test_{moduleman,filterintro,reqresp,api,clparser,dotdict}.py
43 '';
44
45 meta = with lib; {
46 description = "Web content fuzzer, to facilitate web applications assessments";
47 homepage = "https://wfuzz.readthedocs.io";
48 license = licenses.gpl2;
49 maintainers = with maintainers; [ pamplemousse ];
50 };
51}