1{ stdenv
2, lib
3, buildPythonPackage
4, fetchFromGitHub
5, fetchpatch
6, isPy27
7, pytestCheckHook
8, autoconf
9, automake
10, cmake
11, gcc
12, libtool
13, perl
14, simplejson
15}:
16
17buildPythonPackage rec {
18 pname = "awslambdaric";
19 version = "2.0.0";
20 disabled = isPy27;
21
22 src = fetchFromGitHub {
23 owner = "aws";
24 repo = "aws-lambda-python-runtime-interface-client";
25 rev = version;
26 sha256 = "1amlaq119mk8fa3fxi3d6vgp83vcd81mbk53jzbixacklmcsp50k";
27 };
28
29 patches = [
30 (fetchpatch {
31 # https://github.com/aws/aws-lambda-python-runtime-interface-client/pull/58
32 url = "https://github.com/aws/aws-lambda-python-runtime-interface-client/commit/162c3c0051bb9daa92e4a2a4af7e90aea60ee405.patch";
33 sha256 = "09qqq5x6npc9jw2qbhzifqn5sqiby4smiin1aw30psmlp21fv7j8";
34 })
35 ];
36
37 postPatch = ''
38 substituteInPlace requirements/base.txt \
39 --replace 'simplejson==3' 'simplejson~=3'
40 '';
41
42 propagatedBuildInputs = [ simplejson ];
43
44 nativeBuildInputs = [ autoconf automake cmake libtool perl ];
45
46 buildInputs = [ gcc ];
47
48 dontUseCmakeConfigure = true;
49
50 nativeCheckInputs = [ pytestCheckHook ];
51
52 disabledTests = [
53 # Test fails with: Assertion error
54 "test_handle_event_request_fault_exception_logging_syntax_error"
55 ];
56
57 pythonImportsCheck = [ "awslambdaric" "runtime_client" ];
58
59 meta = with lib; {
60 broken = (stdenv.isLinux && stdenv.isAarch64);
61 description = "AWS Lambda Runtime Interface Client for Python";
62 homepage = "https://github.com/aws/aws-lambda-python-runtime-interface-client";
63 license = licenses.asl20;
64 maintainers = with maintainers; [ austinbutler ];
65 platforms = platforms.linux;
66 };
67}