84 lines
1.8 KiB
Nix
84 lines
1.8 KiB
Nix
{
|
|
lib,
|
|
aws-encryption-sdk-cli,
|
|
fetchPypi,
|
|
nix-update-script,
|
|
python3,
|
|
testers,
|
|
}:
|
|
|
|
let
|
|
localPython = python3.override {
|
|
self = localPython;
|
|
packageOverrides = final: prev: {
|
|
urllib3 = prev.urllib3.overridePythonAttrs (prev: rec {
|
|
pyproject = true;
|
|
version = "1.26.18";
|
|
nativeBuildInputs = with final; [ setuptools ];
|
|
src = prev.src.override {
|
|
inherit version;
|
|
hash = "sha256-+OzBu6VmdBNFfFKauVW/jGe0XbeZ0VkGYmFxnjKFgKA=";
|
|
};
|
|
});
|
|
};
|
|
};
|
|
in
|
|
|
|
localPython.pkgs.buildPythonApplication rec {
|
|
pname = "aws-encryption-sdk-cli";
|
|
version = "4.2.0";
|
|
pyproject = true;
|
|
|
|
src = fetchPypi {
|
|
inherit pname version;
|
|
hash = "sha256-gORrscY+Bgmz2FrKdSBd56jP0yuEklytMeA3wr8tTZU=";
|
|
};
|
|
|
|
build-system = with localPython.pkgs; [
|
|
setuptools
|
|
];
|
|
|
|
dependencies = with localPython.pkgs; [
|
|
attrs
|
|
aws-encryption-sdk
|
|
base64io
|
|
setuptools # for pkg_resources
|
|
urllib3
|
|
];
|
|
|
|
doCheck = true;
|
|
|
|
nativeCheckInputs = with localPython.pkgs; [
|
|
mock
|
|
pytest-mock
|
|
pytest7CheckHook
|
|
];
|
|
|
|
disabledTestPaths = [
|
|
# requires networking
|
|
"test/integration"
|
|
];
|
|
|
|
# Upstream did not adapt to pytest 8 yet.
|
|
pytestFlagsArray = [
|
|
"-W"
|
|
"ignore::pytest.PytestRemovedIn8Warning"
|
|
];
|
|
|
|
passthru = {
|
|
updateScript = nix-update-script { };
|
|
tests.version = testers.testVersion {
|
|
package = aws-encryption-sdk-cli;
|
|
command = "aws-encryption-cli --version";
|
|
};
|
|
};
|
|
|
|
meta = with lib; {
|
|
homepage = "https://aws-encryption-sdk-cli.readthedocs.io/";
|
|
changelog = "https://github.com/aws/aws-encryption-sdk-cli/blob/v${version}/CHANGELOG.rst";
|
|
description = "CLI wrapper around aws-encryption-sdk-python";
|
|
license = licenses.asl20;
|
|
mainProgram = "aws-encryption-cli";
|
|
maintainers = with maintainers; [ anthonyroussel ];
|
|
};
|
|
}
|