diff --git a/app-admin/awscli/Manifest b/app-admin/awscli/Manifest index 8ebe13febe1ff..ebb3651a144ad 100644 --- a/app-admin/awscli/Manifest +++ b/app-admin/awscli/Manifest @@ -7,3 +7,4 @@ DIST aws-cli-1.42.59.gh.tar.gz 3002692 BLAKE2B 12fb8d42f378ac77b30cce65efb2ce826 DIST aws-cli-1.42.60.gh.tar.gz 3004332 BLAKE2B fe57fc05491a9d09d7d01b025b82b0d91966e100f6e7fcd5abfd5ababac3c8e2b6dd785e6ec6840eb2104ea2341bfa4e1839ea32e34c4ad70b71e12aa0a9d1a0 SHA512 08f09fd5634d36f34306dc9c1f9d74c17e16a16de333cc13bbe2a730dc03650a27b16e602f21d93e5bf979bb7d03483c6e0a9a74909481d8822da7172ae78b3c DIST aws-cli-1.42.61.gh.tar.gz 2995598 BLAKE2B 382573dc4f90f91aa6df7754fcafafbdec30ae911a63a7f0c6fdc09792dd7bb4113a80dbc0294d9a10c963b5a7c19232d731da1db7b3b051851be0bf48be3736 SHA512 da82eef56450522e221b1b8b2b2e446b45a34320238a6b9ceab05db5c682ac61f9e2b52eb6faafc3b44865de7bec859edf1b9b6efddc38b9f887c4c9749f4b56 DIST aws-cli-1.42.62.gh.tar.gz 2995443 BLAKE2B d3963ce689f89df50c5233703d5ddd4c82837e302d368cc7c894327c571357a40b91f10598fcaf3b68b7c970440c2ca22efcfb55d198d0be8e00057c1f98750e SHA512 31366e6577ffa3f97657d51f3c9ed49329e3368014b81285412b967f49aaab3c2698cd7cf292d13a3c6c657d136eb5c3b46af6aa49fc53bf36c8fcb4ad115e26 +DIST aws-cli-1.42.63.gh.tar.gz 2996207 BLAKE2B 2f36214c4174d1b53925d869e51b86743a56b8ca6d1adcb28e7291c39e5b3ff6b3ad7ad029bbf0fcd617e4ee8ed7c9a3aa08edabcc4396b4e4dade834f4ad077 SHA512 3c7276649c60b08f843273ea0da080bb69e3749fc4c4f89612f18f6113b506cb85c9bc2518c5ba21665fa9e9cc34a041b149d79e0225c6ca2e3a692c84c1670f diff --git a/app-admin/awscli/awscli-1.42.63.ebuild b/app-admin/awscli/awscli-1.42.63.ebuild new file mode 100644 index 0000000000000..6ebe418b8cfcd --- /dev/null +++ b/app-admin/awscli/awscli-1.42.63.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, 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.14.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 +}