Marcel Telka
2023-08-15 4754dbe36cda961e2f8013fa0812a049d5f8500c
Add invoke Python project

6 files added
298 ■■■■■ changed files
components/python/invoke/Makefile 60 ●●●●● patch | view | raw | blame | history
components/python/invoke/invoke-PYVER.p5m 90 ●●●●● patch | view | raw | blame | history
components/python/invoke/manifests/sample-manifest.p5m 90 ●●●●● patch | view | raw | blame | history
components/python/invoke/patches/01-tox.ini-fixes.patch 14 ●●●●● patch | view | raw | blame | history
components/python/invoke/pkg5 12 ●●●●● patch | view | raw | blame | history
components/python/invoke/python-integrate-project.conf 32 ●●●●● patch | view | raw | blame | history
components/python/invoke/Makefile
New file
@@ -0,0 +1,60 @@
#
# This file and its contents are supplied under the terms of the
# Common Development and Distribution License ("CDDL"), version 1.0.
# You may only use this file in accordance with the terms of version
# 1.0 of the CDDL.
#
# A full copy of the text of the CDDL should have accompanied this
# source.  A copy of the CDDL is also available via the Internet at
# http://www.illumos.org/license/CDDL.
#
#
# This file was automatically generated using the following command:
#   $WS_TOOLS/python-integrate-project invoke
#
BUILD_STYLE = pyproject
include ../../../make-rules/shared-macros.mk
COMPONENT_NAME =        invoke
HUMAN_VERSION =            2.2.0
COMPONENT_SUMMARY =        invoke - Pythonic task execution
COMPONENT_PROJECT_URL =        https://pyinvoke.org
COMPONENT_ARCHIVE_URL =        \
    https://github.com/pyinvoke/invoke/archive/refs/tags/$(HUMAN_VERSION).tar.gz
COMPONENT_ARCHIVE_HASH =    \
    sha256:44a8c1c036855d7f75a947d00892934316e095dcb81f2637b12f11fadf29882d
COMPONENT_LICENSE =        BSD-2-Clause
COMPONENT_LICENSE_FILE =    LICENSE
#
# Following dependency loops were detected (where 'A --> B' means 'A needs B to
# run tests', and 'A ==> B' means 'A needs B for build and/or run'):
#
# invoke --> invocations ==> invoke
#
# To break loops we need to allow this project to integrate without testing in
# a case the required projects are not available yet (bootstrap).
#
PYTHON_TEST_BOOTSTRAP = yes
include $(WS_MAKE_RULES)/common.mk
# Auto-generated dependencies
PYTHON_REQUIRED_PACKAGES += library/python/setuptools
PYTHON_REQUIRED_PACKAGES += library/python/wheel
PYTHON_REQUIRED_PACKAGES += runtime/python
TEST_REQUIRED_PACKAGES.python += library/python/alabaster
TEST_REQUIRED_PACKAGES.python += library/python/black
TEST_REQUIRED_PACKAGES.python += library/python/coverage
TEST_REQUIRED_PACKAGES.python += library/python/flake8
TEST_REQUIRED_PACKAGES.python += library/python/icecream
TEST_REQUIRED_PACKAGES.python += library/python/invocations
TEST_REQUIRED_PACKAGES.python += library/python/mypy
TEST_REQUIRED_PACKAGES.python += library/python/pytest-cov
TEST_REQUIRED_PACKAGES.python += library/python/pytest-relaxed
TEST_REQUIRED_PACKAGES.python += library/python/releases
TEST_REQUIRED_PACKAGES.python += library/python/setuptools
TEST_REQUIRED_PACKAGES.python += library/python/types-pyyaml
components/python/invoke/invoke-PYVER.p5m
New file
@@ -0,0 +1,90 @@
#
# This file and its contents are supplied under the terms of the
# Common Development and Distribution License ("CDDL"), version 1.0.
# You may only use this file in accordance with the terms of version
# 1.0 of the CDDL.
#
# A full copy of the text of the CDDL should have accompanied this
# source.  A copy of the CDDL is also available via the Internet at
# http://www.illumos.org/license/CDDL.
#
#
# This file was automatically generated using python-integrate-project
#
set name=pkg.fmri value=pkg:/$(COMPONENT_FMRI)-$(PYV)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
set name=pkg.human-version value=$(HUMAN_VERSION)
set name=pkg.summary value="$(COMPONENT_SUMMARY)"
set name=info.classification value="$(COMPONENT_CLASSIFICATION)"
set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
license $(COMPONENT_LICENSE_FILE) license='$(COMPONENT_LICENSE)'
file path=usr/bin/inv-$(PYVER)
file path=usr/bin/invoke-$(PYVER)
file path=usr/lib/python$(PYVER)/vendor-packages/invoke-$(HUMAN_VERSION).dist-info/LICENSE
file path=usr/lib/python$(PYVER)/vendor-packages/invoke-$(HUMAN_VERSION).dist-info/METADATA
file path=usr/lib/python$(PYVER)/vendor-packages/invoke-$(HUMAN_VERSION).dist-info/WHEEL
file path=usr/lib/python$(PYVER)/vendor-packages/invoke-$(HUMAN_VERSION).dist-info/entry_points.txt
file path=usr/lib/python$(PYVER)/vendor-packages/invoke-$(HUMAN_VERSION).dist-info/top_level.txt
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/__init__.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/__main__.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/_version.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/collection.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/completion/__init__.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/completion/bash.completion
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/completion/complete.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/completion/fish.completion
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/completion/zsh.completion
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/config.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/context.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/env.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/exceptions.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/executor.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/loader.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/main.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/parser/__init__.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/parser/argument.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/parser/context.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/parser/parser.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/program.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/py.typed
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/runners.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/tasks.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/terminals.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/util.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/__init__.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/fluidity/__init__.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/fluidity/backwardscompat.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/fluidity/machine.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/lexicon/__init__.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/lexicon/_version.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/lexicon/alias_dict.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/lexicon/attribute_dict.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/yaml/__init__.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/yaml/composer.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/yaml/constructor.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/yaml/cyaml.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/yaml/dumper.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/yaml/emitter.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/yaml/error.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/yaml/events.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/yaml/loader.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/yaml/nodes.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/yaml/parser.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/yaml/reader.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/yaml/representer.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/yaml/resolver.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/yaml/scanner.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/yaml/serializer.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/yaml/tokens.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/watchers.py
# python modules are unusable without python runtime binary
depend type=require fmri=__TBD pkg.debug.depend.file=python$(PYVER) \
    pkg.debug.depend.path=usr/bin
# Automatically generated dependencies based on distribution metadata
components/python/invoke/manifests/sample-manifest.p5m
New file
@@ -0,0 +1,90 @@
#
# This file and its contents are supplied under the terms of the
# Common Development and Distribution License ("CDDL"), version 1.0.
# You may only use this file in accordance with the terms of version
# 1.0 of the CDDL.
#
# A full copy of the text of the CDDL should have accompanied this
# source.  A copy of the CDDL is also available via the Internet at
# http://www.illumos.org/license/CDDL.
#
#
# Copyright 2023 <contributor>
#
set name=pkg.fmri value=pkg:/$(COMPONENT_FMRI)-$(PYV)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
set name=pkg.human-version value=$(HUMAN_VERSION)
set name=pkg.summary value="$(COMPONENT_SUMMARY)"
set name=info.classification value="$(COMPONENT_CLASSIFICATION)"
set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
license $(COMPONENT_LICENSE_FILE) license='$(COMPONENT_LICENSE)'
file path=usr/bin/inv-$(PYVER)
file path=usr/bin/invoke-$(PYVER)
file path=usr/lib/python$(PYVER)/vendor-packages/invoke-$(HUMAN_VERSION).dist-info/LICENSE
file path=usr/lib/python$(PYVER)/vendor-packages/invoke-$(HUMAN_VERSION).dist-info/METADATA
file path=usr/lib/python$(PYVER)/vendor-packages/invoke-$(HUMAN_VERSION).dist-info/WHEEL
file path=usr/lib/python$(PYVER)/vendor-packages/invoke-$(HUMAN_VERSION).dist-info/entry_points.txt
file path=usr/lib/python$(PYVER)/vendor-packages/invoke-$(HUMAN_VERSION).dist-info/top_level.txt
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/__init__.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/__main__.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/_version.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/collection.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/completion/__init__.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/completion/bash.completion
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/completion/complete.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/completion/fish.completion
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/completion/zsh.completion
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/config.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/context.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/env.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/exceptions.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/executor.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/loader.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/main.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/parser/__init__.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/parser/argument.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/parser/context.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/parser/parser.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/program.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/py.typed
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/runners.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/tasks.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/terminals.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/util.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/__init__.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/fluidity/__init__.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/fluidity/backwardscompat.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/fluidity/machine.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/lexicon/__init__.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/lexicon/_version.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/lexicon/alias_dict.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/lexicon/attribute_dict.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/yaml/__init__.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/yaml/composer.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/yaml/constructor.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/yaml/cyaml.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/yaml/dumper.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/yaml/emitter.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/yaml/error.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/yaml/events.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/yaml/loader.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/yaml/nodes.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/yaml/parser.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/yaml/reader.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/yaml/representer.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/yaml/resolver.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/yaml/scanner.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/yaml/serializer.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/vendor/yaml/tokens.py
file path=usr/lib/python$(PYVER)/vendor-packages/invoke/watchers.py
# python modules are unusable without python runtime binary
depend type=require fmri=__TBD pkg.debug.depend.file=python$(PYVER) \
    pkg.debug.depend.path=usr/bin
# Automatically generated dependencies based on distribution metadata
components/python/invoke/patches/01-tox.ini-fixes.patch
New file
@@ -0,0 +1,14 @@
--- invoke-2.2.0/tox.ini.orig
+++ invoke-2.2.0/tox.ini
@@ -4,9 +4,9 @@
 # and then run "tox" from this directory.
 [tox]
-envlist = py36, py37, py38, py39, 'py310', py311
+envlist = py36, py37, py38, py39, py310, py311
 [testenv]
+deps = -r dev-requirements.txt
 commands =
-    pip install -r dev-requirements.txt
     spec
components/python/invoke/pkg5
New file
@@ -0,0 +1,12 @@
{
    "dependencies": [
        "library/python/setuptools-39",
        "library/python/wheel-39",
        "runtime/python-39"
    ],
    "fmris": [
        "library/python/invoke-39",
        "library/python/invoke"
    ],
    "name": "invoke"
}
components/python/invoke/python-integrate-project.conf
New file
@@ -0,0 +1,32 @@
#
# This file and its contents are supplied under the terms of the
# Common Development and Distribution License ("CDDL"), version 1.0.
# You may only use this file in accordance with the terms of version
# 1.0 of the CDDL.
#
# A full copy of the text of the CDDL should have accompanied this
# source.  A copy of the CDDL is also available via the Internet at
# http://www.illumos.org/license/CDDL.
#
#
# Copyright 2023 Marcel Telka
#
%patch% 01-tox.ini-fixes.patch
%hook-begin%
# https://github.com/pyinvoke/invoke/issues/962
DOWNLOAD_URL='https://github.com/pyinvoke/invoke/archive/refs/tags/$(HUMAN_VERSION).tar.gz'
%include-2%
#
# Following dependency loops were detected (where 'A --> B' means 'A needs B to
# run tests', and 'A ==> B' means 'A needs B for build and/or run'):
#
# invoke --> invocations ==> invoke
#
# To break loops we need to allow this project to integrate without testing in
# a case the required projects are not available yet (bootstrap).
#
PYTHON_TEST_BOOTSTRAP = yes