diff --git a/pkgs/development/python-modules/rich-argparse-plus/default.nix b/pkgs/development/python-modules/rich-argparse-plus/default.nix new file mode 100644 index 000000000000..e152ce267f4c --- /dev/null +++ b/pkgs/development/python-modules/rich-argparse-plus/default.nix @@ -0,0 +1,57 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, flit-core +, rich +, pytestCheckHook +, pythonOlder +}: + +buildPythonPackage rec { + pname = "rich-argparse-plus"; + version = "0.3.1.4"; + format = "pyproject"; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "michelcrypt4d4mus"; + repo = "rich-argparse-plus"; + rev = "v${version}"; + hash = "sha256-oF2wuvyLYwObVJ4fhJl9b/sdfmQ2ahgKkfd9ZwObfPw="; + }; + + nativeBuildInputs = [ + flit-core + ]; + + propagatedBuildInputs = [ + rich + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "rich_argparse_plus" + ]; + + disabledTests = [ + # Tests are comparing CLI output + "test_spans" + "test_actions_spans_in_usage" + "test_boolean_optional_action_spans" + "test_usage_spans_errors" + "test_text_highlighter" + "test_default_highlights" + ]; + + meta = with lib; { + description = "Library to help formatting argparse"; + homepage = "https://github.com/michelcrypt4d4mus/rich-argparse-plus"; + changelog = "https://github.com/michelcrypt4d4mus/rich-argparse-plus/blob/${version}/CHANGELOG.md"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/tools/security/yaralyzer/default.nix b/pkgs/tools/security/yaralyzer/default.nix new file mode 100644 index 000000000000..a384280c2f40 --- /dev/null +++ b/pkgs/tools/security/yaralyzer/default.nix @@ -0,0 +1,46 @@ +{ lib +, python3 +, fetchFromGitHub +}: + +python3.pkgs.buildPythonApplication rec { + pname = "yaralyzer"; + version = "0.9.0"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "michelcrypt4d4mus"; + repo = "yaralyzer"; + rev = "refs/tags/v${version}"; + hash = "sha256-QsMO/fnHy4puuToUHSS05fWnXHdAVnWFFBVq3cb0Zj4="; + }; + + pythonRelaxDeps = [ + "rich" + ]; + + nativeBuildInputs = with python3.pkgs; [ + poetry-core + pythonRelaxDepsHook + ]; + + propagatedBuildInputs = with python3.pkgs; [ + chardet + python-dotenv + rich + rich-argparse-plus + yara-python + ]; + + pythonImportsCheck = [ + "yaralyzer" + ]; + + meta = with lib; { + description = "Tool to visually inspect and force decode YARA and regex matches"; + homepage = "https://github.com/michelcrypt4d4mus/yaralyzer"; + changelog = "https://github.com/michelcrypt4d4mus/yaralyzer/blob/${version}/CHANGELOG.md"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e8d2d057a1a8..26db9c75aa1f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -38865,6 +38865,8 @@ with pkgs; yara = callPackage ../tools/security/yara { }; + yaralyzer = callPackage ../tools/security/yaralyzer { }; + yarGen = callPackage ../tools/security/yarGen { }; yersinia = callPackage ../tools/security/yersinia { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b975adf84dc1..240153b8e10e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -10101,6 +10101,8 @@ self: super: with self; { rich = callPackage ../development/python-modules/rich { }; + rich-argparse-plus = callPackage ../development/python-modules/rich-argparse-plus { }; + rich-click = callPackage ../development/python-modules/rich-click { }; rich-rst = callPackage ../development/python-modules/rich-rst { };