159e378cbb
GitOrigin-RevId: c04d5652cfa9742b1d519688f65d1bbccea9eb7e
94 lines
2.2 KiB
Nix
94 lines
2.2 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
buildPythonPackage,
|
|
chardet,
|
|
colorama,
|
|
distutils,
|
|
fetchFromGitHub,
|
|
netaddr,
|
|
pycurl,
|
|
pyparsing,
|
|
pytestCheckHook,
|
|
pythonOlder,
|
|
setuptools,
|
|
six,
|
|
fetchpatch2,
|
|
}:
|
|
|
|
buildPythonPackage rec {
|
|
pname = "wfuzz";
|
|
version = "3.1.0";
|
|
pyproject = true;
|
|
|
|
disabled = pythonOlder "3.7";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "xmendez";
|
|
repo = "wfuzz";
|
|
rev = "refs/tags/v${version}";
|
|
hash = "sha256-RM6QM/iR00ymg0FBUtaWAtxPHIX4u9U/t5N/UT/T6sc=";
|
|
};
|
|
|
|
patches = [
|
|
# replace use of imp module for Python 3.12
|
|
# https://github.com/xmendez/wfuzz/pull/365
|
|
(fetchpatch2 {
|
|
url = "https://github.com/xmendez/wfuzz/commit/f4c028b9ada4c36dabf3bc752f69f6ddc110920f.patch?full_index=1";
|
|
hash = "sha256-t7pUMcdFmwAsGUNBRdZr+Jje/yR0yzeGIgeYNEq4hFE=";
|
|
})
|
|
];
|
|
|
|
postPatch = ''
|
|
substituteInPlace setup.py \
|
|
--replace-fail "pyparsing>=2.4*" "pyparsing>=2.4"
|
|
'';
|
|
|
|
build-system = [ setuptools ];
|
|
|
|
dependencies = [
|
|
chardet
|
|
distutils # src/wfuzz/plugin_api/base.py
|
|
pycurl
|
|
six
|
|
setuptools
|
|
pyparsing
|
|
] ++ lib.optionals stdenv.hostPlatform.isWindows [ colorama ];
|
|
|
|
nativeCheckInputs = [
|
|
netaddr
|
|
pytestCheckHook
|
|
];
|
|
|
|
preCheck = ''
|
|
export HOME=$(mktemp -d)
|
|
'';
|
|
|
|
disabledTestPaths = [
|
|
# The tests are requiring a local web server
|
|
"tests/test_acceptance.py"
|
|
"tests/acceptance/test_saved_filter.py"
|
|
# depends on imp module removed from Python 3.12
|
|
"tests/test_moduleman.py"
|
|
];
|
|
|
|
pythonImportsCheck = [ "wfuzz" ];
|
|
|
|
postInstall = ''
|
|
mkdir -p $out/share/wordlists/wfuzz
|
|
cp -R -T "wordlist" "$out/share/wordlists/wfuzz"
|
|
'';
|
|
|
|
meta = with lib; {
|
|
changelog = "https://github.com/xmendez/wfuzz/releases/tag/v${version}";
|
|
description = "Web content fuzzer to facilitate web applications assessments";
|
|
longDescription = ''
|
|
Wfuzz provides a framework to automate web applications security assessments
|
|
and could help you to secure your web applications by finding and exploiting
|
|
web application vulnerabilities.
|
|
'';
|
|
homepage = "https://wfuzz.readthedocs.io";
|
|
license = with licenses; [ gpl2Only ];
|
|
maintainers = with maintainers; [ pamplemousse ];
|
|
};
|
|
}
|