1{ buildPythonPackage
2, chardet
3, colorama
4, fetchFromGitHub
5, future
6, isPy27
7, lib
8, mock
9, netaddr
10, pycurl
11, pyparsing
12, pytest
13, pytestCheckHook
14, setuptools
15, six
16, stdenv
17}:
18
19buildPythonPackage rec {
20 pname = "wfuzz";
21 version = "3.1.0";
22
23 src = fetchFromGitHub {
24 owner = "xmendez";
25 repo = pname;
26 rev = "v${version}";
27 sha256 = "1izasczm2zwknwzxbfzqhlf4zp02jvb54ha1hfk4rlwiz0rr1kj4";
28 };
29
30 propagatedBuildInputs = [
31 chardet
32 pycurl
33 six
34 setuptools
35 pyparsing
36 ] ++ lib.optionals isPy27 [
37 mock
38 future
39 ] ++ lib.optionals stdenv.hostPlatform.isWindows [
40 colorama
41 ];
42
43 checkInputs = [
44 netaddr
45 pytest
46 pytestCheckHook
47 ] ++ lib.optionals isPy27 [
48 mock
49 ];
50
51 preCheck = "export HOME=$(mktemp -d)";
52 # The skipped tests are requiring a local web server
53 pytestFlagsArray = [ "tests/test_{moduleman,filterintro,reqresp,api,clparser}.py" ];
54 pythonImportsCheck = [ "wfuzz" ];
55
56 meta = with lib; {
57 description = "Web content fuzzer to facilitate web applications assessments";
58 longDescription = ''
59 Wfuzz provides a framework to automate web applications security assessments
60 and could help you to secure your web applications by finding and exploiting
61 web application vulnerabilities.
62 '';
63 homepage = "https://wfuzz.readthedocs.io";
64 license = with licenses; [ gpl2Only ];
65 maintainers = with maintainers; [ pamplemousse ];
66 };
67}