Unverified Commit 7b5e70cc authored by Gaétan Lepage's avatar Gaétan Lepage Committed by GitHub
Browse files

wapiti: 3.2.2 -> 3.2.4 (#403435)

parents c2dcf9be e1d9f8da
Loading
Loading
Loading
Loading
+67 −47
Original line number Diff line number Diff line
{
  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;
    [
  dependencies = with python3Packages; [
    aiocache
    aiohttp
    aiosqlite
      arsenic
    beautifulsoup4
    browser-cookie3
    dnspython
@@ -39,29 +50,33 @@ python3.pkgs.buildPythonApplication rec {
    mako
    markupsafe
    mitmproxy
      prance
    msgpack
    packaging
    pyasn1
      six
    sqlalchemy
    tld
    typing-extensions
    urwid
    yaswfp
    ]
    ++ httpx.optional-dependencies.brotli
    ++ httpx.optional-dependencies.socks
    ++ prance.optional-dependencies.osv;
    wapiti-arsenic
    wapiti-swagger
  ];

  __darwinAllowLocalNetworking = true;

  nativeCheckInputs = with python3.pkgs; [
  nativeCheckInputs =
    with python3Packages;
    [
      respx
      pytest-asyncio
      pytest-cov-stub
      pytestCheckHook
    ]
    ++ [
      versionCheckHook
      writableTmpDirAsHomeHook
    ];

  preCheck = ''
    export HOME=$(mktemp -d);
  '';
  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";
  };
}
+60 −0
Original line number Diff line number Diff line
{
  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 ];
  };
}
+42 −0
Original line number Diff line number Diff line
{
  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 −0
Original line number Diff line number Diff line
@@ -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 { };