From e97fef1229c581727a1bee2e97eae133e2049b38 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 14 Sep 2024 18:15:34 +0200 Subject: [PATCH] python312Packages.cybox: init at 2.1.0.21 Library for parsing, manipulating, and generating CybOX content https://github.com/CybOXProject/python-cybox/ --- .../python-modules/cybox/default.nix | 56 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 58 insertions(+) create mode 100644 pkgs/development/python-modules/cybox/default.nix diff --git a/pkgs/development/python-modules/cybox/default.nix b/pkgs/development/python-modules/cybox/default.nix new file mode 100644 index 000000000000..24c991a05862 --- /dev/null +++ b/pkgs/development/python-modules/cybox/default.nix @@ -0,0 +1,56 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + fetchpatch, + lxml, + mixbox, + pytestCheckHook, + python-dateutil, + pythonOlder, + setuptools, +}: + +buildPythonPackage rec { + pname = "cybox"; + version = "2.1.0.21"; + pyproject = true; + + disabled = pythonOlder "3.9"; + + src = fetchFromGitHub { + owner = "CybOXProject"; + repo = "python-cybox"; + rev = "refs/tags/v${version}"; + hash = "sha256-Gn/gH7pvvOqLIGExgCNa5KswPazIZUZXdQe3LRAUVjw="; + }; + + patches = [ + # Import ABC from collections.abc for Python 3 compatibility, https://github.com/CybOXProject/python-cybox/pull/332 + (fetchpatch { + name = "collections-abc.patch"; + url = "https://github.com/CybOXProject/python-cybox/commit/fd4631dac12943d89e9ea2e94105cbc3b81d52f9.patch"; + hash = "sha256-dXEsJujtbU/SuUBge8abWgMPeYO1ZR3c5758Bd0dnwE="; + }) + ]; + + build-system = [ setuptools ]; + + dependencies = [ + lxml + mixbox + python-dateutil + ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + pythonImportsCheck = [ "cybox" ]; + + meta = { + description = "Library for parsing, manipulating, and generating CybOX content"; + homepage = "https://github.com/CybOXProject/python-cybox/"; + changelog = "https://github.com/CybOXProject/python-cybox/blob/${src.rev}/CHANGES.txt"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 369756f6c9a0..af64eeecc385 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2767,6 +2767,8 @@ self: super: with self; { cxxheaderparser = callPackage ../development/python-modules/cxxheaderparser { }; + cybox = callPackage ../development/python-modules/cybox { }; + cycler = callPackage ../development/python-modules/cycler { }; cyclonedx-python-lib = callPackage ../development/python-modules/cyclonedx-python-lib { };