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