git: a4f84fcf37f1 - main - devel/py-prospector: Add py-prospector 1.9.0

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Mon, 11 Sep 2023 03:13:45 UTC
The branch main has been updated by sunpoet:

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

commit a4f84fcf37f1d2ef51709c15e20fb8b9513352f4
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2023-09-11 02:51:18 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2023-09-11 03:00:49 +0000

    devel/py-prospector: Add py-prospector 1.9.0
    
    Prospector is a tool to analyze Python code and output information about errors,
    potential problems, convention violations and complexity.
    
    It brings together the functionality of other Python analysis tools such as
    Pylint, pycodestyle, and McCabe complexity. See the Supported Tools
    documentation section for a complete list.
    
    The primary aim of Prospector is to be useful 'out of the box'. A common
    complaint of other Python analysis tools is that it takes a long time to filter
    through which errors are relevant or interesting to your own coding style.
    Prospector provides some default profiles, which hopefully will provide a good
    starting point and will be useful straight away, and adapts the output depending
    on the libraries your project uses.
---
 devel/Makefile                                 |  1 +
 devel/py-prospector/Makefile                   | 38 ++++++++++++++++++++++++++
 devel/py-prospector/distinfo                   |  3 ++
 devel/py-prospector/files/patch-pyproject.toml | 27 ++++++++++++++++++
 devel/py-prospector/pkg-descr                  | 13 +++++++++
 5 files changed, 82 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index c3ad4db17b0f..608c6ed524a7 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -5226,6 +5226,7 @@
     SUBDIR += py-prompt-toolkit2
     SUBDIR += py-property-cached
     SUBDIR += py-proselint
+    SUBDIR += py-prospector
     SUBDIR += py-proto-plus
     SUBDIR += py-protobuf
     SUBDIR += py-protobuf-compiler
diff --git a/devel/py-prospector/Makefile b/devel/py-prospector/Makefile
new file mode 100644
index 000000000000..592bcc5a7c41
--- /dev/null
+++ b/devel/py-prospector/Makefile
@@ -0,0 +1,38 @@
+PORTNAME=	prospector
+PORTVERSION=	1.10.2
+CATEGORIES=	devel python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	sunpoet@FreeBSD.org
+COMMENT=	Analyse Python code by aggregating the result of other tools
+WWW=		https://github.com/landscapeio/prospector
+
+LICENSE=	GPLv2+
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}poetry-core>=1.0.0:devel/py-poetry-core@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}dodgy>=0.2.1<0.3.0:devel/py-dodgy@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}flake8>=0:devel/py-flake8@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}gitpython>=3.1.27<4.0.0:devel/py-gitpython@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}mccabe>=0.7.0<0.8:devel/py-mccabe@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}packaging>=0:devel/py-packaging@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pep8-naming>=0.3.3:devel/py-pep8-naming@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pycodestyle>=2.9.0:devel/py-pycodestyle@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pydocstyle>=2.0.0:devel/py-pydocstyle@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pyflakes>=2.2.0:devel/py-pyflakes@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pylint-django>=2.5<2.6:devel/py-pylint-django@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pylint-flask>=0.6<0.6_99:devel/py-pylint-flask@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pylint-plugin-utils>=0.7<0.8:devel/py-pylint-plugin-utils@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}yaml>=0:devel/py-yaml@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}requirements-detector>=1.2.0:devel/py-requirements-detector@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}setoptconf>=0.3.0<0.4:devel/py-setoptconf@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}toml>=0.10.2<0.11.0:textproc/py-toml@${PY_FLAVOR} \
+		pylint${PYTHON_PKGNAMESUFFIX}>=2.8.3:devel/pylint
+
+USES=		python
+USE_PYTHON=	autoplist concurrent pep517
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/devel/py-prospector/distinfo b/devel/py-prospector/distinfo
new file mode 100644
index 000000000000..eb258984159b
--- /dev/null
+++ b/devel/py-prospector/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1694348226
+SHA256 (prospector-1.10.2.tar.gz) = cc8f09e79bdd32247edddf05b666940e88ad96338a84f5717b1e8c0678337821
+SIZE (prospector-1.10.2.tar.gz) = 60417
diff --git a/devel/py-prospector/files/patch-pyproject.toml b/devel/py-prospector/files/patch-pyproject.toml
new file mode 100644
index 000000000000..457c7c31729d
--- /dev/null
+++ b/devel/py-prospector/files/patch-pyproject.toml
@@ -0,0 +1,27 @@
+--- pyproject.toml.orig	2023-05-25 01:28:05 UTC
++++ pyproject.toml
+@@ -38,7 +38,6 @@ prospector = 'prospector.run:main'
+ [tool.poetry.dependencies]
+ python = ">=3.7.2,<4.0"
+ pylint = ">=2.8.3"
+-pylint-celery = "0.3"
+ pylint-django = "~2.5"
+ pylint-plugin-utils = "~0.7"
+ pylint-flask = "0.6"
+@@ -46,13 +45,13 @@ requirements-detector = ">=1.2.0"
+ PyYAML = "*"
+ mccabe = "^0.7.0"
+ flake8 = "<6.0.0"
+-pyflakes = ">=2.2.0,<3.*"
++pyflakes = ">=2.2.0"
+ pycodestyle = ">=2.9.0"
+-pep8-naming = ">=0.3.3,<=0.10.0"
++pep8-naming = ">=0.3.3"
+ pydocstyle = ">=2.0.0"
+ dodgy = "^0.2.1"
+ toml = "^0.10.2"
+-setoptconf-tmp = "^0.3.1"
++setoptconf = "^0.3.0"
+ GitPython = "^3.1.27"
+ packaging = "*"
+ bandit = {version = ">=1.5.1", optional = true}
diff --git a/devel/py-prospector/pkg-descr b/devel/py-prospector/pkg-descr
new file mode 100644
index 000000000000..f02539fb173d
--- /dev/null
+++ b/devel/py-prospector/pkg-descr
@@ -0,0 +1,13 @@
+Prospector is a tool to analyze Python code and output information about errors,
+potential problems, convention violations and complexity.
+
+It brings together the functionality of other Python analysis tools such as
+Pylint, pycodestyle, and McCabe complexity. See the Supported Tools
+documentation section for a complete list.
+
+The primary aim of Prospector is to be useful 'out of the box'. A common
+complaint of other Python analysis tools is that it takes a long time to filter
+through which errors are relevant or interesting to your own coding style.
+Prospector provides some default profiles, which hopefully will provide a good
+starting point and will be useful straight away, and adapts the output depending
+on the libraries your project uses.