nixpkgs/pkgs/by-name/aw/aws-encryption-sdk-cli/package.nix

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