diff --git a/app-admin/awscli/Manifest b/app-admin/awscli/Manifest index 1da3e2c259e54..e57e15899b72b 100644 --- a/app-admin/awscli/Manifest +++ b/app-admin/awscli/Manifest @@ -7,3 +7,4 @@ DIST aws-cli-1.42.31.gh.tar.gz 2981435 BLAKE2B 823e801d5810dc6598c7227e0acf496e0 DIST aws-cli-1.42.32.gh.tar.gz 2981500 BLAKE2B 6c9afa7ef76b5e6055278651f0b1b1ad7530e1c205864dc1ce73af17485d995776e1bdca0288419fdb58e179d3ed8dae894f50330cc38e58f3d5a81eee8bb4e2 SHA512 5521769a287ca63a15e6f57adb6c958e993448172c9c07e6935ca104158c339681999f140a99bb7eec9df20dbbec3a591892d0a3855c1446e88b174297d8a072 DIST aws-cli-1.42.33.gh.tar.gz 2982168 BLAKE2B bc015af90ede02fb2bf3979219c08534d79f6909b04c021ad44e91f3e2b43e4b18cab2614b50ed10267a96a272daca711fd6fe1b7758406e876896f2abe32a66 SHA512 567be099ccc6a921d8b32264d4f6b459268346b53c258f2451d4e5896664d1eccc0cd5063670501628666ef39b0d9c829552de4ec0e3c4adfd0f8ce8d6eb7a5b DIST aws-cli-1.42.34.gh.tar.gz 2982283 BLAKE2B a9c887295b255b66d5e36ca5b134600ba9bee3bdcab30df36d396c032128c4f2d77a2e151962a656f85b80ccc017f7200060f530d9c5aaee78a6f6de333249c2 SHA512 52424623f7cdc16fdb12a44c9dd6d08be9f294730e71dc204b0274931e6214aef1952c10caee38ddf2ef8f069265928bb0406731dcfdc9fa0805a0e915525cb0 +DIST aws-cli-1.42.35.gh.tar.gz 2982862 BLAKE2B ec020776ecc815a8c1a6b7bc59cb979bdddab65ef7299d899378bcf8b52f51918f0961cbd7136cd6cc643d40273131d5100f9345bb55f59565eeb42baeef6729 SHA512 2460d38cae6ebd513609ab0ff16303e797c252109f14057f2742398ac81a29b417b64839fd2dbddf6c1d31fda8580cd32a320078964d46cb4aca58b6ad97836d diff --git a/app-admin/awscli/awscli-1.42.35.ebuild b/app-admin/awscli/awscli-1.42.35.ebuild new file mode 100644 index 0000000000000..ee5aa1768d2cc --- /dev/null +++ b/app-admin/awscli/awscli-1.42.35.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..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, 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.14.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 +}