git: 55d52c003827 - main - devel/py-sortinghat: New port

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

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

commit 55d52c0038271e8fdcbafeb2179765b472fd1466
Author:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
AuthorDate: 2024-10-09 14:55:47 +0000
Commit:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
CommitDate: 2024-10-10 08:05:08 +0000

    devel/py-sortinghat: New port
    
    Tool to manage identities
    
    Sorting Hat maintains an SQL database of unique identities of
    communities members across (potentially) many different sources.
    Identities corresponding to the same real person can be merged in the
    same individual, with a unique uuid. For each individual, a profile can
    be defined, with the name and other data shown for the corresponding
    person by default.
    
    In addition, each individual can be related to one or more affiliations,
    for different time periods. This will usually correspond to different
    organizations in which the person was employed during those time periods.
    
    Sorting Hat is a part of the GrimoireLab toolset, which provides Python
    modules and scripts to analyze data sources with information about
    software development, and allows the production of interactive
    dashboards to visualize that information.
    
    In the context of GrimoireLab, Sorting Hat is usually run after data is
    retrieved with Perceval, to store the identities obtained into its
    database, and later merge them into individuals (and maybe affiliate
    them).
    
    WWW: https://github.com/chaoss/grimoirelab-sortinghat
    
    Sponsored by:   The FreeBSD Foundation
---
 devel/Makefile                |  1 +
 devel/py-sortinghat/Makefile  | 45 +++++++++++++++++++++++++++++++++++++++++++
 devel/py-sortinghat/distinfo  |  3 +++
 devel/py-sortinghat/pkg-descr | 20 +++++++++++++++++++
 4 files changed, 69 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 07e6ec207df2..296291cac3c7 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -5883,6 +5883,7 @@
     SUBDIR += py-snakeviz
     SUBDIR += py-sniffio
     SUBDIR += py-sortedcontainers
+    SUBDIR += py-sortinghat
     SUBDIR += py-sourcemap
     SUBDIR += py-spark-parser
     SUBDIR += py-sparse
diff --git a/devel/py-sortinghat/Makefile b/devel/py-sortinghat/Makefile
new file mode 100644
index 000000000000..117ca40162ff
--- /dev/null
+++ b/devel/py-sortinghat/Makefile
@@ -0,0 +1,45 @@
+PORTNAME=	sortinghat
+DISTVERSION=	1.4.0
+CATEGORIES=	devel python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	bofh@FreeBSD.org
+COMMENT=	Tool to manage identities
+WWW=		https://github.com/chaoss/grimoirelab-sortinghat
+
+LICENSE=	GPLv3+
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}poetry-core>=1.0.0:devel/py-poetry-core@${PY_FLAVOR}
+RUN_DEPENDS=	\
+		${PYTHON_PKGNAMEPREFIX}click>=8.0.0:devel/py-click@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}django42>=4.2:www/py-django42@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}django-cors-headers>=3.7.0:www/py-django-cors-headers@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}django-graphql-jwt>=0.3.0:www/py-django-graphql-jwt@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}django-rq>=2.3.2:devel/py-django-rq@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}django-storages>=1.13.2:www/py-django-storages@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}django-treebeard>=4.5.1:www/py-django-treebeard@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}google-auth>=2.18.0:security/py-google-auth@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}graphene-django>=2.15:devel/py-graphene-django@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}grimoirelab-toolkit>=0.3:devel/py-grimoirelab-toolkit@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}importlib-resources>=5.2.0:devel/py-importlib-resources@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}Jinja2>=3.1.1:devel/py-Jinja2@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}mysqlclient>=2.0.3:databases/py-mysqlclient@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pandas>=2.2:math/py-pandas@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pyjwt>=2.4.0:www/py-pyjwt@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}python-dateutil>=2.9.0:devel/py-python-dateutil@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}requests>=2.7.0:www/py-requests@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}rq>=1.12.0:devel/py-rq@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}sgqlc>=16.1:devel/py-sgqlc@${PY_FLAVOR} \
+		uwsgi${PYTHON_PKGNAMESUFFIX}>0:www/uwsgi
+
+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-sortinghat/distinfo b/devel/py-sortinghat/distinfo
new file mode 100644
index 000000000000..228aca32a029
--- /dev/null
+++ b/devel/py-sortinghat/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1728485315
+SHA256 (sortinghat-1.4.0.tar.gz) = 982f6d4d3848398680e8d8ecb06468ec845ab0a3410b04ceba90300f1ba67889
+SIZE (sortinghat-1.4.0.tar.gz) = 5300106
diff --git a/devel/py-sortinghat/pkg-descr b/devel/py-sortinghat/pkg-descr
new file mode 100644
index 000000000000..294bf593ffbc
--- /dev/null
+++ b/devel/py-sortinghat/pkg-descr
@@ -0,0 +1,20 @@
+Sorting Hat maintains an SQL database of unique identities of
+communities members across (potentially) many different sources.
+Identities corresponding to the same real person can be merged in the
+same individual, with a unique uuid. For each individual, a profile can
+be defined, with the name and other data shown for the corresponding
+person by default.
+
+In addition, each individual can be related to one or more affiliations,
+for different time periods. This will usually correspond to different
+organizations in which the person was employed during those time periods.
+
+Sorting Hat is a part of the GrimoireLab toolset, which provides Python
+modules and scripts to analyze data sources with information about
+software development, and allows the production of interactive
+dashboards to visualize that information.
+
+In the context of GrimoireLab, Sorting Hat is usually run after data is
+retrieved with Perceval, to store the identities obtained into its
+database, and later merge them into individuals (and maybe affiliate
+them).