diff --git a/app-admin/awscli/Manifest b/app-admin/awscli/Manifest index 3f0de8c1f374a..0ba974070f46e 100644 --- a/app-admin/awscli/Manifest +++ b/app-admin/awscli/Manifest @@ -9,3 +9,4 @@ DIST aws-cli-1.44.51.gh.tar.gz 3080052 BLAKE2B 43843760eee0c29c35a4f155d993ab5cb DIST aws-cli-1.44.52.gh.tar.gz 3081179 BLAKE2B 904ec041ce318a80deebe4b363c6a7b3d4c9fefc3dc8aa7c6108c251196145a3b62aaa760680d6b5feeab3fe80b9092735726e51ff9bdc01401b2cd679ba333e SHA512 33ea8c1382f1cc9f684ad09b8e07d903a20f7299a1ae1059a85ff620d5a7cb0d92ad2aa9e001f1ed3567397f75de50f09a706d01848e31af94b3ddb739a955be DIST aws-cli-1.44.53.gh.tar.gz 3083146 BLAKE2B 7179c55e10785c741c89c9ee0099ba8ba3847bb4fd268536adec02428b80329951ad77518357e54374e22286d4f4ea7abb4cdf0da1fe72085ad10c9f213f3c2f SHA512 c75568a7250e16fd9a943e1124cc7b994f46cd13fd2706c3db2c3cd90cdace9a3e51c214e79cbb8389cf27203c2807028b6af65a777de3de675cfd4e5091586c DIST aws-cli-1.44.54.gh.tar.gz 3083247 BLAKE2B e8c52eae785314fe3bff4012a5bcac0622e28e44c8587234388fa127a52e2c719277367e6599d9666667031cf4475c221cee075969372cae036675e40c261476 SHA512 98612b50b567beb9dc52c64029df51eb3657573dcd546b9ee05301277453f4feb06cd5f74221219243b1520cee60e8c858bc725f563d9c142290c96d5aa48d86 +DIST aws-cli-1.44.55.gh.tar.gz 3083244 BLAKE2B 8679a18b62c6d37a123f5dfd16d3f6a7daf6ddef75322c95a1437c681a79d0673dd811bd1aafa662554b58ff5bdacfac6af3afcf70594e9837c323bf8f2a9026 SHA512 3e8f4830a9fd74fcde1e4cac95fb0696a02fc185a2c2111aa41e947881563be6ea006a1889a36ae487221605a2534b0f483c5e6bdb02c136d77b4e524004f095 diff --git a/app-admin/awscli/awscli-1.44.55.ebuild b/app-admin/awscli/awscli-1.44.55.ebuild new file mode 100644 index 0000000000000..993f89ea1d78e --- /dev/null +++ b/app-admin/awscli/awscli-1.44.55.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 +}