git: dd3238762668 - main - www/py-dj52-django-allauth: New port

From: Michael Gmelin <grembo_at_FreeBSD.org>
Date: Mon, 29 Sep 2025 18:08:49 UTC
The branch main has been updated by grembo:

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

commit dd3238762668bc9c962fb453aa8781ed5fab79ff
Author:     Michael Gmelin <grembo@FreeBSD.org>
AuthorDate: 2025-09-29 17:41:50 +0000
Commit:     Michael Gmelin <grembo@FreeBSD.org>
CommitDate: 2025-09-29 18:07:46 +0000

    www/py-dj52-django-allauth: New port
    
    Clone of existing port for Django 5.2.
---
 www/Makefile                                       |  1 +
 www/py-dj52-django-allauth/Makefile                | 45 ++++++++++++++++++++++
 www/py-dj52-django-allauth/distinfo                |  3 ++
 .../files/patch-pyproject.toml                     |  9 +++++
 www/py-dj52-django-allauth/pkg-descr               |  2 +
 5 files changed, 60 insertions(+)

diff --git a/www/Makefile b/www/Makefile
index 82ba29cc6694..05f1f26e3158 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -1563,6 +1563,7 @@
     SUBDIR += py-dj51-strawberry-graphql-django
     SUBDIR += py-dj52-channels
     SUBDIR += py-dj52-channels-redis
+    SUBDIR += py-dj52-django-allauth
     SUBDIR += py-dj52-django-auth-ldap
     SUBDIR += py-dj52-django-choices-field
     SUBDIR += py-dj52-django-cors-headers
diff --git a/www/py-dj52-django-allauth/Makefile b/www/py-dj52-django-allauth/Makefile
new file mode 100644
index 000000000000..3e76e3de81ff
--- /dev/null
+++ b/www/py-dj52-django-allauth/Makefile
@@ -0,0 +1,45 @@
+PORTNAME=	django-allauth
+PORTVERSION=	65.11.2
+CATEGORIES=	www python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}dj52-
+DISTNAME=	${PORTNAME:S/-/_/}-${PORTVERSION}
+
+MAINTAINER=	grembo@FreeBSD.org
+COMMENT=	User registration with social account authentication
+WWW=		https://allauth.org/ \
+		https://docs.allauth.org/en/latest/ \
+		https://github.com/pennersr/django-allauth
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools>=63.0.0:devel/py-setuptools@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}setuptools-scm>=8:devel/py-setuptools-scm@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}fido2>=0:security/py-fido2@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}django52>=5.2:www/py-django52@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	autoplist concurrent pep517
+
+NO_ARCH=	yes
+
+OPTIONS_DEFINE=	MFA OPENID SAML SOCIALACCOUNT STEAM
+OPTIONS_DEFAULT=MFA OPENID SOCIALACCOUNT
+MFA_DESC=		Multi-Factor Authentication support
+OPENID_DESC=		OpenID authentication support
+SAML_DESC=		Security Assertion Markup Language support
+SOCIALACCOUNT_DESC=	Social network account support
+STEAM_DESC=		Steam OpenID authentication support
+
+MFA_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}qrcode>=7.0.0:textproc/py-qrcode@${PY_FLAVOR} \
+			${PYTHON_PKGNAMEPREFIX}fido2>=0:security/py-fido2@${PY_FLAVOR}
+OPENID_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}python3-openid>=3.0.8:security/py-python3-openid@${PY_FLAVOR}
+SAML_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}python3-saml>=1.15.0<2.0.0:security/py-python3-saml@${PY_FLAVOR}
+SOCIALACCOUNT_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pyjwt>=1.7:www/py-pyjwt@${PY_FLAVOR} \
+				${PYTHON_PKGNAMEPREFIX}requests-oauthlib>=0.3.0:www/py-requests-oauthlib@${PY_FLAVOR} \
+				${PYTHON_PKGNAMEPREFIX}requests>=2.0.0:www/py-requests@${PY_FLAVOR}
+STEAM_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}python3-openid>=3.0.8:security/py-python3-openid@${PY_FLAVOR}
+
+.include <bsd.port.mk>
diff --git a/www/py-dj52-django-allauth/distinfo b/www/py-dj52-django-allauth/distinfo
new file mode 100644
index 000000000000..73060acef13a
--- /dev/null
+++ b/www/py-dj52-django-allauth/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1759151466
+SHA256 (django_allauth-65.11.2.tar.gz) = 7b7e771d3384d0e247d0d6aef31b0cb589f92305b7e975e70056a513525906e7
+SIZE (django_allauth-65.11.2.tar.gz) = 1916225
diff --git a/www/py-dj52-django-allauth/files/patch-pyproject.toml b/www/py-dj52-django-allauth/files/patch-pyproject.toml
new file mode 100644
index 000000000000..8a610f408251
--- /dev/null
+++ b/www/py-dj52-django-allauth/files/patch-pyproject.toml
@@ -0,0 +1,9 @@
+--- pyproject.toml.orig	2025-07-31 17:18:40 UTC
++++ pyproject.toml
+@@ -1,5 +1,5 @@
+ [build-system]
+-requires = ["setuptools>=75.3.0", "setuptools-scm>=8"]
++requires = ["setuptools>=63.0.0", "setuptools-scm>=8"]
+ build-backend = "setuptools.build_meta"
+ 
+ [project]
diff --git a/www/py-dj52-django-allauth/pkg-descr b/www/py-dj52-django-allauth/pkg-descr
new file mode 100644
index 000000000000..83cdfd8f3fe9
--- /dev/null
+++ b/www/py-dj52-django-allauth/pkg-descr
@@ -0,0 +1,2 @@
+django-allauth is a reusable Django app that allows for both local and social
+authentication, with flows that just work.