diff --git a/app-admin/awscli/Manifest b/app-admin/awscli/Manifest index 5524ec0e9937b..b689a49d946e2 100644 --- a/app-admin/awscli/Manifest +++ b/app-admin/awscli/Manifest @@ -6,3 +6,4 @@ DIST aws-cli-1.43.5.gh.tar.gz 3022688 BLAKE2B 9246ea7ef59101488d290de46e109516c3 DIST aws-cli-1.44.1.gh.tar.gz 3042753 BLAKE2B 5e38a206fddb39c7f74dcee1dbc81fb0a667910077c799476699255f8e62ae7c281677d88b88728368c2b5b3203f2afdaed94d3cf1673f0a6bf4e85c91cd1251 SHA512 20713c9dfa9bddf458d9b68fdac335a22c67ee6dd265da88777011ab3205ee23430f45b33a3c8edc8b8fec029caeced6bf18cd3ba0962c68059e0a60a60ad4f1 DIST aws-cli-1.44.2.gh.tar.gz 3044823 BLAKE2B 5d9353256b48d5316b0b5e3645a87181dfca0e66286b082f58155c7407a7a8f86d5cc9903f309f67527ae6c4dc7cdd23e32bb6474c52a153546bf7937dbb2b6f SHA512 c495a5837f9535c07e23c98d96cba7eff633f945fbe917c2e00b079bda5feab8cc8ae1c07f90c092c4f199fff762d2568691cd992c66d3f5cd3f81cbe73e5380 DIST aws-cli-1.44.3.gh.tar.gz 3049079 BLAKE2B e6cc8cd02d0cefc444be17517ad6e7ae7e1ff6affd4b448cf7b8c46eab6d2b3c275b8fc8449ae71d55daa84a622c718f5226c663c961b8e2837524432bb1fe48 SHA512 17a9083d9e9b272efa17bf43568099c37d1cccde05b4224cbe6962f79ab070bd18f61a4496a6fdb11453cc2c0a1e13cb2a561ba6436a20c7c98991101ef7c0ef +DIST aws-cli-1.44.4.gh.tar.gz 3049973 BLAKE2B a493a4831e894949d04bf88ae8fc273319f876cce2e52d6621bfee5c591a4975c2ff753dea978b418344487a4351596499b7cb280ed1ab3e39e70c4582fd493e SHA512 1228ff933b02cab986753a80c6f76e60fc0b5256a5dd8d2dc80e3d197a0056e83fce472fba40d0ac49654c117b867b58f832f1d037ed7c1dd76142f72c0e2ca0 diff --git a/app-admin/awscli/awscli-1.44.4.ebuild b/app-admin/awscli/awscli-1.44.4.ebuild new file mode 100644 index 0000000000000..8451829d28798 --- /dev/null +++ b/app-admin/awscli/awscli-1.44.4.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..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 +}