diff --git a/app-admin/awscli/Manifest b/app-admin/awscli/Manifest index e650c4d3b838e..32d75bb762065 100644 --- a/app-admin/awscli/Manifest +++ b/app-admin/awscli/Manifest @@ -12,3 +12,4 @@ DIST aws-cli-1.42.54.gh.tar.gz 2998041 BLAKE2B 7085346fa63d0329daa8d910d1067fcb8 DIST aws-cli-1.42.55.gh.tar.gz 2999565 BLAKE2B d7b1cf2368b998e9ad156fbdc220a2e322ffddebdaad8eb769344a31e95fcb37dc6db20606bd1379dd2ae08c50245011fd9570de4c778d4927563e893de2196f SHA512 9d65e19587f5b273afc7802e7fc97a3262ef24a1c07970359939005383de30d66b9cb30bdfc13cbe7dc3ccdf181bb4c15ff7e34a7987d203bfc285cba66cccf0 DIST aws-cli-1.42.56.gh.tar.gz 2999652 BLAKE2B c25024c1d8edf1a6c1e370335c8f0d2af6da07e426e6fa04876d55452857974c3d02b806e5a9a66fb8df51710627f07b4506e2ce0b81d1efc97136becdb9cd8b SHA512 3d20e9a6576b81e289c09023a60fc0e6029ef19c2be8a4e87114e4c09d76095fa8caf4202ffb23669657692e9834de733e5537b5a44368552b244eb898478143 DIST aws-cli-1.42.57.gh.tar.gz 3001291 BLAKE2B 5ae8bb90a4320b2c63353874cb9b4e3f59e037d1b4955b8ee94f299ce7a28628bef67baac080affc34e1a288bd054da078e58474cf9deeddbdf3e8c83beb7d41 SHA512 e62026bcf2fccd8d4cf5737cb729226ff72c4133bbaea48ceb728ad47ffbe22335a4439a599e33631154c940605356997e83a1d11da8f29800fea931125919d7 +DIST aws-cli-1.42.58.gh.tar.gz 3001988 BLAKE2B 4153ec6ecbc113bec1fb645dbed6855229983b3a7a57b6b54a0ce100047aedbe2c97f9dfce3d77e6d5259831b4c3660cc0f700dc838350f93ecc7faeab5a7e51 SHA512 557ff00fa2a2726f8f8ef3f1fcf818ba6853598df178b3eb41becd7a6daa6f45e7f9a90853d240a3e4f58b118624894359912a61700d36a28c0fb27e4a5ca632 diff --git a/app-admin/awscli/awscli-1.42.58.ebuild b/app-admin/awscli/awscli-1.42.58.ebuild new file mode 100644 index 0000000000000..6ebe418b8cfcd --- /dev/null +++ b/app-admin/awscli/awscli-1.42.58.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 +}