diff --git a/app-admin/awscli/Manifest b/app-admin/awscli/Manifest index 33dac8a395e9a..828333b2c574f 100644 --- a/app-admin/awscli/Manifest +++ b/app-admin/awscli/Manifest @@ -5,3 +5,4 @@ DIST aws-cli-1.33.0.gh.tar.gz 2737941 BLAKE2B 1572e517dd627870611b54bae77bb7c6a3 DIST aws-cli-1.33.1.gh.tar.gz 2738329 BLAKE2B 46aea84b6ca6ca43d74bb24236aa3d8b9dbf71ad0197efb349001a6dfebd1d6309c9ed5b37a241a5b472263b2dd6e54a977b32ad2ff387891af863129089c5cc SHA512 2317c1f6c7b8c766ef381401eb45356cc297b35a9fd6431ba38f56f4b9c8e4880d3a71002bdcde088cb71002608c6ea9f15d5d08c50723f1a2f71d389e19408b DIST aws-cli-1.33.2.gh.tar.gz 2738575 BLAKE2B 0d8ccf9e9831cf43b4dab50a871ebd7e9bc81b769d7742b2ccc4f1cdbb5da4d26b2e3812004642222d2ba1e7fe2734426edca731afe64b17d1f5ef1a144b485a SHA512 ca1cf2e18b6bcb99741fc62fa1d78850bc74bb68b3896b4f8c97f5f10d9d8758f4826d388b1ad38615071331a67274798e57bee1f95e385c4a5076a94b6640c0 DIST aws-cli-1.33.3.gh.tar.gz 2739705 BLAKE2B 5b486d4028b4e3963a1dccf714d2beb2cd7438efbcea09a96b6c383717586da24afcbfbb6bb84a40bbafb8c82e7feb6fad51dc10396fe8ac6460c38198e419f6 SHA512 46b468791d9d14689fe59afaab037be88989a1772bfe8c43d890a7cb262ea77e0560550e4b8136aa6689f2ebeaa73e06e36ded1c2340dc62da97fa14a795bb8f +DIST aws-cli-1.33.4.gh.tar.gz 2740224 BLAKE2B 40fb26f895a28e41e45c861194ca959490d1675e2f9926bbcb5b092d4496b20be3e68f4eb370ffef541bd607c41181d34caa4e5674fc262b60cd882401530153 SHA512 faeced07895fc891803136061839d499b372cbf89e6e642e2782120d2b1a50486e01ae07ba7ee04c9fe84ffefd0e329e000d76f38f5839b048bbfdab59a64785 diff --git a/app-admin/awscli/awscli-1.33.4.ebuild b/app-admin/awscli/awscli-1.33.4.ebuild new file mode 100644 index 0000000000000..a7a293c4a8e82 --- /dev/null +++ b/app-admin/awscli/awscli-1.33.4.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..12} ) + +inherit bash-completion-r1 distutils-r1 + +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+1).(z+118), sigh +BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 1 )).$(( $(ver_cut 3-) + 118 ))" +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.10.0[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + !app-admin/awscli-bin +" +BDEPEND=" + test? ( + dev-python/packaging[${PYTHON_USEDEP}] + dev-python/pytest-forked[${PYTHON_USEDEP}] + ) +" + +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 + ) + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + EPYTEST_XDIST= epytest "${serial_tests[@]}" + + local EPYTEST_DESELECT=( "${serial_tests[@]}" ) + # integration tests require AWS credentials and Internet access + epytest tests/{functional,unit} +} + +python_install_all() { + newbashcomp bin/aws_bash_completer aws + + insinto /usr/share/zsh/site-functions + newins 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 +}