diff --git a/app-admin/awscli/Manifest b/app-admin/awscli/Manifest index 0ff589719fdbc..23b634e3ccf51 100644 --- a/app-admin/awscli/Manifest +++ b/app-admin/awscli/Manifest @@ -3,3 +3,4 @@ DIST aws-cli-1.42.1.gh.tar.gz 2991474 BLAKE2B 32ebf86994739e081338aa16c1bbb3dca9 DIST aws-cli-1.42.6.gh.tar.gz 2993445 BLAKE2B 57166ba2409048626be42c5cc9b06f856fc26a43f7d1ae7fe650e6cfa32383c5745956e67f9fff5a019e2478ed9c5350c12acbe0fbc539db525baa4bd9ed91fa SHA512 f16265e7d12754f498fa52ea73f4b090ecc64cc1177aa154cf56e1eee80534702fd38155ebc8e8f61a3be4e03ea73a3814cc59ef2b4d5dc27452ee38ce758441 DIST aws-cli-1.42.7.gh.tar.gz 2994006 BLAKE2B 213f66b95808eb6ba0140a321f213ec2b372f0054fadb3c29c8a3b5165e1164a85d982a87cd09ab2906b842ab848abd0e5ad1cf8fced5d714ecdd1b144f430c1 SHA512 377b3dc9692bae3911caa6f06799d5c34c640d2a5c76589eeea697d70e6fdfce115fee5956994648075e0f22104a4910738b87172173cbcab4fcc0e9b7c4d4d5 DIST aws-cli-1.42.8.gh.tar.gz 2994506 BLAKE2B 9a769802362bacc19b256fadecfb151273f437a9462944b2b9f9397bf0cdf9f35545cf0d9a7e268db4106ded60333864033774b5b3fe96d5823ed9eb11a14249 SHA512 f6c9093a4b67fd9a5f5ba40bfe2fd66fe8592241abbf8dd81796c68c5afa37091ad17581153471f33aa34c5c165f2e25691578edb35b602be433bf0473d480d4 +DIST aws-cli-1.42.9.gh.tar.gz 2995999 BLAKE2B 4aab8981494fa03b3d784ca4f275e571fdef81c36cd10899306e2c50a0f0517449757d66c84af3d2e2a24df8d2612ba8af3b814fc61d51fd2f074dd6f4c2f9ae SHA512 3debcd21977002232f82753ccb701cc31fa520eff04f741a2ec0aada1972eb85f79207cfbff5d41e0049f2141768965b8990011d893df62a962cc1d0c8de9922 diff --git a/app-admin/awscli/awscli-1.42.9.ebuild b/app-admin/awscli/awscli-1.42.9.ebuild new file mode 100644 index 0000000000000..ba1a897f1ae2a --- /dev/null +++ b/app-admin/awscli/awscli-1.42.9.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 +}