Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F163269864
D55616.id173015.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
11 KB
Referenced Files
None
Subscribers
None
D55616.id173015.diff
View Options
Index: devel/py-awscli2/Makefile
===================================================================
--- /dev/null
+++ devel/py-awscli2/Makefile
@@ -0,0 +1,86 @@
+PORTNAME= awscli
+DISTVERSION= 2.34.0
+CATEGORIES= devel python
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+PKGNAMESUFFIX= 2
+
+MAINTAINER= nork@FreeBSD.org
+COMMENT= Universal Command Line Interface for Amazon Web Services V2
+WWW= https://aws.amazon.com/cli
+
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}awscrt>=0.31.1:devel/py-awscrt@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}colorama>=0.2.5:devel/py-colorama@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}distro>=1.5.0:sysutils/py-distro@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}docutils>=0.10:textproc/py-docutils@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}flit-core>=3.9.0:devel/py-flit-core@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}jmespath>=0.7.1:devel/py-jmespath@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pip>=22.0.0<24.0.0:devel/py-pip@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}prompt-toolkit>=3.0.24:devel/py-prompt-toolkit@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}python-dateutil>=2.1:devel/py-python-dateutil@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}ruamel.yaml.clib>=0.2.0:devel/py-ruamel.yaml.clib@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}ruamel.yaml>=0.15.0:devel/py-ruamel.yaml@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}sqlite3>=3.8.13:databases/py-sqlite3@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}urllib3>=1.25.4,1:net/py-urllib3@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wcwidth>=0.2.8:devel/py-wcwidth@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}awscrt>=0.31.1:devel/py-awscrt@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}colorama>=0.2.5:devel/py-colorama@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}distro>=1.5.0:sysutils/py-distro@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}docutils>=0.10:textproc/py-docutils@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}jmespath>=0.7.1:devel/py-jmespath@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}prompt-toolkit>=3.0.24:devel/py-prompt-toolkit@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}python-dateutil>=2.1:devel/py-python-dateutil@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}ruamel.yaml.clib>=0.2.0:devel/py-ruamel.yaml.clib@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}ruamel.yaml>=0.15.0:devel/py-ruamel.yaml@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}sqlite3>=3.8.13:databases/py-sqlite3@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}urllib3>=1.25.4,1:net/py-urllib3@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wcwidth>=0.2.8:devel/py-wcwidth@${PY_FLAVOR}
+TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}attrs>=23.2.0:devel/py-attrs@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}coverage>=7.0.1:devel/py-coverage@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}jsonschema>=4.7.2:devel/py-jsonschema@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}packaging>=24.1:devel/py-packaging@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pip-tools>=7.5.2:devel/py-pip-tools@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-cov>=4.1.0:devel/py-pytest-cov@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-xdist>=3.1.0:devel/py-pytest-xdist@${PY_FLAVOR}
+
+USES= gettext-runtime pytest python:3.10+ shebangfix
+USE_GITHUB= yes
+GH_ACCOUNT= aws
+GH_PROJECT= aws-cli
+PYTEST_ARGS= -n auto --tb=long -W ignore::DeprecationWarning tests/unit \
+ --ignore=tests/unit/customizations/configure/test_sso.py \
+ --ignore=tests/unit/customizations/wizard \
+ --ignore=tests/unit/s3transfer/test_utils.py
+#CONFLICTS= awscli py*-awscli*
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS= --with-install-type=system-sandbox \
+ --without-download-deps
+ALL_TARGET= build
+INSTALL_TARGET= install
+
+SHEBANG_FIXES= ${STAGEDIR}${PREFIX}/lib/aws-cli/bin/aws \
+ ${STAGEDIR}${PREFIX}/lib/aws-cli/bin/aws_completer
+UNWANTED_FILES= ${STAGEDIR}${PREFIX}/lib/aws-cli/bin/pip3 \
+ ${STAGEDIR}${PREFIX}/lib/aws-cli/bin/pip3.* \
+ ${STAGEDIR}${PREFIX}/lib/aws-cli/bin/pip
+
+post-patch:
+ ${REINPLACE_CMD} -i '' -e "s|%%PYTHON_CMD%%|${PYTHON_CMD}|" ${WRKSRC}/tests/unit/customizations/emr/test_emr_utils.py
+
+post-install:
+ @${ECHO_CMD} "shebang fixes for generated files"
+ ${REINPLACE_CMD} -i '' -e "1s|^\#![[:space:]]*${STAGEDIR}|\#!|" ${SHEBANG_FIXES}
+ ${LN} -fs ../lib/aws-cli/bin/aws ${STAGEDIR}${PREFIX}/bin/aws
+ ${LN} -fs ../lib/aws-cli/bin/aws_completer ${STAGEDIR}${PREFIX}/bin/aws_completer
+ ${RM} ${UNWANTED_FILES}
+
+ @${ECHO_CMD} "generating plist"
+ cd ${STAGEDIR}${PREFIX} ; ( \
+ ${FIND} -s bin lib \! -type d ; \
+ ${FIND} bin lib -type d -empty | ${SORT} -r | \
+ ${SED} -e 's/^/@dir /' ; \
+ ) >> ${TMPPLIST}
+
+.include <bsd.port.mk>
Index: devel/py-awscli2/distinfo
===================================================================
--- /dev/null
+++ devel/py-awscli2/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1772290502
+SHA256 (aws-aws-cli-2.34.0_GH0.tar.gz) = c51f72d6272f6748c874ae395c66b06433922f7399e6b9e4f4aa4ed5806d5331
+SIZE (aws-aws-cli-2.34.0_GH0.tar.gz) = 17688555
Index: devel/py-awscli2/files/patch-awscli_customizations_sso_utils.py
===================================================================
--- /dev/null
+++ devel/py-awscli2/files/patch-awscli_customizations_sso_utils.py
@@ -0,0 +1,20 @@
+--- awscli/customizations/sso/utils.py.orig 2025-11-24 19:05:22 UTC
++++ awscli/customizations/sso/utils.py
+@@ -46,7 +46,7 @@ LOGIN_ARGS = [
+ {
+ 'name': 'no-browser',
+ 'action': 'store_true',
+- 'default': False,
++ 'default': True,
+ 'help_text': (
+ 'Disables automatically opening the verification URL in the '
+ 'default browser.'
+@@ -55,7 +55,7 @@ LOGIN_ARGS = [
+ {
+ 'name': 'use-device-code',
+ 'action': 'store_true',
+- 'default': False,
++ 'default': True,
+ 'help_text': (
+ 'Uses the Device Code authorization grant and login flow '
+ 'instead of the Authorization Code flow.'
Index: devel/py-awscli2/files/patch-pyproject.toml
===================================================================
--- /dev/null
+++ devel/py-awscli2/files/patch-pyproject.toml
@@ -0,0 +1,43 @@
+--- pyproject.toml.orig 2026-02-27 19:05:56 UTC
++++ pyproject.toml
+@@ -1,6 +1,6 @@ requires = [
+ [build-system]
+ requires = [
+-"flit_core>=3.7.1,<3.9.1",
++"flit_core>=3.7.1",
+ ]
+ build-backend = "pep517"
+ backend-path = ["backends"]
+@@ -30,21 +30,21 @@ dependencies = [
+ "Programming Language :: Python :: 3.13",
+ ]
+ dependencies = [
+- "colorama>=0.2.5,<0.4.7",
+- "docutils>=0.10,<0.20",
+- "ruamel.yaml>=0.15.0,<=0.17.21",
++ "colorama>=0.2.5",
++ "docutils>=0.10",
++ "ruamel.yaml>=0.15.0",
+ # ruamel.yaml only requires ruamel.yaml.clib for Python versions
+ # less than or equal to Python 3.10. In order to ensure we have
+ # a consistent dependency closure across all Python versions,
+ # we explicitly include ruamel.yaml.clib as a dependency.
+- "ruamel.yaml.clib>=0.2.0,<=0.2.12",
+- "prompt-toolkit>=3.0.24,<3.0.52",
+- "distro>=1.5.0,<1.9.0",
+- "awscrt==0.31.2",
+- "python-dateutil>=2.1,<=2.9.0",
+- "jmespath>=0.7.1,<1.1.0",
+- "urllib3>=1.25.4,<=2.6.3",
+- "wcwidth<0.3.0",
++ "ruamel.yaml.clib>=0.2.0",
++ "prompt-toolkit>=3.0.24",
++ "distro>=1.5.0",
++ "awscrt>=0.31.1",
++ "python-dateutil>=2.1",
++ "jmespath>=0.7.1",
++ "urllib3>=1.25.4",
++ "wcwidth>=0.2.8",
+ ]
+ dynamic = ["version"]
+
Index: devel/py-awscli2/files/patch-requirements-base.txt
===================================================================
--- /dev/null
+++ devel/py-awscli2/files/patch-requirements-base.txt
@@ -0,0 +1,7 @@
+--- requirements-base.txt.orig 2026-02-27 19:05:56 UTC
++++ requirements-base.txt
+@@ -1,2 +1,2 @@
+-wheel==0.46.3
+-flit_core==3.9.0
++wheel>=0.46.3
++flit_core>=3.9.0
Index: devel/py-awscli2/files/patch-tests_markers.py
===================================================================
--- /dev/null
+++ devel/py-awscli2/files/patch-tests_markers.py
@@ -0,0 +1,15 @@
+--- tests/markers.py.orig 2026-02-27 19:05:56 UTC
++++ tests/markers.py
+@@ -3,10 +3,10 @@ skip_if_windows = pytest.mark.skipif(
+ import pytest
+
+ skip_if_windows = pytest.mark.skipif(
+- platform.system() not in ['Darwin', 'Linux'],
++ platform.system() not in ['Darwin', 'Linux', 'FreeBSD'],
+ reason="This test does not run on windows.",
+ )
+ if_windows = pytest.mark.skipif(
+- platform.system() in ['Darwin', 'Linux'],
++ platform.system() in ['Darwin', 'Linux', 'FreeBSD'],
+ reason="This test only runs on windows.",
+ )
Index: devel/py-awscli2/files/patch-tests_unit_autocomplete_local_test__indexer.py
===================================================================
--- /dev/null
+++ devel/py-awscli2/files/patch-tests_unit_autocomplete_local_test__indexer.py
@@ -0,0 +1,11 @@
+--- tests/unit/autocomplete/local/test_indexer.py.orig 2026-02-27 19:05:56 UTC
++++ tests/unit/autocomplete/local/test_indexer.py
+@@ -237,7 +237,7 @@ class TestGeneratesIndex(BaseIndexerTest):
+
+ def test_generates_indexes_for_tables(self):
+ self.indexer.generate_index(self.aws_command)
+- index_info = 'SELECT name from pragma_index_info("%s");'
++ index_info = "SELECT name from pragma_index_info('%s');"
+ index = self.db_conn.execute(index_info % 'parent_index').fetchall()
+ self.assertEqual([('parent',)], index)
+ index = self.db_conn.execute(
Index: devel/py-awscli2/files/patch-tests_unit_customizations_emr_test__emr__utils.py
===================================================================
--- /dev/null
+++ devel/py-awscli2/files/patch-tests_unit_customizations_emr_test__emr__utils.py
@@ -0,0 +1,11 @@
+--- tests/unit/customizations/emr/test_emr_utils.py.orig 2026-02-27 19:05:56 UTC
++++ tests/unit/customizations/emr/test_emr_utils.py
+@@ -16,7 +16,7 @@ class TestEMRutils:
+
+ class TestEMRutils:
+ def test_which_with_existing_command(self):
+- pythonPath = which('python') or which('python.exe')
++ pythonPath = which('%%PYTHON_CMD%%') or which('python.exe')
+ assert pythonPath is not None
+
+ def test_which_with_non_existing_command(self):
Index: devel/py-awscli2/files/patch-tests_unit_customizations_logs_test__startlivetail.py
===================================================================
--- /dev/null
+++ devel/py-awscli2/files/patch-tests_unit_customizations_logs_test__startlivetail.py
@@ -0,0 +1,11 @@
+--- tests/unit/customizations/logs/test_startlivetail.py.orig 2026-02-27 19:05:56 UTC
++++ tests/unit/customizations/logs/test_startlivetail.py
+@@ -377,6 +377,8 @@ class LiveTailKeyBindingsTest(unittest.TestCase):
+ class LiveTailKeyBindingsTest(unittest.TestCase):
+ def setUp(self) -> None:
+ self.ui = mock.Mock(InteractiveUI)
++ self.ui.highlight_term_in_buffer = mock.Mock()
++ self.ui.remove_term_from_buffer = mock.Mock()
+ self.prompt_buffer = Buffer()
+ self.output_buffer = Buffer()
+ self.ui._application = mock.Mock(Application)
Index: devel/py-awscli2/pkg-descr
===================================================================
--- /dev/null
+++ devel/py-awscli2/pkg-descr
@@ -0,0 +1,5 @@
+The AWS Command Line Interface (AWS CLI) is a unified tool to manage
+your AWS services.
+
+This package uses the PyInstaller-based V2 branch of the AWS CLI code
+for minimal external run-time dependencies.
Index: devel/py-awscli2/pkg-message
===================================================================
--- /dev/null
+++ devel/py-awscli2/pkg-message
@@ -0,0 +1,22 @@
+[
+{
+type: install message: <<EOM
+To add completions for the aws command,
+add the line(s) below to the appropriate shell rc file
+
+For zsh:
+
+ autoload -Uz bashcompinit
+ bashcompinit -i
+ complete -C aws_completer aws
+
+For tcsh:
+
+ complete aws 'p/*/`aws_completer`/'
+
+For bash:
+
+ complete -C aws_completer aws
+EOM
+}
+]
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, Jul 22, 3:02 PM (5 h, 27 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
35368473
Default Alt Text
D55616.id173015.diff (11 KB)
Attached To
Mode
D55616: devel/py-awscli2: add new port, version 2.34.0
Attached
Detach File
Event Timeline
Log In to Comment