diff --git a/app-admin/awscli/Manifest b/app-admin/awscli/Manifest index b5705e44c8a10..2b2c0f0c1411a 100644 --- a/app-admin/awscli/Manifest +++ b/app-admin/awscli/Manifest @@ -7,3 +7,4 @@ DIST aws-cli-1.42.74.gh.tar.gz 3005364 BLAKE2B 1550c3939370bcbc4f0eb50ff7eb22b20 DIST aws-cli-1.43.2.gh.tar.gz 3021667 BLAKE2B 96e997a173fa03330ac188874a2f2763c0d5e365e2b8a6d9eeeec7cbc54a03434efdf98bc11c91555bc2fe36a524f4338f308d7fcee53007645c9434732ee654 SHA512 a90b3523b7a10eba1c97fa0b4150619d0c67aef79e30da7d5e95f88d0a99e1d0256d9871ec4a2e19860b7a7afc91cbbd5bd57322e09041c8d2aa123295cb5f23 DIST aws-cli-1.43.3.gh.tar.gz 3022111 BLAKE2B bbe46437678f26e1b8060baf5b1205de32d5351011656177f976450c0ed76e7e11959a6fa2e9bc4315f3acc5aebaeb026cbdf20f3de3234c48d6a625f385c956 SHA512 d3e24f3f53a0c341186235b1f5580049877df3fd2e5e1242e73d1887f045d24aefce3aefb0f53b92ef06a56f93447de4f1de471851b9091db3bfd6629e49e88c DIST aws-cli-1.43.4.gh.tar.gz 3022320 BLAKE2B faaa4d355cca86d19e71c91e2840c166ecdc653b08c7de2af38b17d14a950dfd2d37709df4bb765d8fa37f699b770dbd138b9d0817600a3f20a0da9a76242222 SHA512 30f538629efb72795a9f4c87cca70a84af38770a3d9fd7bc00a088854e52b81b2f27cc5e6b7104498abb1d718664adf155f78dd3f14dcf07e8b2cb56210a7226 +DIST aws-cli-1.43.5.gh.tar.gz 3022688 BLAKE2B 9246ea7ef59101488d290de46e109516c36fad8444b90bd2e79692fdd6e26944839cc37be41a8e128f9ba27219a2ac711692552d196da5cdb59385f6b4ff3fa5 SHA512 511c02db2c90d60cb383684b37fcbf9cf42ba61e0e5a952a9974368dc55ef069d4149c39dcddcac1db2d8ce249167ae7e4c8dc2c04f9dfda80d9cc8d299f4634 diff --git a/app-admin/awscli/awscli-1.43.5.ebuild b/app-admin/awscli/awscli-1.43.5.ebuild new file mode 100644 index 0000000000000..60c71504d25b7 --- /dev/null +++ b/app-admin/awscli/awscli-1.43.5.ebuild @@ -0,0 +1,92 @@ +# 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..14} ) + +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, sigh +BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) - 2)).$(ver_cut 3-)" +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.15.0[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + !app-admin/awscli-bin +" +BDEPEND=" + test? ( + dev-python/packaging[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( pytest-forked ) +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 + ) + 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 +}