nixpkgs/pkgs/development/python-modules/cybox/default.nix
Fabian Affolter e97fef1229 python312Packages.cybox: init at 2.1.0.21
Library for parsing, manipulating, and generating CybOX content

https://github.com/CybOXProject/python-cybox/
2024-09-14 18:15:34 +02:00

56 lines
1.3 KiB
Nix

{
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 ];
};
}