Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / credstash / default.nix
blobdd950001c3d0d34f6ef224b69c1069e135829f9c
2   lib,
3   boto3,
4   buildPythonPackage,
5   cryptography,
6   docutils,
7   fetchFromGitHub,
8   fetchpatch,
9   pytestCheckHook,
10   pythonOlder,
11   pyyaml,
12   setuptools,
15 buildPythonPackage rec {
16   pname = "credstash";
17   version = "1.17.1";
18   pyproject = true;
20   disabled = pythonOlder "3.7";
22   src = fetchFromGitHub {
23     owner = "fugue";
24     repo = "credstash";
25     rev = "refs/tags/v${version}";
26     hash = "sha256-a6OzffGt5piHgi0AWEXJED0R/+8RETh/9hYJi/lUVu0=";
27   };
29   patches = [
30     # setup_requires -> tests_requires for pytest
31     (fetchpatch {
32       url = "https://github.com/fugue/credstash/commit/9c02ee43ed6e37596cafbca2fe80c532ec19d2d8.patch";
33       hash = "sha256-dlybrpfLK+PqwWWhH9iXgXHYysZGmcZAFGWNOwsG0xA=";
34     })
35   ];
36   # The install phase puts an executable and a copy of the library it imports in
37   # bin/credstash and bin/credstash.py, despite the fact that the library is also
38   # installed to lib/python<version>/site-packages/credstash.py.
39   # If we apply wrapPythonPrograms to bin/credstash.py then the executable will try
40   # to import the credstash module from the resulting shell script. Removing this
41   # file ensures that Python imports the module from site-packages library.
42   postInstall = "rm $out/bin/credstash.py";
44   build-system = [ setuptools ];
46   dependencies = [
47     boto3
48     cryptography
49     docutils
50     pyyaml
51   ];
53   nativeBuildInputs = [ pytestCheckHook ];
55   disabledTestPaths = [
56     # Tests require a region
57     "integration_tests/test_credstash_lib.py"
58     "tests/key_service_test.py"
59   ];
61   meta = with lib; {
62     description = "A utility for managing secrets in the cloud using AWS KMS and DynamoDB";
63     homepage = "https://github.com/LuminalOSS/credstash";
64     changelog = "https://github.com/fugue/credstash/releases/tag/v${version}";
65     license = licenses.asl20;
66     maintainers = with maintainers; [ ];
67     mainProgram = "credstash";
68   };