import ports/devel/py-invoke, ok aja@ benoit@

Invoke is a Python (2.7 and 3.4+) task execution tool & library, drawing
inspiration from various sources to arrive at a powerful & clean feature
set.
This commit is contained in:
sthen 2021-09-02 08:45:37 +00:00
parent f9184f7818
commit 70e66938a2
8 changed files with 249 additions and 0 deletions

31
devel/py-invoke/Makefile Normal file
View File

@ -0,0 +1,31 @@
# $OpenBSD: Makefile,v 1.1.1.1 2021/09/02 08:45:37 sthen Exp $
COMMENT = Pythonic task execution
MODPY_EGG_VERSION = 1.6.0
DISTNAME = invoke-${MODPY_EGG_VERSION}
PKGNAME = py-${DISTNAME}
CATEGORIES = devel
HOMEPAGE = https://www.pyinvoke.org/
# BSD
PERMIT_PACKAGE = Yes
MODULES = lang/python
MODPY_PI = Yes
MODPY_SETUPTOOLS = Yes
# some failures, possibly related to running under ports test framework
# with captured stdio etc.
MODPY_PYTEST = Yes
TEST_DEPENDS = devel/py-test-relaxed${MODPY_FLAVOR} \
devel/py-mock${MODPY_FLAVOR}
FLAVORS = python3
FLAVOR = python3
.include <bsd.port.mk>

2
devel/py-invoke/distinfo Normal file
View File

@ -0,0 +1,2 @@
SHA256 (invoke-1.6.0.tar.gz) = N00eLs94mB2pS/r5U2Yhaq7CfC1qe31YGNktpVqiWNM=
SIZE (invoke-1.6.0.tar.gz) = 367329

View File

@ -0,0 +1,14 @@
$OpenBSD: patch-invoke_config_py,v 1.1.1.1 2021/09/02 08:45:37 sthen Exp $
Index: invoke/config.py
--- invoke/config.py.orig
+++ invoke/config.py
@@ -448,7 +448,7 @@ class Config(DataProxy):
# TODO: consider an automatic fallback to /bin/sh for systems lacking
# /bin/bash; however users may configure run.shell quite easily, so...
else:
- shell = "/bin/bash"
+ shell = "/bin/sh"
return {
# TODO: we document 'debug' but it's not truly implemented outside

View File

@ -0,0 +1,14 @@
$OpenBSD: patch-invoke_runners_py,v 1.1.1.1 2021/09/02 08:45:37 sthen Exp $
Index: invoke/runners.py
--- invoke/runners.py.orig
+++ invoke/runners.py
@@ -320,7 +320,7 @@ class Runner(object):
Default: ``False``.
:param str shell:
- Which shell binary to use. Default: ``/bin/bash`` (on Unix;
+ Which shell binary to use. Default: ``/bin/sh`` (on Unix;
``COMSPEC`` or ``cmd.exe`` on Windows.)
:param timeout:

View File

@ -0,0 +1,14 @@
$OpenBSD: patch-tests_config_py,v 1.1.1.1 2021/09/02 08:45:37 sthen Exp $
Index: tests/config.py
--- tests/config.py.orig
+++ tests/config.py
@@ -107,7 +107,7 @@ class Config_:
"out_stream": None,
"pty": False,
"replace_env": False,
- "shell": "/bin/bash",
+ "shell": "/bin/sh",
"warn": False,
"watchers": [],
},

View File

@ -0,0 +1,14 @@
$OpenBSD: patch-tests_runners_py,v 1.1.1.1 2021/09/02 08:45:37 sthen Exp $
Index: tests/runners.py
--- tests/runners.py.orig
+++ tests/runners.py
@@ -82,7 +82,7 @@ def _expect_platform_shell(shell):
if WINDOWS:
assert shell.endswith("cmd.exe")
else:
- assert shell == "/bin/bash"
+ assert shell == "/bin/sh"
def make_tcattrs(cc_is_ints=True, echo=False):

View File

@ -0,0 +1,3 @@
Invoke is a Python (2.7 and 3.4+) task execution tool & library, drawing
inspiration from various sources to arrive at a powerful & clean feature
set.

157
devel/py-invoke/pkg/PLIST Normal file
View File

@ -0,0 +1,157 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2021/09/02 08:45:37 sthen Exp $
bin/inv
bin/invoke
lib/python${MODPY_VERSION}/site-packages/invoke/
lib/python${MODPY_VERSION}/site-packages/invoke-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/
lib/python${MODPY_VERSION}/site-packages/invoke-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/PKG-INFO
lib/python${MODPY_VERSION}/site-packages/invoke-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/SOURCES.txt
lib/python${MODPY_VERSION}/site-packages/invoke-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/dependency_links.txt
lib/python${MODPY_VERSION}/site-packages/invoke-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/entry_points.txt
lib/python${MODPY_VERSION}/site-packages/invoke-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/pbr.json
lib/python${MODPY_VERSION}/site-packages/invoke-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/top_level.txt
lib/python${MODPY_VERSION}/site-packages/invoke/__init__.py
lib/python${MODPY_VERSION}/site-packages/invoke/__main__.py
${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/invoke/${MODPY_PYCACHE}/
lib/python${MODPY_VERSION}/site-packages/invoke/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/${MODPY_PYCACHE}__main__.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/${MODPY_PYCACHE}_version.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/${MODPY_PYCACHE}collection.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/${MODPY_PYCACHE}config.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/${MODPY_PYCACHE}context.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/${MODPY_PYCACHE}env.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/${MODPY_PYCACHE}exceptions.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/${MODPY_PYCACHE}executor.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/${MODPY_PYCACHE}loader.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/${MODPY_PYCACHE}main.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/${MODPY_PYCACHE}program.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/${MODPY_PYCACHE}runners.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/${MODPY_PYCACHE}tasks.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/${MODPY_PYCACHE}terminals.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/${MODPY_PYCACHE}util.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/${MODPY_PYCACHE}watchers.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/_version.py
lib/python${MODPY_VERSION}/site-packages/invoke/collection.py
lib/python${MODPY_VERSION}/site-packages/invoke/completion/
lib/python${MODPY_VERSION}/site-packages/invoke/completion/__init__.py
${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/invoke/completion/${MODPY_PYCACHE}/
lib/python${MODPY_VERSION}/site-packages/invoke/completion/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/completion/${MODPY_PYCACHE}complete.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/completion/bash.completion
lib/python${MODPY_VERSION}/site-packages/invoke/completion/complete.py
lib/python${MODPY_VERSION}/site-packages/invoke/completion/fish.completion
lib/python${MODPY_VERSION}/site-packages/invoke/completion/zsh.completion
lib/python${MODPY_VERSION}/site-packages/invoke/config.py
lib/python${MODPY_VERSION}/site-packages/invoke/context.py
lib/python${MODPY_VERSION}/site-packages/invoke/env.py
lib/python${MODPY_VERSION}/site-packages/invoke/exceptions.py
lib/python${MODPY_VERSION}/site-packages/invoke/executor.py
lib/python${MODPY_VERSION}/site-packages/invoke/loader.py
lib/python${MODPY_VERSION}/site-packages/invoke/main.py
lib/python${MODPY_VERSION}/site-packages/invoke/parser/
lib/python${MODPY_VERSION}/site-packages/invoke/parser/__init__.py
${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/invoke/parser/${MODPY_PYCACHE}/
lib/python${MODPY_VERSION}/site-packages/invoke/parser/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/parser/${MODPY_PYCACHE}argument.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/parser/${MODPY_PYCACHE}context.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/parser/${MODPY_PYCACHE}parser.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/parser/argument.py
lib/python${MODPY_VERSION}/site-packages/invoke/parser/context.py
lib/python${MODPY_VERSION}/site-packages/invoke/parser/parser.py
lib/python${MODPY_VERSION}/site-packages/invoke/program.py
lib/python${MODPY_VERSION}/site-packages/invoke/runners.py
lib/python${MODPY_VERSION}/site-packages/invoke/tasks.py
lib/python${MODPY_VERSION}/site-packages/invoke/terminals.py
lib/python${MODPY_VERSION}/site-packages/invoke/util.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/__init__.py
${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/invoke/vendor/${MODPY_PYCACHE}/
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/${MODPY_PYCACHE}decorator.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/${MODPY_PYCACHE}six.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/decorator.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/fluidity/
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/fluidity/__init__.py
${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/invoke/vendor/fluidity/${MODPY_PYCACHE}/
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/fluidity/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/fluidity/${MODPY_PYCACHE}backwardscompat.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/fluidity/${MODPY_PYCACHE}machine.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/fluidity/backwardscompat.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/fluidity/machine.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/lexicon/
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/lexicon/__init__.py
${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/invoke/vendor/lexicon/${MODPY_PYCACHE}/
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/lexicon/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/lexicon/${MODPY_PYCACHE}alias_dict.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/lexicon/${MODPY_PYCACHE}attribute_dict.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/lexicon/alias_dict.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/lexicon/attribute_dict.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/six.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml2/
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml2/__init__.py
${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml2/${MODPY_PYCACHE}/
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml2/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml2/${MODPY_PYCACHE}composer.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml2/${MODPY_PYCACHE}cyaml.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml2/${MODPY_PYCACHE}dumper.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml2/${MODPY_PYCACHE}emitter.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml2/${MODPY_PYCACHE}error.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml2/${MODPY_PYCACHE}events.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml2/${MODPY_PYCACHE}loader.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml2/${MODPY_PYCACHE}nodes.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml2/${MODPY_PYCACHE}parser.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml2/${MODPY_PYCACHE}representer.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml2/${MODPY_PYCACHE}serializer.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml2/${MODPY_PYCACHE}tokens.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml2/composer.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml2/constructor.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml2/cyaml.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml2/dumper.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml2/emitter.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml2/error.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml2/events.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml2/loader.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml2/nodes.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml2/parser.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml2/reader.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml2/representer.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml2/resolver.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml2/scanner.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml2/serializer.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml2/tokens.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/__init__.py
${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/${MODPY_PYCACHE}/
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/${MODPY_PYCACHE}composer.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/${MODPY_PYCACHE}constructor.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/${MODPY_PYCACHE}cyaml.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/${MODPY_PYCACHE}dumper.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/${MODPY_PYCACHE}emitter.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/${MODPY_PYCACHE}error.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/${MODPY_PYCACHE}events.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/${MODPY_PYCACHE}loader.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/${MODPY_PYCACHE}nodes.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/${MODPY_PYCACHE}parser.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/${MODPY_PYCACHE}reader.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/${MODPY_PYCACHE}representer.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/${MODPY_PYCACHE}resolver.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/${MODPY_PYCACHE}scanner.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/${MODPY_PYCACHE}serializer.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/${MODPY_PYCACHE}tokens.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/composer.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/constructor.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/cyaml.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/dumper.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/emitter.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/error.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/events.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/loader.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/nodes.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/parser.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/reader.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/representer.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/resolver.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/scanner.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/serializer.py
lib/python${MODPY_VERSION}/site-packages/invoke/vendor/yaml3/tokens.py
lib/python${MODPY_VERSION}/site-packages/invoke/watchers.py