Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / python-modules / localstack / default.nix
blob03af7530a26b0b483f759141160079c855c569c6
1 { lib
2 , buildPythonPackage
3 , fetchFromGitHub
4 , apispec
5 , boto3
6 , cachetools
7 , click
8 , localstack-client
9 , localstack-ext
10 , plux
11 , psutil
12 , python-dotenv
13 , pyyaml
14 , packaging
15 , requests
16 , rich
17 , semver
18 , tailer
21 buildPythonPackage rec {
22   pname = "localstack";
23   version = "2.3.2";
25   src = fetchFromGitHub {
26     owner = "localstack";
27     repo = "localstack";
28     rev = "refs/tags/v${version}";
29     hash = "sha256-8HrPnMmzoxgAhu3Qm18FBJ3kNoGOD7bGmI1t7tcETwM=";
30   };
32   postPatch = ''
33     substituteInPlace setup.cfg \
34       --replace "requests>=2.20.0,<2.26" "requests~=2.20" \
35       --replace "cachetools~=5.0.0" "cachetools~=5.0" \
36       --replace "boto3>=1.20,<1.25.0" "boto3~=1.20"
37   '';
39   propagatedBuildInputs = [
40     apispec
41     boto3
42     cachetools
43     click
44     localstack-client
45     localstack-ext
46     plux
47     psutil
48     python-dotenv
49     pyyaml
50     packaging
51     requests
52     rich
53     semver
54     tailer
55   ];
57   pythonImportsCheck = [ "localstack" ];
59   # Test suite requires boto, which has been removed from nixpkgs
60   # Just do minimal test, buildPythonPackage maps checkPhase
61   # to installCheckPhase, so we can test that entrypoint point works.
62   checkPhase = ''
63     $out/bin/localstack --version
64   '';
66   meta = with lib; {
67     description = "A fully functional local Cloud stack";
68     homepage = "https://github.com/localstack/localstack";
69     license = licenses.asl20;
70     maintainers = with maintainers; [ jonringer ];
71   };