diff --git a/app-admin/awscli/Manifest b/app-admin/awscli/Manifest index f36b1fff2517d..7ae09e1c1362a 100644 --- a/app-admin/awscli/Manifest +++ b/app-admin/awscli/Manifest @@ -4,3 +4,4 @@ DIST aws-cli-1.40.45.gh.tar.gz 2967475 BLAKE2B 28092036db51577455f041f709d061ee1 DIST aws-cli-1.41.0.gh.tar.gz 2969960 BLAKE2B 739a9ea462fd8dee2bf345cdd0841bf3dff190b95e9f52a46025c504512a3ea7ba0bdbfaa501f927bac943546e8373af5308405aa40fe1bc387b36b4cfe59f53 SHA512 c56c2a28847288da7cdbbc7f929fb17eea2a7cc1a1a4afbbf7e67ba8a310f798ec29b59000ff70d10090f83ca72ee18b00bceb8da89505992cba7e45df4c7c45 DIST aws-cli-1.41.1.gh.tar.gz 2970251 BLAKE2B 444307854e0e46fef7d6cb1a94a9eb75a60b4a506ce460944a9450dad292be3b3b0e069d55b58a0b907bb273df3d294a0cbeebf48d195593c9c557c3a9d60b1f SHA512 7e63f6c1a1cfe174b36762346108280931493678bc2ccea88e07c32050569d2424c280a8106f45ec4671c9a80b0905aedec32f74336e7c0244094c5942b7edee DIST aws-cli-1.41.2.gh.tar.gz 2971441 BLAKE2B 0fbc2ee721deec37c5d9acfb809c49f9f5bf9d8f13c7a2352c58ec7af8c2d47d078b9e73ec0cbfed772514e7d9a884d98df12de482f43da9ffc06538dd82a918 SHA512 a813babafc8d3feb74efad684bc81610e3170f7a759d4014c2e9309e8c335ec3dfe8b2d7bd434eb5416c45c7dd444316853f8a1192f4b3ecbcf1313aff07df49 +DIST aws-cli-1.41.3.gh.tar.gz 2971817 BLAKE2B 86e8400c24bbf189b69ca992fc7c345e2a7687237d86769b627bc53904cbebadb1e3f2da871fc7a5eadfca61d4bdacb58dc50b17294672921603f7784f5a08f6 SHA512 8da77a0873f46791af8ca43c4e5de118ea17a6cb8f0993a8dda066c495211c8f04846acf6e098a53f6afd4770099435dc28f2018dfe3bd19795835487fda832c diff --git a/app-admin/awscli/awscli-1.41.3.ebuild b/app-admin/awscli/awscli-1.41.3.ebuild new file mode 100644 index 0000000000000..ba1a897f1ae2a --- /dev/null +++ b/app-admin/awscli/awscli-1.41.3.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.13.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 +}