diff --git a/app-admin/awscli/Manifest b/app-admin/awscli/Manifest index 90ce2f4335cdc..61a2c5f822c70 100644 --- a/app-admin/awscli/Manifest +++ b/app-admin/awscli/Manifest @@ -9,3 +9,4 @@ DIST aws-cli-1.44.75.gh.tar.gz 3109467 BLAKE2B f5ac143c037f5067027e97b059b8e0858 DIST aws-cli-1.44.76.gh.tar.gz 3110917 BLAKE2B bb71b5efe74d9065ecaff4e3a7866157fa41b0c2271f138a703eb809b242ce16d2e77e8c331959619d48df57ab4cb1fe453e9f3ef1105f773f683be288af2eed SHA512 4a66cff0aef1030bfb7cf99ab9823094fdc1da5416dfecc321f09dec842393785a2afe16859276da686e8fef5da5dd917a458d43dfbcb20743152fbc594cd08c DIST aws-cli-1.44.77.gh.tar.gz 3112383 BLAKE2B 386c13c0556788ab1de83e7442006b98d3c77555ebb34b1b62951210a4a56ea3f7fefd4487e3f066d7240369b31da1aa401a9dda0058ed0a32cf3ab71075f9b7 SHA512 8f176cad308fa0228421aa1d15e365a35897476b3f3754756c402cbcd59366cbcf553a22361edcc53141173f0dd6ba5fc22796fb7d6306a3f00a5cd9939f3e01 DIST aws-cli-1.44.78.gh.tar.gz 3113712 BLAKE2B 058bb5fd747eec76a6713f7171f6dd280f61551768d00cc31a4271b4bacd922af887592ecd9cda776a2266290802c36dc3e78d3c057937f7646e059959f77408 SHA512 9c7476fbe8b904de3b91bc198444c41c295ea7a56449b4896ab3c7aac44bd151d0eacefaf8341944ddda7a8769950404b3ebb2b107a889504dd81d6cf0e65377 +DIST aws-cli-1.44.79.gh.tar.gz 3114561 BLAKE2B d4f46ad2b59a3925ca2c683f3f8493acca86d843aa583bf154594a024b50005c39309fed0bbe19e374e1cc5e4202852ecbdad870a5a35bb42c79de0d573c9831 SHA512 95a1cbe82a1b60ee59d945897894196903a6cdcda0ac5b5b84ff290ecc775a6236d59255a6b165fa57e510df2c337e84132c35988119030b29ea1b593eb9a52f diff --git a/app-admin/awscli/awscli-1.44.79.ebuild b/app-admin/awscli/awscli-1.44.79.ebuild new file mode 100644 index 0000000000000..993f89ea1d78e --- /dev/null +++ b/app-admin/awscli/awscli-1.44.79.ebuild @@ -0,0 +1,92 @@ +# Copyright 1999-2026 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+10), sigh +BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) - 2)).$(( $(ver_cut 3) + 10 ))" +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.16.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 +}