aws-sam-cli: 1.53.0 -> 1.90.0
aws-sam-cli is too outdated, and can't create newer resources available in AWS, such as AWS Lambda functions with python3.10 runtime. This patch fixes this problem. Also, both patches were already applied upstream, as referenced below: * support-click-8-1.patch ->c887458ccf (diff-a7e8dd2d23df6667705bc0c8236e507a39bfb7b924ea21d0dca7715c296e43dc)
* use_forward_compatible_log_silencing.patch ->0fd46082d6 (diff-f0e7f12ebbb6534d97b6052531cf8ce2eb185739c213a148c1c76a429e6f4037)
Version 1.53.0 was released in Jun 29, 2022 on pypi https://github.com/aws/aws-sam-cli/releases/tag/v1.53.0 Version 1.90.0 was released in Jul 6, 2023 on pypi https://github.com/aws/aws-sam-cli/releases/tag/v1.90.0
This commit is contained in:
parent
ba6771c386
commit
9f5df22dba
3 changed files with 21 additions and 77 deletions
pkgs/development/tools/aws-sam-cli
|
@ -6,30 +6,32 @@
|
|||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "aws-sam-cli";
|
||||
version = "1.53.0";
|
||||
version = "1.90.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-kIW+aGYuS+JgOMsPbeLgPSgLFNKLSqHaZ1CHpjs/IVI=";
|
||||
hash = "sha256-JXUfc37O6cTTOCTTtWE05m+GR4iDyBsmRPyXoTRxFmo=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
aws-lambda-builders
|
||||
aws-sam-translator
|
||||
boto3
|
||||
cfn-lint
|
||||
chevron
|
||||
click
|
||||
cookiecutter
|
||||
dateparser
|
||||
python-dateutil
|
||||
docker
|
||||
flask
|
||||
jmespath
|
||||
requests
|
||||
pyopenssl
|
||||
pyyaml
|
||||
rich
|
||||
ruamel-yaml
|
||||
serverlessrepo
|
||||
tomlkit
|
||||
watchdog
|
||||
typing-extensions
|
||||
regex
|
||||
tzlocal
|
||||
watchdog
|
||||
];
|
||||
|
||||
postFixup = if enableTelemetry then "echo aws-sam-cli TELEMETRY IS ENABLED" else ''
|
||||
|
@ -37,39 +39,21 @@ python3.pkgs.buildPythonApplication rec {
|
|||
wrapProgram $out/bin/sam --set SAM_CLI_TELEMETRY 0
|
||||
'';
|
||||
|
||||
patches = [
|
||||
# Click 8.1 removed `get_terminal_size`, recommending
|
||||
# `shutil.get_terminal_size` instead.
|
||||
# (https://github.com/pallets/click/pull/2130)
|
||||
./support-click-8-1.patch
|
||||
# Werkzeug >= 2.1.0 breaks the `sam local start-lambda` command because
|
||||
# aws-sam-cli uses a "WERKZEUG_RUN_MAIN" hack to suppress flask output.
|
||||
# (https://github.com/cs01/gdbgui/issues/425)
|
||||
./use_forward_compatible_log_silencing.patch
|
||||
];
|
||||
|
||||
# fix over-restrictive version bounds
|
||||
postPatch = ''
|
||||
substituteInPlace requirements/base.txt \
|
||||
--replace "aws_lambda_builders==" "aws-lambda-builders #" \
|
||||
--replace "aws-sam-translator==1.46.0" "aws-sam-translator~=1.46" \
|
||||
--replace "click~=7.1" "click~=8.1" \
|
||||
--replace "cookiecutter~=1.7.2" "cookiecutter>=1.7.2" \
|
||||
--replace "dateparser~=1.0" "dateparser>=0.7" \
|
||||
--replace "docker~=4.2.0" "docker>=4.2.0" \
|
||||
--replace "Flask~=1.1.4" "Flask~=2.0" \
|
||||
--replace "jmespath~=0.10.0" "jmespath" \
|
||||
--replace "MarkupSafe==2.0.1" "MarkupSafe #" \
|
||||
--replace "PyYAML~=5.3" "PyYAML #" \
|
||||
--replace "regex==" "regex #" \
|
||||
--replace "requests==" "requests #" \
|
||||
--replace "typing_extensions==" "typing-extensions #" \
|
||||
--replace "tzlocal==3.0" "tzlocal #" \
|
||||
--replace "tomlkit==0.7.2" "tomlkit #" \
|
||||
--replace "watchdog==" "watchdog #"
|
||||
--replace 'PyYAML>=' 'PyYAML>=5.4.1 #' \
|
||||
--replace 'aws-sam-translator==1.70.0' 'aws-sam-translator>=1.60.1' \
|
||||
--replace 'boto3>=' 'boto3>=1.26.79 #' \
|
||||
--replace 'cfn-lint~=0.77.9' 'cfn-lint~=0.73.2' \
|
||||
--replace 'docker~=6.1.0' 'docker~=6.0.1' \
|
||||
--replace 'pyopenssl~=23.2.0' 'pyopenssl~=23.1.0' \
|
||||
--replace 'ruamel_yaml~=0.17.32' 'ruamel_yaml~=0.17.21' \
|
||||
--replace 'tomlkit==0.11.8' 'tomlkit~=0.11.6' \
|
||||
--replace 'typing_extensions~=4.4.0' 'typing_extensions~=4.4' \
|
||||
--replace 'tzlocal==3.0' 'tzlocal>=3.0' \
|
||||
--replace 'watchdog==' 'watchdog>=2.1.2 #'
|
||||
'';
|
||||
|
||||
# Tests are not included in the PyPI package
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
|
|
|
@ -1,21 +0,0 @@
|
|||
diff --git a/samcli/commands/_utils/table_print.py b/samcli/commands/_utils/table_print.py
|
||||
index de63af29..a9d0f2fe 100644
|
||||
--- a/samcli/commands/_utils/table_print.py
|
||||
+++ b/samcli/commands/_utils/table_print.py
|
||||
@@ -7,6 +7,7 @@ from functools import wraps
|
||||
from typing import Sized
|
||||
|
||||
import click
|
||||
+import shutil
|
||||
|
||||
MIN_OFFSET = 20
|
||||
|
||||
@@ -30,7 +31,7 @@ def pprint_column_names(
|
||||
|
||||
def pprint_wrap(func):
|
||||
# Calculate terminal width, number of columns in the table
|
||||
- width, _ = click.get_terminal_size()
|
||||
+ width, _ = shutil.get_terminal_size()
|
||||
# For UX purposes, set a minimum width for the table to be usable
|
||||
# and usable_width keeps margins in mind.
|
||||
width = max(width, min_width)
|
|
@ -1,19 +0,0 @@
|
|||
diff --git a/samcli/local/services/base_local_service.py b/samcli/local/services/base_local_service.py
|
||||
index 7b1ab95895d1..76812f02e00a 100644
|
||||
--- a/samcli/local/services/base_local_service.py
|
||||
+++ b/samcli/local/services/base_local_service.py
|
||||
@@ -56,9 +56,11 @@ class BaseLocalService:
|
||||
|
||||
LOG.debug("Localhost server is starting up. Multi-threading = %s", multi_threaded)
|
||||
|
||||
- # This environ signifies we are running a main function for Flask. This is true, since we are using it within
|
||||
- # our cli and not on a production server.
|
||||
- os.environ["WERKZEUG_RUN_MAIN"] = "true"
|
||||
+ # Suppress flask dev server output in a forward-compatible way
|
||||
+ # Source: https://github.com/cs01/gdbgui/issues/425#issuecomment-1119836533
|
||||
+ import flask.cli
|
||||
+
|
||||
+ flask.cli.show_server_banner = lambda *args: None
|
||||
|
||||
self._app.run(threaded=multi_threaded, host=self.host, port=self.port)
|
||||
|
Loading…
Reference in a new issue