git: 1d9aa48350da - main - devel/py-graal: New port

From: Muhammad Moinur Rahman <bofh_at_FreeBSD.org>
Date: Thu, 10 Oct 2024 08:05:40 UTC
The branch main has been updated by bofh:

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

commit 1d9aa48350dae4b85e6430e87e9afa3e75a047ba
Author:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
AuthorDate: 2024-10-09 13:29:39 +0000
Commit:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
CommitDate: 2024-10-10 08:05:06 +0000

    devel/py-graal: New port
    
    Generic source code analyzer
    
    Graal leverages on the Git backend of Perceval and enhances it to set up
    ad-hoc source code analysis. Thus, it fetches the commits from a Git
    repository and provides a mechanism to plug third party tools/libraries
    focused on source code analysis.
    
    WWW: https://github.com/chaoss/grimoirelab-graal
    
    Sponsored by:   The FreeBSD Foundation
---
 devel/Makefile           |  1 +
 devel/py-graal/Makefile  | 46 ++++++++++++++++++++++++++++++++++++++++++++++
 devel/py-graal/distinfo  |  3 +++
 devel/py-graal/pkg-descr |  4 ++++
 4 files changed, 54 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 1434f7f0d6b0..30ac758b0c2a 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -4932,6 +4932,7 @@
     SUBDIR += py-googleapis-common-protos
     SUBDIR += py-gptscript
     SUBDIR += py-gpxpy
+    SUBDIR += py-graal
     SUBDIR += py-grab
     SUBDIR += py-graphene
     SUBDIR += py-graphene-django
diff --git a/devel/py-graal/Makefile b/devel/py-graal/Makefile
new file mode 100644
index 000000000000..af6a0310e15e
--- /dev/null
+++ b/devel/py-graal/Makefile
@@ -0,0 +1,46 @@
+PORTNAME=	graal
+DISTVERSION=	1.0.7
+CATEGORIES=	devel python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	bofh@FreeBSD.org
+COMMENT=	Generic source code analyzer
+WWW=		https://github.com/chaoss/grimoirelab-graal
+
+LICENSE=	GPLv3+
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+# For the full functionality  we need to install the following tools:
+# FOSSology
+# ScanCode toolkit
+# crossJadoLint
+# However for now we will not include them in the dependencies as
+# they are optional and not immediately required
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}poetry-core>=1.0.0:devel/py-poetry-core@${PY_FLAVOR}
+RUN_DEPENDS=	\
+		cloc>0:misc/cloc \
+		git>0:devel/git \
+		${PYTHON_PKGNAMEPREFIX}bandit>=1.4.0:devel/py-bandit@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}cloc>=0.2.5:devel/py-cloc@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}execnet>=1.9.0:sysutils/py-execnet@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}flake8>=7.1.1:devel/py-flake8@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}grimoirelab-toolkit>=0.3:devel/py-grimoirelab-toolkit@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}lizard>=1.16.6:devel/py-lizard@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}networkx>=2.1:math/py-networkx@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}perceval>=0.19:devel/py-perceval@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pydot>=1.2.4:graphics/py-pydot@${PY_FLAVOR} \
+		pylint${PYTHON_PKGNAMESUFFIX}>=1.8.4:devel/pylint \
+		rubygem-github-linguist>0:textproc/rubygem-github-linguist \
+		scc>0:devel/scc
+
+
+USES=		python shebangfix
+USE_PYTHON=	autoplist concurrent pep517 unittest
+SHEBANG_GLOB=	*.py
+
+NO_ARCH=	yes
+
+TEST_WRKSRC=	${WRKSRC}/tests
+
+.include <bsd.port.mk>
diff --git a/devel/py-graal/distinfo b/devel/py-graal/distinfo
new file mode 100644
index 000000000000..17bc3e699f6f
--- /dev/null
+++ b/devel/py-graal/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1728441017
+SHA256 (graal-1.0.7.tar.gz) = 54086175b74b4f2dd6b1e594b3e8d7c6049bdec038ee2847b8f4a273e5875f66
+SIZE (graal-1.0.7.tar.gz) = 280822
diff --git a/devel/py-graal/pkg-descr b/devel/py-graal/pkg-descr
new file mode 100644
index 000000000000..a1928c0a4d77
--- /dev/null
+++ b/devel/py-graal/pkg-descr
@@ -0,0 +1,4 @@
+Graal leverages on the Git backend of Perceval and enhances it to set up
+ad-hoc source code analysis. Thus, it fetches the commits from a Git
+repository and provides a mechanism to plug third party tools/libraries
+focused on source code analysis.