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