1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 mock,
6 parameterized,
7 pip,
8 pyelftools,
9 pytestCheckHook,
10 pythonOlder,
11 setuptools,
12 six,
13}:
14
15buildPythonPackage rec {
16 pname = "aws-lambda-builders";
17 version = "1.57.0";
18 pyproject = true;
19
20 disabled = pythonOlder "3.8";
21
22 src = fetchFromGitHub {
23 owner = "awslabs";
24 repo = "aws-lambda-builders";
25 tag = "v${version}";
26 hash = "sha256-09SWe+uHsSmnxxZMqAeeg7z4MHex7oTgIHWO0jf6FQs=";
27 };
28
29 postPatch = ''
30 substituteInPlace setup.py \
31 --replace-fail "version=read_version()," 'version="${version}",'
32 '';
33
34 build-system = [ setuptools ];
35
36 dependencies = [ six ];
37
38 nativeCheckInputs = [
39 mock
40 parameterized
41 pip
42 pyelftools
43 pytestCheckHook
44 ];
45
46 disabledTests = [
47 # CLI don't work in the sandbox
48 "test_run_hello_workflow"
49 # Don't tests integrations
50 "TestCustomMakeWorkflow"
51 "TestDotnet31"
52 "TestDotnet6"
53 "TestGoWorkflow"
54 "TestJavaGradle"
55 "TestJavaMaven"
56 "TestNodejsNpmWorkflow"
57 "TestNodejsNpmWorkflowWithEsbuild"
58 "TestPipRunner"
59 "TestPythonPipWorkflow"
60 "TestRubyWorkflow"
61 "TestRustCargo"
62 "test_with_mocks"
63 # Tests which are passing locally but not on Hydra
64 "test_copy_dependencies_action_1_multiple_files"
65 "test_move_dependencies_action_1_multiple_files"
66 ];
67
68 disabledTestPaths = [
69 # Dotnet binary needed
70 "tests/integration/workflows/dotnet_clipackage/test_dotnet.py"
71 ];
72
73 pythonImportsCheck = [ "aws_lambda_builders" ];
74
75 meta = with lib; {
76 description = "Tool to compile, build and package AWS Lambda functions";
77 mainProgram = "lambda-builders";
78 homepage = "https://github.com/awslabs/aws-lambda-builders";
79 changelog = "https://github.com/aws/aws-lambda-builders/releases/tag/${src.tag}";
80 longDescription = ''
81 Lambda Builders is a Python library to compile, build and package
82 AWS Lambda functions for several runtimes & frameworks.
83 '';
84 license = licenses.asl20;
85 maintainers = with maintainers; [ dhkl ];
86 };
87}