diff --git a/app-admin/awscli/Manifest b/app-admin/awscli/Manifest index ef9188175e810..7fffc245afaf8 100644 --- a/app-admin/awscli/Manifest +++ b/app-admin/awscli/Manifest @@ -8,3 +8,4 @@ DIST aws-cli-1.44.5.gh.tar.gz 3050295 BLAKE2B 5ef4713c49a5608c5bb2af17a0f9d71e08 DIST aws-cli-1.44.6.gh.tar.gz 3056549 BLAKE2B 79bba084886eb610168f030875149f36ca9e81aaac77a5465ea84be95a36d0aad22c48a05a54743f3816b12034c4bd03c6279ae72a0b69f73c19b824b7ba480f SHA512 58c22d606bb28ce1c7e84de6ecb3321df9d623c193605bfd3c84999db713ee7f6ca82e254a780fa35002d72cd11e37e4a69abd4fe5a8a7d4e777b07eaf792519 DIST aws-cli-1.44.7.gh.tar.gz 3056565 BLAKE2B c65d74973f229424145ee21a8e052dccaa7258a6cd8bced98a7895d4caef5ef2f0ee2cc58b21b0ba0edca21cd9837de43118a8c818afc8f6ab67ec8f62277875 SHA512 a927344ffd084eea0189bddd8b8c0e81ef36cf19f1b080994b194c41c4f4854158471123e34f20c333615e8749df0802de9ea957e942eb50737b166d85862e76 DIST aws-cli-1.44.8.gh.tar.gz 3051550 BLAKE2B d4c79e612c05ebcdacc63cba77291f158c0b5ef8cc8be9e572bfa4cc2d455a7bb1b41e70d48c23d457d243da8262355b555c4d2dc01386e534676ee44e713435 SHA512 12dae1358902a9dbe924bb4c58a48360a2be4294b107d93779b1d5ea82269cdb77b94e4178b89d71307ff4c179f89853ef9277a87da9caeb22f38d6e6027fbbc +DIST aws-cli-1.44.9.gh.tar.gz 3052811 BLAKE2B 0f459ca808a436c57c078107b28d4ff2e73964980e740c99959d7cefb823d23be4301f4695f5db73b2e35f14fb742a1475c94cc432a19b0ee2c83eaa34a0bc02 SHA512 76432b8adcc72bb8d10762490a7018fe95dfdd152437a57c19febf40502447e7156b315bfa9d654ff6bbe109a03fd1c87cce3be3c92924486871eb08ad702527 diff --git a/app-admin/awscli/awscli-1.44.9.ebuild b/app-admin/awscli/awscli-1.44.9.ebuild new file mode 100644 index 0000000000000..8451829d28798 --- /dev/null +++ b/app-admin/awscli/awscli-1.44.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..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 +}