git: 496613ece3ad - main - www/py-dj61-django-stubs-ext: New port: Monkey-patching and extensions for django-stubs

From: Jesús Daniel Colmenares Oviedo <dtxdf_at_FreeBSD.org>
Date: Thu, 03 Sep 2026 04:50:42 UTC
The branch main has been updated by dtxdf:

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

commit 496613ece3ad8d8819ec0dcfd4f04db75780ae15
Author:     Jesús Daniel Colmenares Oviedo <dtxdf@FreeBSD.org>
AuthorDate: 2026-09-03 04:27:40 +0000
Commit:     Jesús Daniel Colmenares Oviedo <dtxdf@FreeBSD.org>
CommitDate: 2026-09-03 04:40:15 +0000

    www/py-dj61-django-stubs-ext: New port: Monkey-patching and extensions for django-stubs
    
    django-stubs contains type stubs and a custom mypy plugin to provide more
    precise static types and type inference for Django framework. Django uses some
    Python "magic" that makes having precise types for some code patterns
    problematic. This is why we need this project. The final goal is to be able to
    get precise types for most common patterns.
    
    WWW: https://github.com/typeddjango/django-stubs
---
 www/Makefile                                       |  1 +
 www/py-dj61-django-stubs-ext/Makefile              | 24 ++++++++++++++++++++++
 www/py-dj61-django-stubs-ext/distinfo              |  3 +++
 .../files/patch-pyproject.toml                     | 11 ++++++++++
 www/py-dj61-django-stubs-ext/pkg-descr             |  5 +++++
 5 files changed, 44 insertions(+)

diff --git a/www/Makefile b/www/Makefile
index d2d72b90da75..f5c36325bc2c 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -1596,6 +1596,7 @@
     SUBDIR += py-dj60-drf-spectacular-sidecar
     SUBDIR += py-dj60-social-auth-app-django
     SUBDIR += py-dj60-strawberry-graphql-django
+    SUBDIR += py-dj61-django-stubs-ext
     SUBDIR += py-django-admin-rangefilter
     SUBDIR += py-django-advanced-filters
     SUBDIR += py-django-allauth
diff --git a/www/py-dj61-django-stubs-ext/Makefile b/www/py-dj61-django-stubs-ext/Makefile
new file mode 100644
index 000000000000..7fa31ddfd8ce
--- /dev/null
+++ b/www/py-dj61-django-stubs-ext/Makefile
@@ -0,0 +1,24 @@
+PORTNAME=	django-stubs-ext
+PORTVERSION=	6.1.0
+CATEGORIES=	www python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}dj61-
+DISTNAME=	django_stubs_ext-${PORTVERSION}
+
+MAINTAINER=	dtxdf@FreeBSD.org
+COMMENT=	Monkey-patching and extensions for django-stubs
+WWW=		https://github.com/typeddjango/django-stubs
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE.md
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}uv-build>=0:devel/py-uv-build@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}django61>=0:www/py-django61@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}typing-extensions>=0:devel/py-typing-extensions@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	autoplist concurrent pep517
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj61-django-stubs-ext/distinfo b/www/py-dj61-django-stubs-ext/distinfo
new file mode 100644
index 000000000000..e790ae12083d
--- /dev/null
+++ b/www/py-dj61-django-stubs-ext/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1788397108
+SHA256 (django_stubs_ext-6.1.0.tar.gz) = d5635a481f5bdf2e04d533a8b602d3b9a28f073deffc85b83048dd20032e4d20
+SIZE (django_stubs_ext-6.1.0.tar.gz) = 6848
diff --git a/www/py-dj61-django-stubs-ext/files/patch-pyproject.toml b/www/py-dj61-django-stubs-ext/files/patch-pyproject.toml
new file mode 100644
index 000000000000..aaa2ee2e5b28
--- /dev/null
+++ b/www/py-dj61-django-stubs-ext/files/patch-pyproject.toml
@@ -0,0 +1,11 @@
+--- pyproject.toml.orig	2026-08-21 01:10:40 UTC
++++ pyproject.toml
+@@ -50,7 +50,7 @@ Funding = "https://github.com/sponsors/typeddjango"
+ "Release notes" = "https://github.com/typeddjango/django-stubs/releases"
+ 
+ [build-system]
+-requires = ["uv_build>=0.12.0,<0.13.0"]
++requires = ["uv_build"]
+ build-backend = "uv_build"
+ 
+ [tool.uv.build-backend]
diff --git a/www/py-dj61-django-stubs-ext/pkg-descr b/www/py-dj61-django-stubs-ext/pkg-descr
new file mode 100644
index 000000000000..544fd8d1f497
--- /dev/null
+++ b/www/py-dj61-django-stubs-ext/pkg-descr
@@ -0,0 +1,5 @@
+django-stubs contains type stubs and a custom mypy plugin to provide more
+precise static types and type inference for Django framework. Django uses some
+Python "magic" that makes having precise types for some code patterns
+problematic. This is why we need this project. The final goal is to be able to
+get precise types for most common patterns.