diff --git a/app-admin/awscli/Manifest b/app-admin/awscli/Manifest index d932227917c35..3fa87e92abe30 100644 --- a/app-admin/awscli/Manifest +++ b/app-admin/awscli/Manifest @@ -15,3 +15,4 @@ DIST aws-cli-1.42.39.gh.tar.gz 2985865 BLAKE2B 60d1a408a4f368d82cf60efdad0b2fa2f DIST aws-cli-1.42.40.gh.tar.gz 2986289 BLAKE2B f0f9d435f1b3605b73b99be98ad0ab455ff0c7fb0427c7c6410caa99683f8e06170a2108fe6cd334f94716cf8d6b65039ea355bce74498d0f7139e64e68750a5 SHA512 f9a6192605719192ff5dc5e8bb7026dfc9fc8dc97ffc84709461bc6fa879e30b351092ff17512c6a93a08b5cf59bd28aedfead72ceda4369ae76520182cf0c2b DIST aws-cli-1.42.41.gh.tar.gz 2986432 BLAKE2B 91e1abf2133657e0969f69d6c46f28a67c8411f16044ef05afa2a456877c702aebad6daea35f217df1a624e0adb13be3912e560fb5cb9d1b957da3812da65acf SHA512 18b73f64e7a44f6eb449814b394fe7cb65f5b18e93ff76bb6913a72e76feaa43d456c88349b22bef8ae8233290483479754a9164bf603f4ece54dd7dbbbb1158 DIST aws-cli-1.42.42.gh.tar.gz 2988345 BLAKE2B a94d4179d1a9e2973cf65570eda0c29ae04345322b911d7f251a9590489530a38d590c695f66b66e6a37c85ba98bc9d239932c7b90b4af186548b14f680553d3 SHA512 bae52ea7a881e327682dfb46c93ec7b3ff7ce15abafa826df03d5a9a83e5b743602ea6386504a078d4f05440580ec20c1aa4af90dd73122737bb552601c84950 +DIST aws-cli-1.42.43.gh.tar.gz 2988761 BLAKE2B 660b0f85d8b056c7f226a807e7f5fa5179502fb993ee07ef4b683001fdbd154c66e388746561330b30a1d43420f96f73b4540e7cd351afa2cb2a1f8b75a7eb1a SHA512 f90cc5a5b2b6f6d79bbc2d1b80779b39fd060f6aea3629dff518f46a005fb481152e5c62d03bcf1f0242dbc5cd4b366b2b584d3b8ae10e8a6c94799f51367e28 diff --git a/app-admin/awscli/awscli-1.42.43.ebuild b/app-admin/awscli/awscli-1.42.43.ebuild new file mode 100644 index 0000000000000..ee5aa1768d2cc --- /dev/null +++ b/app-admin/awscli/awscli-1.42.43.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.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 +}