nixpkgs/pkgs/development/python-modules/aws-lambda-builders/default.nix

93 lines
2.0 KiB
Nix

{ lib
, buildPythonPackage
, fetchFromGitHub
, mock
, parameterized
, pip
, pyelftools
, pytestCheckHook
, pythonOlder
, setuptools
, six
}:
buildPythonPackage rec {
pname = "aws-lambda-builders";
version = "1.48.0";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "awslabs";
repo = "aws-lambda-builders";
rev = "refs/tags/v${version}";
hash = "sha256-g1f0OL41lvs8OLyLcBk6XJk9wZO/oWluUj5sUcXlUIE=";
};
postPatch = ''
substituteInPlace setup.py \
--replace-fail "version=read_version()," 'version="${version}",'
'';
build-system = [
setuptools
];
dependencies = [
six
];
nativeCheckInputs = [
mock
parameterized
pip
pyelftools
pytestCheckHook
];
disabledTests = [
# CLI don't work in the sandbox
"test_run_hello_workflow"
# Don't tests integrations
"TestCustomMakeWorkflow"
"TestDotnet31"
"TestDotnet6"
"TestGoWorkflow"
"TestJavaGradle"
"TestJavaMaven"
"TestNodejsNpmWorkflow"
"TestNodejsNpmWorkflowWithEsbuild"
"TestPipRunner"
"TestPythonPipWorkflow"
"TestRubyWorkflow"
"TestRustCargo"
"test_with_mocks"
# Tests which are passing locally but not on Hydra
"test_copy_dependencies_action_1_multiple_files"
"test_move_dependencies_action_1_multiple_files"
];
disabledTestPaths = [
# Dotnet binary needed
"tests/integration/workflows/dotnet_clipackage/test_dotnet.py"
];
pythonImportsCheck = [
"aws_lambda_builders"
];
meta = with lib; {
description = "Tool to compile, build and package AWS Lambda functions";
mainProgram = "lambda-builders";
homepage = "https://github.com/awslabs/aws-lambda-builders";
changelog = "https://github.com/aws/aws-lambda-builders/releases/tag/v${version}";
longDescription = ''
Lambda Builders is a Python library to compile, build and package
AWS Lambda functions for several runtimes & frameworks.
'';
license = licenses.asl20;
maintainers = with maintainers; [ dhkl ];
};
}