diff --git a/app-admin/awscli/Manifest b/app-admin/awscli/Manifest index 415a5eb632197..93d75bad85bed 100644 --- a/app-admin/awscli/Manifest +++ b/app-admin/awscli/Manifest @@ -1,3 +1,4 @@ DIST aws-cli-1.40.12.gh.tar.gz 2932013 BLAKE2B 9770bb0826f4ef03e10e43baa12c3d839c6cdfddc5d3af93daef341f5ba3904a5491e067bbe5369366755c5c9edfaf3be71cd1aaea76657ccf64533f58925c51 SHA512 8b59d4b0b17f8e6b1c94e017db9fc59428dd0746a2d9de602e20f8ae43e26c40b408b09d1256548a8db9b582fab29f7719cfe1a504c862747cdede91664485fe DIST aws-cli-1.40.17.gh.tar.gz 2935251 BLAKE2B 59060ef00b3ca1a333dfeff2c76ccef26b61f15515fee3db8bbd4d285c604e3218a1285a288f77ec0c761a2458b9fe4352689bba8c8c132e8659301b461ed700 SHA512 4093f44779fe75cbacdaa30d56cb08e2c0b9f288db6fe6bd6ca06c6f92a16aec60a12f4082668c439291188e73d185c07453608750c9f77efa80fa73a194e8dc DIST aws-cli-1.40.22.gh.tar.gz 2940905 BLAKE2B c3af79b9fd54c63680c90874362fd8f38443a1bcc5e66d15fed493097c9682bb33df7030ef86b6aea9a626a7115a84f886a0e59fff67be78065a0925621aa6c2 SHA512 186e11a2ce971e1b8172887217768fc97068ea999c03672f1c4061050a00ac92125f1f4d18b22634ef0ca82194d9939a8ff1112240ebfee3b803522879f2d53d +DIST aws-cli-1.40.23.gh.tar.gz 2941377 BLAKE2B 725545873ab3bbb3b04a32608b07cba8234beb82a4f4954175b12a5ed99797352a99715e11dd93f5e428eeb7001927ef3d2a212481dc883ea68c74546a580893 SHA512 5c259784af2ea2b4b6a004a21b32185c25e339eab5d4116c7b5c5908e88e55c774a6d778b342461a7a9d67836391c9920a16ac8ae1ae1ba6e973816e1157172b diff --git a/app-admin/awscli/awscli-1.40.23.ebuild b/app-admin/awscli/awscli-1.40.23.ebuild new file mode 100644 index 0000000000000..41a65570d1037 --- /dev/null +++ b/app-admin/awscli/awscli-1.40.23.ebuild @@ -0,0 +1,93 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{11..13} ) + +inherit distutils-r1 shell-completion + +MY_P=aws-cli-${PV} +DESCRIPTION="Universal Command Line Environment for AWS" +HOMEPAGE=" + https://github.com/aws/aws-cli/ + https://pypi.org/project/awscli/ +" +SRC_URI=" + https://github.com/aws/aws-cli/archive/${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" + +# botocore is x.(y-2).(z+1), sigh +BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) - 2)).$(( $(ver_cut 3-) + 1 ))" +RDEPEND=" + >=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}] + dev-python/colorama[${PYTHON_USEDEP}] + dev-python/docutils[${PYTHON_USEDEP}] + dev-python/rsa[${PYTHON_USEDEP}] + >=dev-python/s3transfer-0.13.0[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + !app-admin/awscli-bin +" +BDEPEND=" + test? ( + dev-python/packaging[${PYTHON_USEDEP}] + dev-python/pytest-forked[${PYTHON_USEDEP}] + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_prepare() { + # do not rely on bundled deps in botocore (sic!) + find -name '*.py' -exec sed -i \ + -e 's:from botocore[.]vendored import:import:' \ + -e 's:from botocore[.]vendored[.]:from :' \ + {} + || die + # strip overzealous upper bounds on requirements + sed -i -e 's:,<[=0-9.]*::' -e 's:==:>=:' setup.py || die + distutils-r1_src_prepare +} + +python_test() { + local serial_tests=( + tests/functional/ecs/test_execute_command.py::TestExecuteCommand::test_execute_command_success + tests/functional/ssm/test_start_session.py::TestSessionManager::test_start_session_{fails,success} + tests/functional/ssm/test_start_session.py::TestSessionManager::test_start_session_with_new_version_plugin_success + tests/unit/customizations/codeartifact/test_adapter_login.py::TestDotNetLogin::test_login_dotnet_sources_listed_with_backtracking + tests/unit/customizations/codeartifact/test_adapter_login.py::TestDotNetLogin::test_login_dotnet_sources_listed_with_backtracking_windows + tests/unit/customizations/codeartifact/test_adapter_login.py::TestNuGetLogin::test_login_nuget_sources_listed_with_backtracking + tests/unit/customizations/ecs/test_executecommand_startsession.py::TestExecuteCommand::test_execute_command_success + tests/unit/customizations/test_sessionmanager.py + tests/unit/test_compat.py::TestIgnoreUserSignals + tests/unit/test_help.py + tests/unit/test_utils.py::TestIgnoreCtrlC::test_ctrl_c_is_ignored + ) + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + EPYTEST_XDIST= epytest "${serial_tests[@]}" + + local EPYTEST_DESELECT=( + "${serial_tests[@]}" + + # flaky (some ordering?) + tests/functional/s3/test_cp_command.py::TestCPCommand::test_multipart_upload_with_checksum_algorithm_crc32 + ) + # integration tests require AWS credentials and Internet access + epytest tests/{functional,unit} +} + +python_install_all() { + newbashcomp bin/aws_bash_completer aws + newzshcomp bin/aws_zsh_completer.sh _aws + + distutils-r1_python_install_all + + rm "${ED}"/usr/bin/{aws.cmd,aws_bash_completer,aws_zsh_completer.sh} || die +}