git: 523bcb0afcd4 - main - devel/py-python-semantic-release: Add py-python-semantic-release 9.11.0

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Mon, 14 Oct 2024 05:27:11 UTC
The branch main has been updated by sunpoet:

URL: https://cgit.FreeBSD.org/ports/commit/?id=523bcb0afcd4aa2af2dc412ecfcbaaaa9df10229

commit 523bcb0afcd4aa2af2dc412ecfcbaaaa9df10229
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2024-10-14 04:45:12 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2024-10-14 04:45:12 +0000

    devel/py-python-semantic-release: Add py-python-semantic-release 9.11.0
    
    Python Semantic Release provides automatic semantic versioning for Python
    projects. This is a Python implementation of semantic-release for JS by Stephan
    Bönnemann.
    
    The general idea is to be able to detect what the next version of the project
    should be based on the commits. This tool will use that to automate the whole
    release, upload to an artifact repository and post changelogs to GitHub. You can
    run the tool on a CI service, or just run it locally.
---
 devel/Makefile                                     |  1 +
 devel/py-python-semantic-release/Makefile          | 36 ++++++++++++++++++++++
 devel/py-python-semantic-release/distinfo          |  3 ++
 .../files/patch-pyproject.toml                     | 11 +++++++
 devel/py-python-semantic-release/pkg-descr         |  8 +++++
 5 files changed, 59 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index af3a5b4731b4..03f28bbd0eec 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -5712,6 +5712,7 @@
     SUBDIR += py-python-pcre
     SUBDIR += py-python-ptrace
     SUBDIR += py-python-rapidjson
+    SUBDIR += py-python-semantic-release
     SUBDIR += py-python-socketio
     SUBDIR += py-python-statsd
     SUBDIR += py-python-subunit
diff --git a/devel/py-python-semantic-release/Makefile b/devel/py-python-semantic-release/Makefile
new file mode 100644
index 000000000000..ead7d4960b17
--- /dev/null
+++ b/devel/py-python-semantic-release/Makefile
@@ -0,0 +1,36 @@
+PORTNAME=	python-semantic-release
+PORTVERSION=	9.11.0
+CATEGORIES=	devel python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+DISTNAME=	python_semantic_release-${PORTVERSION}
+
+MAINTAINER=	sunpoet@FreeBSD.org
+COMMENT=	Automatic Semantic Versioning for Python projects
+WWW=		https://python-semantic-release.readthedocs.io/en/latest/ \
+		https://github.com/python-semantic-release/python-semantic-release
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools>=61.0:devel/py-setuptools@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>=0.42<1:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}click>=8.0<9:devel/py-click@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}click-option-group>=0.5<1:devel/py-click-option-group@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}dotty-dict>=1.3<2:devel/py-dotty-dict@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}gitpython>=3.0<4:devel/py-gitpython@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}importlib-resources>=6.0<7:devel/py-importlib-resources@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}Jinja2>=3.1<4:devel/py-Jinja2@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pydantic2>=2.0<3:devel/py-pydantic2@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}python-gitlab>=4.0<5:devel/py-python-gitlab@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}requests>=2.25<3:www/py-requests@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}rich>=13.0<14:textproc/py-rich@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}shellingham>=1.5<2:devel/py-shellingham@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}tomlkit>=0.11<1:textproc/py-tomlkit@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	autoplist concurrent pep517
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/devel/py-python-semantic-release/distinfo b/devel/py-python-semantic-release/distinfo
new file mode 100644
index 000000000000..7fa429a60832
--- /dev/null
+++ b/devel/py-python-semantic-release/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1728632228
+SHA256 (python_semantic_release-9.11.0.tar.gz) = 0c75e35abe2ba95f1bf58a65e0324997793459b25ff7b655068787c910625eca
+SIZE (python_semantic_release-9.11.0.tar.gz) = 213874
diff --git a/devel/py-python-semantic-release/files/patch-pyproject.toml b/devel/py-python-semantic-release/files/patch-pyproject.toml
new file mode 100644
index 000000000000..4cd3976e767b
--- /dev/null
+++ b/devel/py-python-semantic-release/files/patch-pyproject.toml
@@ -0,0 +1,11 @@
+--- pyproject.toml.orig	2024-10-12 23:27:18 UTC
++++ pyproject.toml
+@@ -1,7 +1,7 @@
+ # Ref: https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
+ # and https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html
+ [build-system]
+-requires = ["setuptools ~= 69.0", "wheel ~= 0.42"]
++requires = ["setuptools >= 61.0", "wheel ~= 0.42"]
+ build-backend = "setuptools.build_meta"
+ 
+ [project]
diff --git a/devel/py-python-semantic-release/pkg-descr b/devel/py-python-semantic-release/pkg-descr
new file mode 100644
index 000000000000..e7cbfb7e32b5
--- /dev/null
+++ b/devel/py-python-semantic-release/pkg-descr
@@ -0,0 +1,8 @@
+Python Semantic Release provides automatic semantic versioning for Python
+projects. This is a Python implementation of semantic-release for JS by Stephan
+Bönnemann.
+
+The general idea is to be able to detect what the next version of the project
+should be based on the commits. This tool will use that to automate the whole
+release, upload to an artifact repository and post changelogs to GitHub. You can
+run the tool on a CI service, or just run it locally.