depot/third_party/nixpkgs/pkgs/development/tools/skjold/default.nix

80 lines
1.8 KiB
Nix
Raw Normal View History

{ lib
, fetchFromGitHub
, fetchpatch
, python3
}:
python3.pkgs.buildPythonApplication rec {
pname = "skjold";
version = "0.4.1";
format = "pyproject";
src = fetchFromGitHub {
owner = "twu";
repo = pname;
rev = "v${version}";
hash = "sha256-xz6N7/LS3wOymh9tet8OLgsSaretzuMU4hQd+LeUPJ4=";
};
nativeBuildInputs = with python3.pkgs; [
poetry-core
];
propagatedBuildInputs = with python3.pkgs; [
click
packaging
pyyaml
toml
];
checkInputs = with python3.pkgs; [
pytest-mock
pytest-watch
pytestCheckHook
];
patches = [
# Switch to poetry-core, https://github.com/twu/skjold/pull/91
(fetchpatch {
name = "switch-poetry-core.patch";
url = "https://github.com/twu/skjold/commit/b341748c9b11798b6a5182d659a651b0f200c6f5.patch";
sha256 = "sha256-FTZTbIudO6lYO9tLD4Lh1h5zsTeKYtflR2tbbHZ5auM=";
})
];
postPatch = ''
substituteInPlace pyproject.toml \
--replace 'packaging = "^21.0"' 'packaging = "*"' \
--replace 'pyyaml = "^5.3"' 'pyyaml = "*"'
'';
disabledTestPaths = [
# Too sensitive to pass
"tests/test_cli.py"
];
disabledTests = [
# Requires network access
"pyup-werkzeug"
"test_ensure_accessing_advisories_triggers_update"
"test_ensure_accessing_advisories_triggers_update"
"test_ensure_gemnasium_update"
"test_ensure_missing_github_token_raises_usage_error"
"test_ensure_pypi_advisory_db_update"
"test_ensure_source_is_affected_single"
"test_osv_advisory_with_vulnerable_package_via_osv_api"
"urllib3"
];
pythonImportsCheck = [
"skjold"
];
meta = with lib; {
description = "Tool to Python dependencies against security advisory databases";
homepage = "https://github.com/twu/skjold";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}