git: c1d6e47d5cc4 - main - sysutils/py-pyinfra: new port: automates infrastructure
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 07 Aug 2024 05:51:01 UTC
The branch main has been updated by uzsolt: URL: https://cgit.FreeBSD.org/ports/commit/?id=c1d6e47d5cc43f23d5d93154b539de3a427a2465 commit c1d6e47d5cc43f23d5d93154b539de3a427a2465 Author: Florian Walpen <dev@submerge.ch> AuthorDate: 2024-08-07 05:47:57 +0000 Commit: Zsolt Udvari <uzsolt@FreeBSD.org> CommitDate: 2024-08-07 05:47:57 +0000 sysutils/py-pyinfra: new port: automates infrastructure pyinfra turns Python code into shell commands and runs them on your servers. Execute ad-hoc commands and write declarative operations. Target SSH servers, local machine and Docker containers. Fast and scales from one server to thousands. Think ansible but Python instead of YAML, and a lot faster. PR: 279262 --- sysutils/Makefile | 1 + sysutils/py-pyinfra/Makefile | 59 +++++++++++++++++++++++++++++++++++++++++++ sysutils/py-pyinfra/distinfo | 3 +++ sysutils/py-pyinfra/pkg-descr | 6 +++++ 4 files changed, 69 insertions(+) diff --git a/sysutils/Makefile b/sysutils/Makefile index 21f04587d469..3e07681a3708 100644 --- a/sysutils/Makefile +++ b/sysutils/Makefile @@ -1150,6 +1150,7 @@ SUBDIR += py-ptyprocess SUBDIR += py-puremagic SUBDIR += py-py-cpuinfo + SUBDIR += py-pyinfra SUBDIR += py-python-bareos SUBDIR += py-python-consul SUBDIR += py-python-consul2 diff --git a/sysutils/py-pyinfra/Makefile b/sysutils/py-pyinfra/Makefile new file mode 100644 index 000000000000..54b8e41b2bf8 --- /dev/null +++ b/sysutils/py-pyinfra/Makefile @@ -0,0 +1,59 @@ +PORTNAME= pyinfra +DISTVERSIONPREFIX= v +DISTVERSION= 3.0.2 +CATEGORIES= sysutils python +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= dev@submerge.ch +COMMENT= Automates infrastructure using Python +WWW= https://pyinfra.com/ + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE.md + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}click>2:devel/py-click@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}configparser>0:devel/py-configparser@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}distro>=1.6<2:sysutils/py-distro@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}gevent>=1.5:devel/py-gevent@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}Jinja2>2<4:devel/py-Jinja2@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}packaging>=16.1:devel/py-packaging@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}paramiko>=2.7<4:security/py-paramiko@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}python-dateutil>2<3:devel/py-python-dateutil@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pywinrm>0:security/py-pywinrm@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}typeguard>0:devel/py-typeguard@${PY_FLAVOR} +TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}coverage>0:devel/py-coverage@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pytest-cov>0:devel/py-pytest-cov@${PY_FLAVOR} + +USES= pytest python +USE_GITHUB= yes +GH_ACCOUNT= pyinfra-dev +USE_PYTHON= autoplist distutils + +# Most of the ignored tests fail because docker is missing. +# The *_ensure_newline_* ones fail when pyinfra is not installed first. +PYTEST_IGNORED_TESTS= test_int_docker_install_package_ubuntu \ + test_e2e_ssh_sudo_password \ + test_int_local_file_no_changes \ + test_int_local_directory_no_changes \ + test_int_local_link_no_changes \ + test_int_local_line_no_changes \ + test_int_local_line_ensure_newline_true \ + test_int_local_line_ensure_newline_false + +.include <bsd.port.pre.mk> + +.if ${PYTHON_REL} < 30900 +RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}graphlib-backport>0:graphics/py-graphlib-backport@${PY_FLAVOR} +.endif + +.if ${PYTHON_REL} < 31000 +RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}importlib-metadata>3.6:devel/py-importlib-metadata@${PY_FLAVOR} +.endif + +.if ${PYTHON_REL} < 31100 +RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}typing-extensions>0:devel/py-typing-extensions@${PY_FLAVOR} +.endif + +.include <bsd.port.post.mk> diff --git a/sysutils/py-pyinfra/distinfo b/sysutils/py-pyinfra/distinfo new file mode 100644 index 000000000000..e50a9a4ad53b --- /dev/null +++ b/sysutils/py-pyinfra/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1721915646 +SHA256 (pyinfra-dev-pyinfra-v3.0.2_GH0.tar.gz) = f004c5e13b751fc90d2df81bd2fb5f10b14f869b0ca488ed7bc8c355ecb9ef70 +SIZE (pyinfra-dev-pyinfra-v3.0.2_GH0.tar.gz) = 319429 diff --git a/sysutils/py-pyinfra/pkg-descr b/sysutils/py-pyinfra/pkg-descr new file mode 100644 index 000000000000..1ec358a8d1c1 --- /dev/null +++ b/sysutils/py-pyinfra/pkg-descr @@ -0,0 +1,6 @@ +pyinfra turns Python code into shell commands and runs them on your servers. +Execute ad-hoc commands and write declarative operations. Target SSH servers, +local machine and Docker containers. Fast and scales from one server to +thousands. + +Think ansible but Python instead of YAML, and a lot faster.