diff --git a/pkgs/tools/security/whispers/default.nix b/pkgs/tools/security/whispers/default.nix new file mode 100644 index 000000000000..07c1f1e707e4 --- /dev/null +++ b/pkgs/tools/security/whispers/default.nix @@ -0,0 +1,52 @@ +{ lib +, fetchFromGitHub +, python3 +}: + +python3.pkgs.buildPythonApplication rec { + pname = "whispers"; + version = "1.5.3"; + + src = fetchFromGitHub { + owner = "Skyscanner"; + repo = pname; + rev = version; + sha256 = "sha256-jruUGyoZCyMu015QKtlvfx5WRMfxo/eYUue9wUIWb6o="; + }; + + propagatedBuildInputs = with python3.pkgs; [ + astroid + beautifulsoup4 + jproperties + luhn + lxml + python-Levenshtein + pyyaml + ]; + + checkInputs = with python3.pkgs; [ + pytest-mock + pytestCheckHook + ]; + + postPatch = '' + substituteInPlace setup.py \ + --replace '"pytest-runner"' "" + ''; + + preCheck = '' + # Some tests need the binary available in PATH + export PATH=$out/bin:$PATH + ''; + + pythonImportsCheck = [ + "whispers" + ]; + + meta = with lib; { + description = "Tool to identify hardcoded secrets in static structured text"; + homepage = "https://github.com/Skyscanner/whispers"; + license = with licenses; [ asl20 ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a698cf8fb640..ea5f9f5a3078 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -29151,6 +29151,8 @@ with pkgs; wafw00f = python3Packages.callPackage ../tools/security/wafw00f { }; + whispers = callPackage ../tools/security/whispers { }; + waon = callPackage ../applications/audio/waon { }; w3m = callPackage ../applications/networking/browsers/w3m { };