diff --git a/app-admin/awscli/Manifest b/app-admin/awscli/Manifest index 105138ed1a6a6..e9c1b17339b17 100644 --- a/app-admin/awscli/Manifest +++ b/app-admin/awscli/Manifest @@ -1,3 +1,4 @@ DIST aws-cli-1.38.18.gh.tar.gz 2942596 BLAKE2B 263926ed648f37eca2b1376ad26ac25c5c6d82182c5a3ce0c3511c7b6ba2958db5e6a09c5d4e7fcc702515240b30e4cec952f9f3d47f7d7dcfe5b1078fd3217e SHA512 4cc5eb7e7e1f5c81b7cfe96c09b5996fb8d2148d7b8352a9bbafb9d162fb6b60b58450c7dc0fb717e779928c2d708fa4538cb4e2c6cf6fb33d5e52952d18472f DIST aws-cli-1.38.23.gh.tar.gz 2945172 BLAKE2B e60a7465a8f03e73244eee0e8993f35cdfd4210aa16fa63ad2b5813420b0401fd7a8589da68f61c18f4c4a3aef198ac05b1e2d48ba51d0300135ea3b1d54d547 SHA512 c3bf38d2cc3e7b1f783ca9424f64bcb9c1757874d47bc7d44e98f9c42f4e1841749ec0d8a984b249215aefe1e2c44f55ff76708fb8ac630ce5bd8375a230197b DIST aws-cli-1.38.28.gh.tar.gz 2949031 BLAKE2B be411308619abb7ff1f8abfae4ab4c6112b65e2536bca52202ac612f0159cef30f9a8776e0dc489d201542fd0688b9803eaacff617c726e9f859944548851497 SHA512 6134a58f4e980e13a4bca958df3c6b7c0b8401d1cdb64db7942bebbb583830e675b482d4ad9cea673110c11c06960558c3c846c6c6f2bb7e6c6a2c41acd00615 +DIST aws-cli-1.38.29.gh.tar.gz 2949237 BLAKE2B 2061ecc61cc25a0731c7af36016cd862f8283b3bee16af3b297f5f77f24b3dcc2c25b00bb35dde96dd10b3a76ba3cacf3465f378049ffd90c68ce34644e7d96d SHA512 f7bd4a674e538797e7fd35b967dd24e7aa51edecc5d053b5affba088407065e88aeefe9c19f043a720fbb761c69d2db3deea317e771fc043ab602f6ceb404cc9 diff --git a/app-admin/awscli/awscli-1.38.29.ebuild b/app-admin/awscli/awscli-1.38.29.ebuild new file mode 100644 index 0000000000000..88651d723a583 --- /dev/null +++ b/app-admin/awscli/awscli-1.38.29.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_{10..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-1).z +BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) - 1)).$(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.11.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 +}