diff --git a/app-admin/awscli/Manifest b/app-admin/awscli/Manifest index bd7deb20136aa..5881b7ff99543 100644 --- a/app-admin/awscli/Manifest +++ b/app-admin/awscli/Manifest @@ -6,3 +6,4 @@ DIST aws-cli-1.40.37.gh.tar.gz 2951074 BLAKE2B 1c3947528c8fd2d2d6db7221c6cdb650f DIST aws-cli-1.40.38.gh.tar.gz 2951069 BLAKE2B d6e94b9adb54ba21e36a47fdf47f742e30c5d58d8b62273d5a16ff866f71c10e48120a734c4866e0f5149e7b62b4e5577884261f09acc67ccb47223aa722e7be SHA512 729c2900a3f30707b71c8e8b8708a9476528327f88e3a53c429e510711ced8e23f619fe695395d4eb4c1cb118a2b1c7250d1f75f0b7e75dfca1ecf546065a5e5 DIST aws-cli-1.40.39.gh.tar.gz 2961319 BLAKE2B b90e2f3c19c0fa870b5ec0a670ab54ca6d8964a553a1dbbf6cd68be6b458ba4e0b05fa7c01dbe7b0fbbe2c13df9254752e4c1e351c0c1d9cd395abf42096912b SHA512 fe97d8d8d4f91717060dd2166260289a4690f846c08fe1799303f7602e1770d19b9b2c5b78a1448136ce4decb484af8cb0a63687cff51c06aaa361871bc7a435 DIST aws-cli-1.40.40.gh.tar.gz 2961905 BLAKE2B 437b67a35d939bc1bc15203443ed2bd2ce19f4a652d40263460b0b322bffe4247f0ea72b09199d348fa3654abcabbf308ee976eadfdc7a4146afbc3bd9a90eab SHA512 b6a19cdc2edf2f65327e311357aba4374af2c9e630a6250488b21e12f82b0269689089a9f021afe11d6f77a018361a0044afba6de0af88c955c3792f290410bd +DIST aws-cli-1.40.41.gh.tar.gz 2962210 BLAKE2B 4447e7d4564ce1fb1f5306bb6fc86e9075681a6b1d567ad5f40f0f131b0c9dfc5b27a8e1a2c97cb3f911a267c632ea3c6dcdf98632dfe031558c081791f5186b SHA512 ce1116d75b48f6a9cdf3f5fba83abe77cd70ff65d1cdb689da3749ab5a28c1895b77b6868ec6422b901203749ef5f5143e71d0323199aac2a8fff45cc762f944 diff --git a/app-admin/awscli/awscli-1.40.41.ebuild b/app-admin/awscli/awscli-1.40.41.ebuild new file mode 100644 index 0000000000000..41a65570d1037 --- /dev/null +++ b/app-admin/awscli/awscli-1.40.41.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_{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+1), sigh +BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) - 2)).$(( $(ver_cut 3-) + 1 ))" +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}] + 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 +}