diff --git a/app-admin/awscli/Manifest b/app-admin/awscli/Manifest index 27d1f1c0aba70..0c6a0e8166c63 100644 --- a/app-admin/awscli/Manifest +++ b/app-admin/awscli/Manifest @@ -4,3 +4,4 @@ DIST aws-cli-1.40.26.gh.tar.gz 2942606 BLAKE2B c51358e13c22826ebf3cb4aa3e3989440 DIST aws-cli-1.40.27.gh.tar.gz 2943484 BLAKE2B c3ae3cb147df5614871f45a88cfa20320f7d3921513b86a5b20b72928679c8d218d6e3615aa34474b81bec846076968046aee547c7c25cb20505f98adb0f26a8 SHA512 d6b29c1b4e729cb2c67cc8d99d87754d6a677e2287bfd56ec02d045b4805cc0295d5b2228bc4e67c9952a5c1392aefe3bdaec0571569a3ffee468ad7eedb6eb5 DIST aws-cli-1.40.28.gh.tar.gz 2943844 BLAKE2B 64dc8d57c3910a75b5e378f4b1bfb73d89b0e014ae22b60a54f41e92a954198a926b74d442a72a6a1d6ef04032b3c3d0d6c4517f0eb852d8a671940c9ed110df SHA512 a8ff3ce294853f24fc046a5608221b10aab057b7ec593286c6dffa6e051e0919464357b1fd3c5c3c2b8f41affb207f6a580f89b7966f9236bce8407c77231ecd DIST aws-cli-1.40.29.gh.tar.gz 2944376 BLAKE2B 439641fc7af58d824d6008eebf6d8778311c38eecd9b52db6b0862ef09af60394d3f7964102bc5da0d613099ba99a4395c8888915af50c87789f31e5fce66270 SHA512 524a5c0d28ad8c7fdc3be9715e3c95b1e86707e52f8d616679686c02111af74887f004ba75d51a28bfb393615412c2cdef08510d482ce733752f41079134d53f +DIST aws-cli-1.40.30.gh.tar.gz 2944861 BLAKE2B bb255683c4d6473fa0577408831ce4f540ff1768bfc5f3c527be70ff6085346221a6ea7562cc741e1684d973e9c452623c4eceb8c0fc4bd5ceb8ec065868e257 SHA512 553b78bbbcb99d2557ac8879ef34aed502f4c3528d94431d7cc8b70e93e2f5d019d9c04bcb2e310f32d40092d2bc8cb6c2c4f5875dfe189392997cc77200b048 diff --git a/app-admin/awscli/awscli-1.40.30.ebuild b/app-admin/awscli/awscli-1.40.30.ebuild new file mode 100644 index 0000000000000..41a65570d1037 --- /dev/null +++ b/app-admin/awscli/awscli-1.40.30.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 +}