Index: devel/awscli2/Makefile =================================================================== --- /dev/null +++ devel/awscli2/Makefile @@ -0,0 +1,67 @@ +PORTNAME= awscli +DISTVERSION= 2.13.23 +CATEGORIES= devel python +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +PKGNAMESUFFIX= 2 + +MAINTAINER= hsw@bitmark.com +COMMENT= Universal Command Line Interface for Amazon Web Services V2 +WWW= https://aws.amazon.com/cli + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/LICENSE.txt + +# Note: Python builtin _sqlite3 is disabled, so need build/lib/run sqlite dep +BUILD_DEPENDS= bash:shells/bash \ + ${PYTHON_PKGNAMEPREFIX}colorama>=0.2.5<=0.4.7:devel/py-colorama@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docutils>=0.10:textproc/py-docutils@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}cryptography>=3.3.2<=41.0.4,1:security/py-cryptography@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}ruamel.yaml>=0.15.0<=0.17.33:devel/py-ruamel.yaml@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}prompt-toolkit>=3.0.24<3.1.0:devel/py-prompt-toolkit@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}distro>=1.5.0<1.9.0:sysutils/py-distro@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}awscrt>=0.12.4<0.17:devel/py-awscrt@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dateutil>=2.1<3.0.0:devel/py-dateutil@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}jmespath>=0.7.1<1.1.0:devel/py-jmespath@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}urllib3>=1.25.4<1.27,1:net/py-urllib3@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pyinstaller>=5.12.0:devel/py-pyinstaller@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pyinstaller-hooks-contrib>=2023.9:devel/py-pyinstaller-hooks-contrib@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}flit-core>=3.7.1<3.9.1:devel/py-flit-core@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pip>=22.0.0<24.0.0:devel/py-pip@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}sqlite3>=3.8.13:databases/py-sqlite3@${PY_FLAVOR} +LIB_DEPENDS+= libffi.so:devel/libffi \ + libsqlite3.so:databases/sqlite3 +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlite3>=3.8.13:databases/py-sqlite3@${PY_FLAVOR} + +USES= python:3.10+ gettext-runtime ssl +CONFLICTS= awscli py*-awscli* +ALL_TARGET= build +INSTALL_TARGET= install +GNU_CONFIGURE= yes +USE_MAKE= yes +USE_GITHUB= yes +GH_ACCOUNT= aws +GH_PROJECT= aws-cli + +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-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 Index: devel/awscli2/distinfo =================================================================== --- /dev/null +++ devel/awscli2/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1696384653 +SHA256 (aws-aws-cli-2.13.23_GH0.tar.gz) = 97e6769f85d04d65e5dc996ff246d69c9f0168d645438e0aec515aceb8025cdf +SIZE (aws-aws-cli-2.13.23_GH0.tar.gz) = 13861932 Index: devel/awscli2/files/patch-configure =================================================================== --- /dev/null +++ devel/awscli2/files/patch-configure @@ -0,0 +1,8 @@ +--- configure.orig 2023-10-02 23:39:43 UTC ++++ configure +@@ -1,4 +1,4 @@ +-#! /bin/sh ++#! /usr/bin/env bash + # Guess values for system-dependent variables and create Makefiles. + # Generated by GNU Autoconf 2.71 for awscli 2.13.23. + # Index: devel/awscli2/files/patch-pyproject.toml =================================================================== --- /dev/null +++ devel/awscli2/files/patch-pyproject.toml @@ -0,0 +1,38 @@ +--- pyproject.toml.orig 2023-10-02 23:39:43 UTC ++++ pyproject.toml +@@ -1,6 +1,6 @@ + [build-system] + requires = [ +-"flit_core>=3.7.1,<3.8.1", ++"flit_core>=3.7.1,<3.9.1", + ] + build-backend = "pep517" + backend-path = ["backends"] +@@ -30,16 +30,16 @@ classifiers = [ + dependencies = [ + "colorama>=0.2.5,<0.4.7", + "docutils>=0.10,<0.20", +- "cryptography>=3.3.2,<40.0.2", +- "ruamel.yaml>=0.15.0,<=0.17.21", ++ "cryptography>=3.3.2,<=41.0.4", ++ "ruamel.yaml>=0.15.0,<=0.17.33", + # 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.7", +- "prompt-toolkit>=3.0.24,<3.0.39", ++ "prompt-toolkit>=3.0.24,<=3.0.39", + "distro>=1.5.0,<1.9.0", +- "awscrt>=0.16.4,<=0.16.16", ++ "awscrt>=0.16.4,<=0.16.26", + "python-dateutil>=2.1,<3.0.0", + "jmespath>=0.7.1,<1.1.0", + "urllib3>=1.25.4,<1.27", +@@ -98,4 +98,4 @@ filterwarnings = [ + ] + + [tool.black] +-line-length = 80 +\ No newline at end of file ++line-length = 80 Index: devel/awscli2/files/patch-requirements-base.txt =================================================================== --- /dev/null +++ devel/awscli2/files/patch-requirements-base.txt @@ -0,0 +1,6 @@ +--- requirements-base.txt.orig 2023-10-02 23:39:43 UTC ++++ requirements-base.txt +@@ -1,2 +1,2 @@ + wheel==0.38.4 +-flit_core==3.8.0 ++flit_core==3.9.0 Index: devel/awscli2/pkg-descr =================================================================== --- /dev/null +++ devel/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/awscli2/pkg-message =================================================================== --- /dev/null +++ devel/awscli2/pkg-message @@ -0,0 +1,22 @@ +[ +{ +type: install message: <=3.10:devel/py-yaml@${PY_FLAVOR} USES= python -USE_PYTHON= autoplist distutils +USE_PYTHON= autoplist distutils concurrent noflavors +CONFLICTS= py*-awscli* NO_ARCH= yes SUB_FILES= pkg-message