1{ stdenv
2, lib
3, buildPythonPackage
4, fetchFromGitHub
5, fetchpatch
6, mock
7, parameterized
8, pyelftools
9, pytestCheckHook
10, pythonOlder
11, six
12}:
13
14buildPythonPackage rec {
15 pname = "aws-lambda-builders";
16 version = "1.28.0";
17 format = "setuptools";
18
19 disabled = pythonOlder "3.7";
20
21 src = fetchFromGitHub {
22 owner = "awslabs";
23 repo = "aws-lambda-builders";
24 rev = "refs/tags/v${version}";
25 hash = "sha256-JSN51zwIh9N/Id3fhBXjmwGa2tLK/LoyPlHPl2rbVU4=";
26 };
27
28 propagatedBuildInputs = [
29 six
30 ];
31
32 patches = [
33 # This patch can be removed once https://github.com/aws/aws-lambda-builders/pull/475 has been merged.
34 (fetchpatch {
35 name = "setuptools-66-support";
36 url = "https://patch-diff.githubusercontent.com/raw/aws/aws-lambda-builders/pull/475.patch";
37 sha256 = "sha256-EkYQ6DNzbSnvkOads0GFwpGzeuBoLVU42THlSZNOHMc=";
38 })
39 ];
40
41 nativeCheckInputs = [
42 mock
43 parameterized
44 pyelftools
45 pytestCheckHook
46 ];
47
48 disabledTests = [
49 # CLI don't work in the sandbox
50 "test_run_hello_workflow"
51 # Don't tests integrations
52 "TestCustomMakeWorkflow"
53 "TestDotnet31"
54 "TestDotnet6"
55 "TestGoWorkflow"
56 "TestJavaGradle"
57 "TestJavaMaven"
58 "TestNodejsNpmWorkflow"
59 "TestNodejsNpmWorkflowWithEsbuild"
60 "TestPipRunner"
61 "TestPythonPipWorkflow"
62 "TestRubyWorkflow"
63 "TestRustCargo"
64 # Tests which are passing locally but not on Hydra
65 "test_copy_dependencies_action_1_multiple_files"
66 "test_move_dependencies_action_1_multiple_files"
67 ];
68
69 pythonImportsCheck = [
70 "aws_lambda_builders"
71 ];
72
73 meta = with lib; {
74 broken = (stdenv.isLinux && stdenv.isAarch64);
75 description = "Tool to compile, build and package AWS Lambda functions";
76 homepage = "https://github.com/awslabs/aws-lambda-builders";
77 changelog = "https://github.com/aws/aws-lambda-builders/releases/tag/v${version}";
78 longDescription = ''
79 Lambda Builders is a Python library to compile, build and package
80 AWS Lambda functions for several runtimes & frameworks.
81 '';
82 license = licenses.asl20;
83 maintainers = with maintainers; [ dhkl ];
84 };
85}