1{ lib
2, buildPythonPackage
3, fetchPypi
4, dill
5, dnslib
6, dnspython
7, plux
8, pyaes
9, python-jose
10, requests
11, tabulate
12
13# Sensitive downstream dependencies
14, localstack
15}:
16
17buildPythonPackage rec {
18 pname = "localstack-ext";
19 version = "1.2.0";
20
21 src = fetchPypi {
22 inherit pname version;
23 sha256 = "sha256-F+FQJwvB1WH7qcfOG6IGY+ZlfKwz39UE5rwoQKnxaac=";
24 };
25
26 postPatch = ''
27 # Avoid circular dependency
28 sed -i '/localstack>=/d' setup.cfg
29
30 # Pip is unable to resolve attr logic, so it will emit version as 0.0.0
31 substituteInPlace setup.cfg \
32 --replace "version = attr: localstack_ext.__version__" "version = ${version}"
33 cat setup.cfg
34
35 substituteInPlace setup.cfg \
36 --replace "dill==0.3.2" "dill~=0.3.0" \
37 --replace "requests>=2.20.0,<2.26" "requests~=2.20"
38 '';
39
40 propagatedBuildInputs = [
41 dill
42 dnslib
43 dnspython
44 plux
45 pyaes
46 python-jose
47 requests
48 tabulate
49 ];
50
51 pythonImportsCheck = [ "localstack_ext" ];
52
53 # No tests in repo
54 doCheck = false;
55
56 passthru.tests = {
57 inherit localstack;
58 };
59
60 meta = with lib; {
61 description = "Extensions for LocalStack";
62 homepage = "https://github.com/localstack/localstack";
63 license = licenses.asl20;
64 maintainers = with maintainers; [ jonringer ];
65 };
66}