1{ lib 2, buildPythonPackage 3, fetchFromGitHub 4, importlib-metadata 5, packageurl-python 6, poetry-core 7, pytestCheckHook 8, pythonOlder 9, requirements-parser 10, setuptools 11, toml 12, types-setuptools 13, types-toml 14, tox 15}: 16 17buildPythonPackage rec { 18 pname = "cyclonedx-python-lib"; 19 version = "0.11.1"; 20 format = "pyproject"; 21 22 disabled = pythonOlder "3.6"; 23 24 src = fetchFromGitHub { 25 owner = "CycloneDX"; 26 repo = pname; 27 rev = "v${version}"; 28 sha256 = "sha256-+Gu9WaGC2R5TC8XSqDNSJ3t7aMS69IeeKTzytYFcHvE="; 29 }; 30 31 nativeBuildInputs = [ 32 poetry-core 33 ]; 34 35 propagatedBuildInputs = [ 36 importlib-metadata 37 packageurl-python 38 requirements-parser 39 setuptools 40 toml 41 types-setuptools 42 types-toml 43 ]; 44 45 checkInputs = [ 46 pytestCheckHook 47 tox 48 ]; 49 50 postPatch = '' 51 substituteInPlace pyproject.toml \ 52 --replace 'setuptools = "^50.3.2"' 'setuptools = "*"' \ 53 --replace 'importlib-metadata = "^4.8.1"' 'importlib-metadata = "*"' 54 ''; 55 56 pythonImportsCheck = [ 57 "cyclonedx" 58 ]; 59 60 meta = with lib; { 61 description = "Python library for generating CycloneDX SBOMs"; 62 homepage = "https://github.com/CycloneDX/cyclonedx-python-lib"; 63 license = with licenses; [ asl20 ]; 64 maintainers = with maintainers; [ fab ]; 65 }; 66}