Marcel Telka
2024-04-07 76a1721da25c9ff6078485e917711feccfacd133
Add dirty_equals Python project

7 files added
228 ■■■■■ changed files
components/python/dirty_equals/Makefile 63 ●●●●● patch | view | raw | blame | history
components/python/dirty_equals/dirty_equals-PYVER.p5m 48 ●●●●● patch | view | raw | blame | history
components/python/dirty_equals/manifests/sample-manifest.p5m 48 ●●●●● patch | view | raw | blame | history
components/python/dirty_equals/patches/01-no-pytest-pretty.patch 10 ●●●●● patch | view | raw | blame | history
components/python/dirty_equals/patches/02-no-pytest-examples.patch 9 ●●●●● patch | view | raw | blame | history
components/python/dirty_equals/pkg5 12 ●●●●● patch | view | raw | blame | history
components/python/dirty_equals/python-integrate-project.conf 38 ●●●●● patch | view | raw | blame | history
components/python/dirty_equals/Makefile
New file
@@ -0,0 +1,63 @@
#
# 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 dirty_equals
#
BUILD_STYLE = pyproject
include ../../../make-rules/shared-macros.mk
COMPONENT_NAME =        dirty_equals
HUMAN_VERSION =            0.7.1.post0
COMPONENT_SUMMARY =        dirty_equals - Doing dirty (but extremely useful) things with equals.
COMPONENT_PROJECT_URL =        https://github.com/samuelcolvin/dirty-equals
COMPONENT_ARCHIVE_HASH =    \
    sha256:78ff80578a46163831ecb3255cf30d03d1dc2fbca8e67f820105691a1bc556dc
COMPONENT_LICENSE =        MIT
COMPONENT_LICENSE_FILE =    LICENSE
TEST_STYLE = pytest
#
# 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'):
#
# dirty_equals --> pydantic --> dirty_equals
# dirty_equals --> pydantic ==> pydantic_core --> dirty_equals
#
# 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
# This project does not support tox so we need to provide test requirements
# manually.
TEST_REQUIREMENTS += requirements/tests.in
TEST_REQUIREMENTS_EXTRAS += pydantic
# We do not have pytest-examples packaged yet.
PYTEST_ADDOPTS += --ignore tests/test_docs.py
# Auto-generated dependencies
PYTHON_REQUIRED_PACKAGES += library/python/hatchling
PYTHON_REQUIRED_PACKAGES += library/python/pytz
PYTHON_REQUIRED_PACKAGES += runtime/python
TEST_REQUIRED_PACKAGES.python += library/python/coverage
TEST_REQUIRED_PACKAGES.python += library/python/packaging
TEST_REQUIRED_PACKAGES.python += library/python/pydantic
TEST_REQUIRED_PACKAGES.python += library/python/pytest
TEST_REQUIRED_PACKAGES.python += library/python/pytest-mock
TEST_REQUIRED_PACKAGES.python += library/python/tomli
components/python/dirty_equals/dirty_equals-PYVER.p5m
New file
@@ -0,0 +1,48 @@
#
# 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/lib/python$(PYVER)/vendor-packages/dirty_equals-$(HUMAN_VERSION).dist-info/METADATA
file path=usr/lib/python$(PYVER)/vendor-packages/dirty_equals-$(HUMAN_VERSION).dist-info/WHEEL
file path=usr/lib/python$(PYVER)/vendor-packages/dirty_equals-$(HUMAN_VERSION).dist-info/licenses/LICENSE
file path=usr/lib/python$(PYVER)/vendor-packages/dirty_equals/__init__.py
file path=usr/lib/python$(PYVER)/vendor-packages/dirty_equals/_base.py
file path=usr/lib/python$(PYVER)/vendor-packages/dirty_equals/_boolean.py
file path=usr/lib/python$(PYVER)/vendor-packages/dirty_equals/_datetime.py
file path=usr/lib/python$(PYVER)/vendor-packages/dirty_equals/_dict.py
file path=usr/lib/python$(PYVER)/vendor-packages/dirty_equals/_inspection.py
file path=usr/lib/python$(PYVER)/vendor-packages/dirty_equals/_numeric.py
file path=usr/lib/python$(PYVER)/vendor-packages/dirty_equals/_other.py
file path=usr/lib/python$(PYVER)/vendor-packages/dirty_equals/_sequence.py
file path=usr/lib/python$(PYVER)/vendor-packages/dirty_equals/_strings.py
file path=usr/lib/python$(PYVER)/vendor-packages/dirty_equals/_utils.py
file path=usr/lib/python$(PYVER)/vendor-packages/dirty_equals/py.typed
file path=usr/lib/python$(PYVER)/vendor-packages/dirty_equals/version.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
depend type=require fmri=pkg:/library/python/pytz-$(PYV)
components/python/dirty_equals/manifests/sample-manifest.p5m
New file
@@ -0,0 +1,48 @@
#
# 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 2024 <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/lib/python$(PYVER)/vendor-packages/dirty_equals-$(HUMAN_VERSION).dist-info/METADATA
file path=usr/lib/python$(PYVER)/vendor-packages/dirty_equals-$(HUMAN_VERSION).dist-info/WHEEL
file path=usr/lib/python$(PYVER)/vendor-packages/dirty_equals-$(HUMAN_VERSION).dist-info/licenses/LICENSE
file path=usr/lib/python$(PYVER)/vendor-packages/dirty_equals/__init__.py
file path=usr/lib/python$(PYVER)/vendor-packages/dirty_equals/_base.py
file path=usr/lib/python$(PYVER)/vendor-packages/dirty_equals/_boolean.py
file path=usr/lib/python$(PYVER)/vendor-packages/dirty_equals/_datetime.py
file path=usr/lib/python$(PYVER)/vendor-packages/dirty_equals/_dict.py
file path=usr/lib/python$(PYVER)/vendor-packages/dirty_equals/_inspection.py
file path=usr/lib/python$(PYVER)/vendor-packages/dirty_equals/_numeric.py
file path=usr/lib/python$(PYVER)/vendor-packages/dirty_equals/_other.py
file path=usr/lib/python$(PYVER)/vendor-packages/dirty_equals/_sequence.py
file path=usr/lib/python$(PYVER)/vendor-packages/dirty_equals/_strings.py
file path=usr/lib/python$(PYVER)/vendor-packages/dirty_equals/_utils.py
file path=usr/lib/python$(PYVER)/vendor-packages/dirty_equals/py.typed
file path=usr/lib/python$(PYVER)/vendor-packages/dirty_equals/version.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
depend type=require fmri=pkg:/library/python/pytz-$(PYV)
components/python/dirty_equals/patches/01-no-pytest-pretty.patch
New file
@@ -0,0 +1,10 @@
pytest-pretty is not needed to run tests
--- dirty_equals-0.7.1.post0/requirements/tests.in.orig
+++ dirty_equals-0.7.1.post0/requirements/tests.in
@@ -2,5 +2,4 @@
 packaging
 pytest
 pytest-mock
-pytest-pretty
 pytest-examples
components/python/dirty_equals/patches/02-no-pytest-examples.patch
New file
@@ -0,0 +1,9 @@
We do not have pytest-examples packaged yet.
--- dirty_equals-0.7.1.post0/requirements/tests.in.orig
+++ dirty_equals-0.7.1.post0/requirements/tests.in
@@ -2,4 +2,3 @@
 packaging
 pytest
 pytest-mock
-pytest-examples
components/python/dirty_equals/pkg5
New file
@@ -0,0 +1,12 @@
{
    "dependencies": [
        "library/python/hatchling-39",
        "library/python/pytz-39",
        "runtime/python-39"
    ],
    "fmris": [
        "library/python/dirty-equals",
        "library/python/dirty-equals-39"
    ],
    "name": "dirty_equals"
}
components/python/dirty_equals/python-integrate-project.conf
New file
@@ -0,0 +1,38 @@
#
# 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 2024 Marcel Telka
#
%patch% 01-no-pytest-pretty.patch
%patch% 02-no-pytest-examples.patch
%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'):
#
# dirty_equals --> pydantic --> dirty_equals
# dirty_equals --> pydantic ==> pydantic_core --> dirty_equals
#
# 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-3%
# This project does not support tox so we need to provide test requirements
# manually.
TEST_REQUIREMENTS += requirements/tests.in
TEST_REQUIREMENTS_EXTRAS += pydantic
# We do not have pytest-examples packaged yet.
PYTEST_ADDOPTS += --ignore tests/test_docs.py