wapiti: 3.2.2 -> 3.2.4 (#403435)

This commit is contained in:
Gaétan Lepage
2025-05-01 23:38:14 +02:00
committed by GitHub
4 changed files with 173 additions and 47 deletions
+67 -47
View File
@@ -1,67 +1,82 @@
{
lib,
fetchFromGitHub,
python3,
python3Packages,
fetchpatch,
versionCheckHook,
writableTmpDirAsHomeHook,
nix-update-script,
}:
python3.pkgs.buildPythonApplication rec {
python3Packages.buildPythonApplication rec {
pname = "wapiti";
version = "3.2.2";
version = "3.2.4";
pyproject = true;
src = fetchFromGitHub {
owner = "wapiti-scanner";
repo = "wapiti";
tag = version;
hash = "sha256-sa4bXZiY5yd0wynUjdLnuuX7Ee0w4APd1G/oGy5AUDk=";
hash = "sha256-97RYJKCk3oY715mgkFNstrrhWc1Q7jZqktqt7l8uzGs=";
};
patches = [
# Fixes:
# TypeError: AsyncClient.__init__() got an unexpected keyword argument 'proxies'
(fetchpatch {
name = "fix-wappalyzer-warnings";
url = "https://github.com/wapiti-scanner/wapiti/commit/77fe140f8ad4d2fb266f1b49285479f6af25d6b7.patch";
hash = "sha256-Htkpr+67V0bp4u8HbMP+yTZ4rlIWDadLZxLDSruDbZY=";
})
];
pythonRelaxDeps = true;
build-system = with python3.pkgs; [ setuptools ];
build-system = with python3Packages; [ setuptools ];
dependencies =
with python3.pkgs;
[
aiocache
aiohttp
aiosqlite
arsenic
beautifulsoup4
browser-cookie3
dnspython
h11
httpcore
httpx
httpx-ntlm
humanize
loguru
mako
markupsafe
mitmproxy
prance
pyasn1
six
sqlalchemy
tld
yaswfp
]
++ httpx.optional-dependencies.brotli
++ httpx.optional-dependencies.socks
++ prance.optional-dependencies.osv;
dependencies = with python3Packages; [
aiocache
aiohttp
aiosqlite
beautifulsoup4
browser-cookie3
dnspython
h11
httpcore
httpx
httpx-ntlm
humanize
loguru
mako
markupsafe
mitmproxy
msgpack
packaging
pyasn1
sqlalchemy
tld
typing-extensions
urwid
yaswfp
wapiti-arsenic
wapiti-swagger
];
__darwinAllowLocalNetworking = true;
nativeCheckInputs = with python3.pkgs; [
respx
pytest-asyncio
pytest-cov-stub
pytestCheckHook
];
preCheck = ''
export HOME=$(mktemp -d);
'';
nativeCheckInputs =
with python3Packages;
[
respx
pytest-asyncio
pytest-cov-stub
pytestCheckHook
]
++ [
versionCheckHook
writableTmpDirAsHomeHook
];
versionCheckProgramArg = "--version";
disabledTests = [
# Tests requires network access
@@ -140,7 +155,11 @@ python3.pkgs.buildPythonApplication rec {
pythonImportsCheck = [ "wapitiCore" ];
meta = with lib; {
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "Web application vulnerability scanner";
longDescription = ''
Wapiti allows you to audit the security of your websites or web applications.
@@ -152,7 +171,8 @@ python3.pkgs.buildPythonApplication rec {
'';
homepage = "https://wapiti-scanner.github.io/";
changelog = "https://github.com/wapiti-scanner/wapiti/blob/${version}/doc/ChangeLog_Wapiti";
license = licenses.gpl2Only;
maintainers = with maintainers; [ fab ];
license = lib.licenses.gpl2Only;
maintainers = with lib.maintainers; [ fab ];
mainProgram = "wapiti";
};
}
@@ -0,0 +1,60 @@
{
lib,
buildPythonPackage,
fetchPypi,
# build-system
poetry-core,
# dependencies
aiohttp,
attrs,
packaging,
structlog,
}:
buildPythonPackage rec {
pname = "wapiti-arsenic";
version = "28.2";
pyproject = true;
# Latest tag is not on GitHub
src = fetchPypi {
pname = "wapiti_arsenic";
inherit version;
hash = "sha256-QxjM0BsiHm/LPUuGLLPG6OUcr4YXBEpfJGTwKp1zTWQ=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "poetry>=0.12" "poetry-core" \
--replace-fail "poetry.masonry" "poetry.core.masonry"
'';
build-system = [
poetry-core
];
pythonRelaxDeps = [
"structlog"
];
dependencies = [
aiohttp
attrs
packaging
structlog
];
pythonImportsCheck = [ "wapiti_arsenic" ];
# No tests in the pypi archive
doCheck = false;
meta = {
description = "Asynchronous WebDriver client";
homepage = "https://github.com/wapiti-scanner/arsenic";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ GaetanLepage ];
};
}
@@ -0,0 +1,42 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
pyyaml,
pytestCheckHook,
}:
buildPythonPackage rec {
pname = "wapiti-swagger";
version = "0.1.9";
pyproject = true;
src = fetchFromGitHub {
owner = "wapiti-scanner";
repo = "wapiti_swagger";
tag = version;
hash = "sha256-On4R5+9+6w8CdZYQ8oxAfuxWTQZotkxjrIf497lETfw=";
};
build-system = [
setuptools
];
dependencies = [
pyyaml
];
pythonImportsCheck = [ "wapiti_swagger" ];
nativeCheckInputs = [
pytestCheckHook
];
meta = {
description = "Library for parsing and generating request bodies from Swagger/OpenAPI specifications";
homepage = "https://github.com/wapiti-scanner/wapiti_swagger";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ GaetanLepage ];
};
}
+4
View File
@@ -18778,6 +18778,10 @@ self: super: with self; {
wandb = callPackage ../development/python-modules/wandb { };
wapiti-arsenic = callPackage ../development/python-modules/wapiti-arsenic { };
wapiti-swagger = callPackage ../development/python-modules/wapiti-swagger { };
waqiasync = callPackage ../development/python-modules/waqiasync { };
warble = callPackage ../development/python-modules/warble { };