Page MenuHomeFreeBSD

D38649.id117485.diff
No OneTemporary

D38649.id117485.diff

diff --git a/devel/Makefile b/devel/Makefile
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -4512,7 +4512,9 @@
SUBDIR += py-distlib
SUBDIR += py-distributed
SUBDIR += py-dj40-django-rq
+ SUBDIR += py-dj41-django-rq
SUBDIR += py-dj40-graphene-django
+ SUBDIR += py-dj41-graphene-django
SUBDIR += py-django-rq
SUBDIR += py-dockerpty
SUBDIR += py-docopt
diff --git a/devel/py-dj41-django-rq/Makefile b/devel/py-dj41-django-rq/Makefile
new file mode 100644
--- /dev/null
+++ b/devel/py-dj41-django-rq/Makefile
@@ -0,0 +1,35 @@
+PORTNAME= django-rq
+PORTVERSION= 2.6.0
+CATEGORIES= devel python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj41-
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Provides Django integration for RQ (Redis Queue)
+WWW= https://github.com/rq/django-rq
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django41>=2.0:www/py-django41@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}redis>=3:databases/py-redis@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}rq>=1.2:devel/py-rq@${PY_FLAVOR}
+TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}coverage>=0:devel/py-coverage@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}docutils>=0,1:textproc/py-docutils@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}mock>=0:devel/py-mock@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}yaml>=0:devel/py-yaml@${PY_FLAVOR} \
+ redis-server:databases/redis
+
+USES= python:3.8+
+USE_PYTHON= autoplist concurrent distutils
+
+NO_ARCH= yes
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+# https://github.com/rq/django-rq/blob/master/Makefile
+do-test:
+ cd ${WRKSRC} && coverage-${PYTHON_VER} run ${LOCALBASE}/bin/django-admin.py test django_rq --settings=django_rq.tests.settings --pythonpath=.
+ cd ${WRKSRC} && ${PYTHON_CMD} setup.py check --metadata --restructuredtext --strict
+
+.include <bsd.port.mk>
diff --git a/devel/py-dj41-django-rq/distinfo b/devel/py-dj41-django-rq/distinfo
new file mode 100644
--- /dev/null
+++ b/devel/py-dj41-django-rq/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1668803526
+SHA256 (django-rq-2.6.0.tar.gz) = f03b1eb68afe218175989c14b1266c7b446d5152f629888a078d0022059b255e
+SIZE (django-rq-2.6.0.tar.gz) = 45297
diff --git a/devel/py-dj41-django-rq/pkg-descr b/devel/py-dj41-django-rq/pkg-descr
new file mode 100644
--- /dev/null
+++ b/devel/py-dj41-django-rq/pkg-descr
@@ -0,0 +1,3 @@
+Django integration with RQ, a Redis based Python queuing library. Django-RQ is a
+simple app that allows you to configure your queues in django's settings.py and
+easily use them in your project.
diff --git a/devel/py-dj41-graphene-django/Makefile b/devel/py-dj41-graphene-django/Makefile
new file mode 100644
--- /dev/null
+++ b/devel/py-dj41-graphene-django/Makefile
@@ -0,0 +1,34 @@
+PORTNAME= graphene-django
+PORTVERSION= 3.0.0
+CATEGORIES= devel python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj41-
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Graphene Django integration
+WWW= https://github.com/graphql-python/graphene-django
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django41>=3.2:www/py-django41@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}graphene>=3.0<4:devel/py-graphene@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}graphql-core>=3.1.0<4:devel/py-graphql-core@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}graphql-relay>=3.1.1<4:devel/py-graphql-relay@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}promise>=2.1:devel/py-promise@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}text-unidecode>=0:converters/py-text-unidecode@${PY_FLAVOR}
+
+USES= python:3.8+
+USE_PYTHON= autoplist concurrent distutils
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH= yes
+
+OPTIONS_DEFINE= REST_FRAMEWORK
+OPTIONS_DEFAULT=REST_FRAMEWORK
+REST_FRAMEWORK_DESC= REST framework support
+
+REST_FRAMEWORK_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dj41-djangorestframework>=3.6.3:www/py-dj41-djangorestframework@${PY_FLAVOR}
+
+.include <bsd.port.mk>
diff --git a/devel/py-dj41-graphene-django/distinfo b/devel/py-dj41-graphene-django/distinfo
new file mode 100644
--- /dev/null
+++ b/devel/py-dj41-graphene-django/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1668803621
+SHA256 (graphene-django-3.0.0.tar.gz) = 018a8dc4736d99b5bb4a15d7fd0b46c98010e9201cb52a290f6d1f16ae6fefda
+SIZE (graphene-django-3.0.0.tar.gz) = 77525
diff --git a/devel/py-dj41-graphene-django/files/patch-setup.py b/devel/py-dj41-graphene-django/files/patch-setup.py
new file mode 100644
--- /dev/null
+++ b/devel/py-dj41-graphene-django/files/patch-setup.py
@@ -0,0 +1,10 @@
+--- setup.py.orig 2020-12-31 06:55:53 UTC
++++ setup.py
+@@ -68,7 +68,6 @@ setup(
+ "promise>=2.1",
+ "text-unidecode",
+ ],
+- setup_requires=["pytest-runner"],
+ tests_require=tests_require,
+ rest_framework_require=rest_framework_require,
+ extras_require={
diff --git a/devel/py-dj41-graphene-django/pkg-descr b/devel/py-dj41-graphene-django/pkg-descr
new file mode 100644
--- /dev/null
+++ b/devel/py-dj41-graphene-django/pkg-descr
@@ -0,0 +1 @@
+A Django integration for Graphene.
diff --git a/www/Makefile b/www/Makefile
--- a/www/Makefile
+++ b/www/Makefile
@@ -1477,6 +1477,21 @@
SUBDIR += py-dj40-django-timezone-field
SUBDIR += py-dj40-djangorestframework
SUBDIR += py-dj40-drf-yasg
+ SUBDIR += py-dj41-django-auth-ldap
+ SUBDIR += py-dj41-django-cors-headers
+ SUBDIR += py-dj41-django-debug-toolbar
+ SUBDIR += py-dj41-django-filter
+ SUBDIR += py-dj41-django-graphiql-debug-toolbar
+ SUBDIR += py-dj41-django-js-asset
+ SUBDIR += py-dj41-django-mptt
+ SUBDIR += py-dj41-django-prometheus
+ SUBDIR += py-dj41-django-redis
+ SUBDIR += py-dj41-django-rich
+ SUBDIR += py-dj41-django-tables2
+ SUBDIR += py-dj41-django-taggit
+ SUBDIR += py-dj41-django-timezone-field
+ SUBDIR += py-dj41-djangorestframework
+ SUBDIR += py-dj41-drf-yasg
SUBDIR += py-django-admin-rangefilter
SUBDIR += py-django-advanced-filters
SUBDIR += py-django-allauth
diff --git a/www/py-dj41-django-auth-ldap/Makefile b/www/py-dj41-django-auth-ldap/Makefile
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-auth-ldap/Makefile
@@ -0,0 +1,39 @@
+PORTNAME= django-auth-ldap
+PORTVERSION= 4.1.0
+PORTREVISION= 1
+CATEGORIES= www security python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj41-
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= LDAP integration for django.contrib.auth
+WWW= https://github.com/django-auth-ldap/django-auth-ldap
+
+LICENSE= BSD2CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools_scm>=3.4:devel/py-setuptools_scm@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django41>=2.2:www/py-django41@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}ldap>=3.1:net/py-ldap@${PY_FLAVOR}
+
+USES= python:3.8+
+USE_PYTHON= autoplist concurrent pep517
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH= yes
+PORTDOCS= *
+OPTIONS_DEFINE= DOCS
+DOCS_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinx>=0,1:textproc/py-sphinx@${PY_FLAVOR}
+
+post-build-DOCS-on:
+ ${LOCALBASE}/bin/sphinx-build-${PYTHON_VER} -d ${WRKDIR} -b html ${WRKSRC}/docs ${WRKSRC}/build/sphinx/html
+
+post-install-DOCS-on:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ (cd ${WRKSRC}/build/sphinx/html && \
+ ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} \
+ "! -name .buildinfo -and ! -name objects.inv")
+
+.include <bsd.port.mk>
diff --git a/www/py-dj41-django-auth-ldap/distinfo b/www/py-dj41-django-auth-ldap/distinfo
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-auth-ldap/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1654945388
+SHA256 (django-auth-ldap-4.1.0.tar.gz) = 77f749d3b17807ce8eb56a9c9c8e5746ff316567f81d5ba613495d9c7495a949
+SIZE (django-auth-ldap-4.1.0.tar.gz) = 53254
diff --git a/www/py-dj41-django-auth-ldap/files/patch-docs_conf.py b/www/py-dj41-django-auth-ldap/files/patch-docs_conf.py
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-auth-ldap/files/patch-docs_conf.py
@@ -0,0 +1,20 @@
+Avoid the download of various intersphinx inventories during build. Only two
+intersphinx mappings are used and the documentation can be built/used without
+them.
+
+--- docs/conf.py.orig 2022-06-12 10:26:47 UTC
++++ docs/conf.py
+@@ -188,13 +188,3 @@ texinfo_documents = [
+ # -- Extension configuration -------------------------------------------------
+
+ # -- Options for intersphinx extension ---------------------------------------
+-
+-intersphinx_mapping = {
+- "python": ("https://docs.python.org/3/", None),
+- "django": (
+- "https://docs.djangoproject.com/en/stable/",
+- "https://docs.djangoproject.com/en/stable/_objects/",
+- ),
+- "pythonldap": ("https://www.python-ldap.org/en/latest/", None),
+- "tox": ("https://tox.wiki/en/latest/", None),
+-}
diff --git a/www/py-dj41-django-auth-ldap/pkg-descr b/www/py-dj41-django-auth-ldap/pkg-descr
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-auth-ldap/pkg-descr
@@ -0,0 +1,4 @@
+This is a Django authentication backend that authenticates against an LDAP
+service. Configuration can be as simple as a single distinguished name template,
+but there are many rich configuration options for working with users, groups,
+and permissions.
diff --git a/www/py-dj41-django-cors-headers/Makefile b/www/py-dj41-django-cors-headers/Makefile
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-cors-headers/Makefile
@@ -0,0 +1,22 @@
+PORTNAME= django-cors-headers
+PORTVERSION= 3.13.0
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj41-
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Handles server headers required for Cross-Origin Resource Sharing
+WWW= https://github.com/adamchainz/django-cors-headers
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django41>=3.2:www/py-django41@${PY_FLAVOR}
+
+USES= python:3.8+
+USE_PYTHON= autoplist distutils
+
+NO_ARCH= yes
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+.include <bsd.port.mk>
diff --git a/www/py-dj41-django-cors-headers/distinfo b/www/py-dj41-django-cors-headers/distinfo
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-cors-headers/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1655534977
+SHA256 (django-cors-headers-3.13.0.tar.gz) = f9dc6b4e3f611c3199700b3e5f3398c28757dcd559c2f82932687f3d0443cfdf
+SIZE (django-cors-headers-3.13.0.tar.gz) = 20995
diff --git a/www/py-dj41-django-cors-headers/pkg-descr b/www/py-dj41-django-cors-headers/pkg-descr
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-cors-headers/pkg-descr
@@ -0,0 +1,2 @@
+A Django App that adds CORS (Cross-Origin Resource Sharing) headers to
+responses.
diff --git a/www/py-dj41-django-debug-toolbar/Makefile b/www/py-dj41-django-debug-toolbar/Makefile
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-debug-toolbar/Makefile
@@ -0,0 +1,24 @@
+PORTNAME= django-debug-toolbar
+PORTVERSION= 3.7.0
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj41-
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Configurable set of panels to display debug information
+WWW= https://github.com/jazzband/django-debug-toolbar
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django41>=3.2.4:www/py-django41@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}sqlparse>=0.2.0:databases/py-sqlparse@${PY_FLAVOR}
+
+USES= python:3.8+
+USE_PYTHON= autoplist concurrent distutils
+
+NO_ARCH= yes
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+.include <bsd.port.mk>
diff --git a/www/py-dj41-django-debug-toolbar/distinfo b/www/py-dj41-django-debug-toolbar/distinfo
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-debug-toolbar/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1664768004
+SHA256 (django-debug-toolbar-3.7.0.tar.gz) = 1e3acad24e3d351ba45c6fa2072e4164820307332a776b16c9f06d1f89503465
+SIZE (django-debug-toolbar-3.7.0.tar.gz) = 133244
diff --git a/www/py-dj41-django-debug-toolbar/pkg-descr b/www/py-dj41-django-debug-toolbar/pkg-descr
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-debug-toolbar/pkg-descr
@@ -0,0 +1,3 @@
+The Django Debug Toolbar is a configurable set of panels that display various
+debug information about the current request/response and when clicked, display
+more details about the panel's content.
diff --git a/www/py-dj41-django-filter/Makefile b/www/py-dj41-django-filter/Makefile
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-filter/Makefile
@@ -0,0 +1,23 @@
+PORTNAME= django-filter
+DISTVERSION= 22.1
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj41-
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Dynamic filtering for querysets with Django
+WWW= https://github.com/carltongibson/django-filter
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django41>=3.2:www/py-django41@${PY_FLAVOR}
+
+USES= python:3.8+
+USE_PYTHON= distutils autoplist
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj41-django-filter/distinfo b/www/py-dj41-django-filter/distinfo
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-filter/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1655739412
+SHA256 (django-filter-22.1.tar.gz) = ed473b76e84f7e83b2511bb2050c3efb36d135207d0128dfe3ae4b36e3594ba5
+SIZE (django-filter-22.1.tar.gz) = 134811
diff --git a/www/py-dj41-django-filter/pkg-descr b/www/py-dj41-django-filter/pkg-descr
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-filter/pkg-descr
@@ -0,0 +1,2 @@
+Django-filter is a reusable Django application allowing users to declaratively
+add dynamic QuerySet filtering from URL parameters.
diff --git a/www/py-dj41-django-graphiql-debug-toolbar/Makefile b/www/py-dj41-django-graphiql-debug-toolbar/Makefile
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-graphiql-debug-toolbar/Makefile
@@ -0,0 +1,25 @@
+PORTNAME= django-graphiql-debug-toolbar
+DISTVERSION= 0.2.0
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj41-
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Django Debug Toolbar for GraphiQL IDE
+WWW= https://github.com/flavors/django-graphiql-debug-toolbar
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django41>=2.2:www/py-django41@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj41-graphene-django>=2.0.0:devel/py-dj41-graphene-django@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj41-django-debug-toolbar>=3.1:www/py-dj41-django-debug-toolbar@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= autoplist distutils
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj41-django-graphiql-debug-toolbar/distinfo b/www/py-dj41-django-graphiql-debug-toolbar/distinfo
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-graphiql-debug-toolbar/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1630337959
+SHA256 (django-graphiql-debug-toolbar-0.2.0.tar.gz) = aec7a9e096594123d9fc359a583da794a0020b5391d941dda584ce1e667e0afd
+SIZE (django-graphiql-debug-toolbar-0.2.0.tar.gz) = 5000
diff --git a/www/py-dj41-django-graphiql-debug-toolbar/pkg-descr b/www/py-dj41-django-graphiql-debug-toolbar/pkg-descr
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-graphiql-debug-toolbar/pkg-descr
@@ -0,0 +1,2 @@
+This package is an extension for Django Debug Toolbar which enables support
+for debugging GraphiQL queries in Django Projects.
diff --git a/www/py-dj41-django-js-asset/Makefile b/www/py-dj41-django-js-asset/Makefile
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-js-asset/Makefile
@@ -0,0 +1,24 @@
+PORTNAME= django-js-asset
+DISTVERSION= 2.0.0
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj41-
+DISTNAME= django_js_asset-${DISTVERSION}
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Insert script tags with additional attributes for django.forms.Media
+WWW= https://github.com/matthiask/django-js-asset
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django41>=2.2:www/py-django41@${PY_FLAVOR}
+
+USES= python:3.8+
+USE_PYTHON= distutils autoplist
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj41-django-js-asset/distinfo b/www/py-dj41-django-js-asset/distinfo
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-js-asset/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1647897596
+SHA256 (django_js_asset-2.0.0.tar.gz) = adc1ee1efa853fad42054b540c02205344bb406c9bddf87c9e5377a41b7db90f
+SIZE (django_js_asset-2.0.0.tar.gz) = 4592
diff --git a/www/py-dj41-django-js-asset/pkg-descr b/www/py-dj41-django-js-asset/pkg-descr
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-js-asset/pkg-descr
@@ -0,0 +1,2 @@
+Insert script tags with additional attributes (such as "id" and "data" for
+CSP-compatible data injection) for the django.forms.Media package.
diff --git a/www/py-dj41-django-mptt/Makefile b/www/py-dj41-django-mptt/Makefile
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-mptt/Makefile
@@ -0,0 +1,24 @@
+PORTNAME= django-mptt
+PORTVERSION= 0.14.0
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj41-
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Utilities for implementing Modified Preorder Tree Traversal in Django
+WWW= https://github.com/django-mptt/django-mptt
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django41>=2.2:www/py-django41@${PY_FLAVOR}\
+ ${PYTHON_PKGNAMEPREFIX}dj41-django-js-asset>0:www/py-dj41-django-js-asset@${PY_FLAVOR}
+
+USES= python:3.8+
+USE_PYTHON= autoplist distutils
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj41-django-mptt/distinfo b/www/py-dj41-django-mptt/distinfo
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-mptt/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1665308477
+SHA256 (django-mptt-0.14.0.tar.gz) = 2c92a2b1614c53086278795ccf50580cf1f9b8564f3ff03055dd62bab5987711
+SIZE (django-mptt-0.14.0.tar.gz) = 103453
diff --git a/www/py-dj41-django-mptt/pkg-descr b/www/py-dj41-django-mptt/pkg-descr
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-mptt/pkg-descr
@@ -0,0 +1,2 @@
+Utilities for implementing Modified Preorder Tree Traversal with your Django
+Models and working with trees of Model instances.
diff --git a/www/py-dj41-django-prometheus/Makefile b/www/py-dj41-django-prometheus/Makefile
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-prometheus/Makefile
@@ -0,0 +1,35 @@
+PORTNAME= django-prometheus
+PORTVERSION= 2.2.0
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj41-
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Export Django monitoring metrics for Prometheus.io
+WWW= https://github.com/korfuri/django-prometheus
+
+LICENSE= APACHE20
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest-runner>0:devel/py-pytest-runner@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django41>=2.2:www/py-django41@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}prometheus-client>=0.7:net-mgmt/py-prometheus-client@${PY_FLAVOR}
+
+USES= python:3.8+
+USE_PYTHON= autoplist distutils
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH= yes
+
+OPTIONS_GROUP= DATABASE CACHE
+OPTIONS_GROUP_CACHE= MEMCACHED REDIS
+OPTIONS_GROUP_DATABASE= MYSQL PGSQL
+
+MEMCACHED_DESC= Memcached distributed memory caching support
+
+MEMCACHED_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}python-memcached>=0:databases/py-python-memcached@${PY_FLAVOR}
+MYSQL_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}mysqlclient>=0:databases/py-mysqlclient@${PY_FLAVOR}
+PGSQL_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}psycopg2>=0:databases/py-psycopg2@${PY_FLAVOR}
+REDIS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dj41-django-redis>=4.8:www/py-dj41-django-redis@${PY_FLAVOR}
+
+.include <bsd.port.mk>
diff --git a/www/py-dj41-django-prometheus/distinfo b/www/py-dj41-django-prometheus/distinfo
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-prometheus/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1641495767
+SHA256 (django-prometheus-2.2.0.tar.gz) = 240378a1307c408bd5fc85614a3a57f1ce633d4a222c9e291e2bbf325173b801
+SIZE (django-prometheus-2.2.0.tar.gz) = 24995
diff --git a/www/py-dj41-django-prometheus/pkg-descr b/www/py-dj41-django-prometheus/pkg-descr
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-prometheus/pkg-descr
@@ -0,0 +1,14 @@
+This library exports Django monitoring metrics for Prometheus.io.
+
+It provides support to monitor the following databases types:
+
+* SQLite (via Django)
+* PostgreSQL
+* MySQL
+
+In addition, caches can also be monitored:
+
+* memcached
+* Redis
+
+It's even possible to export metrics of Django models and migrations.
diff --git a/www/py-dj41-django-redis/Makefile b/www/py-dj41-django-redis/Makefile
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-redis/Makefile
@@ -0,0 +1,30 @@
+PORTNAME= django-redis
+PORTVERSION= 5.2.0
+CATEGORIES= www databases python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj41-
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Full featured Redis cache/session backend for Django
+WWW= https://github.com/jazzband/django-redis
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django41>=2.2:www/py-django41@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}redis>=3<4:databases/py-redis@${PY_FLAVOR}
+TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hiredis>=0:databases/py-hiredis@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}mock>=0:devel/py-mock@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}msgpack>=0:devel/py-msgpack@${PY_FLAVOR}
+
+USES= python:3.8+
+USE_PYTHON= autoplist concurrent distutils
+
+NO_ARCH= yes
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+do-test:
+ @cd ${WRKSRC}/tests && ${PYTHON_CMD} runtests.py
+
+.include <bsd.port.mk>
diff --git a/www/py-dj41-django-redis/distinfo b/www/py-dj41-django-redis/distinfo
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-redis/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1641046018
+SHA256 (django-redis-5.2.0.tar.gz) = 8a99e5582c79f894168f5865c52bd921213253b7fd64d16733ae4591564465de
+SIZE (django-redis-5.2.0.tar.gz) = 44132
diff --git a/www/py-dj41-django-redis/pkg-descr b/www/py-dj41-django-redis/pkg-descr
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-redis/pkg-descr
@@ -0,0 +1,15 @@
+Django-redis is a BSD Licensed, full featured Redis cache/session
+backend for Django.
+
+Why use django-redis?
+
+ * Modular client system (pluggable clients).
+ * Master-Slave support in the default client.
+ * Used in production in several projects as cache and session storage.
+ * Supports infinite timeouts.
+ * Python 3 support in same code base.
+ * Facilities for raw access to Redis client/connection pool.
+ * Highly configurable (can emulate memcached exception behavior, for
+ example).
+ * Unix sockets supported by default.
+ * Pluggable parsers.
diff --git a/www/py-dj41-django-rich/Makefile b/www/py-dj41-django-rich/Makefile
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-rich/Makefile
@@ -0,0 +1,24 @@
+PORTNAME= django-rich
+PORTVERSION= 1.4.0
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj41-
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Extensions for using Rich with Django
+WWW= https://github.com/adamchainz/django-rich
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django41>=3.2:www/py-django41@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}rich>=10.0.0:textproc/py-rich@${PY_FLAVOR}
+
+USES= python:3.8+
+USE_PYTHON= autoplist distutils
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj41-django-rich/distinfo b/www/py-dj41-django-rich/distinfo
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-rich/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1657859577
+SHA256 (django-rich-1.4.0.tar.gz) = 10a5d9e9b62228b683d51584e4c2a5aa9f838176364a90c8cd79688aadca9f4c
+SIZE (django-rich-1.4.0.tar.gz) = 58751
diff --git a/www/py-dj41-django-rich/pkg-descr b/www/py-dj41-django-rich/pkg-descr
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-rich/pkg-descr
@@ -0,0 +1,11 @@
+This package provides Extensions for using Rich with the Django framework.
+
+These extensions consist of the following subclasses:
+
+* django_rich.management.RichCommand:
+ Subclass of Django’s BaseCommand class that sets its self.console to a
+ Rich Console.
+
+* django_rich.test.RichRunner:
+ Subclass of Django's DiscoverRunner with colourized outputs and nice
+ traceback rendering.
diff --git a/www/py-dj41-django-tables2/Makefile b/www/py-dj41-django-tables2/Makefile
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-tables2/Makefile
@@ -0,0 +1,28 @@
+PORTNAME= django-tables2
+DISTVERSION= 2.5.1
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj41-
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Table/data-grid framework for Django
+WWW= https://github.com/jieter/django-tables2
+
+LICENSE= BSD2CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django41>=3.2:www/py-django41@${PY_FLAVOR}
+
+USES= python:3.8+
+USE_PYTHON= distutils autoplist
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH= yes
+
+OPTIONS_DEFINE= TABLIB
+
+TABLIB_DESC= Enable support for exporting table datasets
+TABLIB_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}tablib>=0:textproc/py-tablib@${PY_FLAVOR}
+
+.include <bsd.port.mk>
diff --git a/www/py-dj41-django-tables2/distinfo b/www/py-dj41-django-tables2/distinfo
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-tables2/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1676209249
+SHA256 (django-tables2-2.5.1.tar.gz) = 25ed2c28d3508558a4246a255c381784b20b439ef175e3954a103ffbc3a63757
+SIZE (django-tables2-2.5.1.tar.gz) = 79066
diff --git a/www/py-dj41-django-tables2/pkg-descr b/www/py-dj41-django-tables2/pkg-descr
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-tables2/pkg-descr
@@ -0,0 +1,3 @@
+django-tables2 simplifies the task of turning sets of data into HTML tables.
+It has native support for pagination and sorting, does for HTML tables what
+django.forms does for HTML forms.
diff --git a/www/py-dj41-django-taggit/Makefile b/www/py-dj41-django-taggit/Makefile
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-taggit/Makefile
@@ -0,0 +1,27 @@
+PORTNAME= django-taggit
+PORTVERSION= 3.1.0
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj41-
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Reusable Django application for simple tagging
+WWW= https://github.com/jazzband/django-taggit
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django41>=3.2:www/py-django41@${PY_FLAVOR}
+TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dj41-djangorestframework>0:www/py-dj41-djangorestframework@${PY_FLAVOR}
+
+USES= python:3.8+
+USE_PYTHON= autoplist distutils
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH= yes
+
+do-test:
+ @cd ${WRKSRC} && ${SETENV} ${TEST_ENV} ${PYTHON_CMD} -m django test --settings=tests.settings -v3
+
+.include <bsd.port.mk>
diff --git a/www/py-dj41-django-taggit/distinfo b/www/py-dj41-django-taggit/distinfo
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-taggit/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1669844361
+SHA256 (django-taggit-3.1.0.tar.gz) = c8f2e4eae387939089b3d75d1d8649e008880970c068ce9d0e82f87fd5e29508
+SIZE (django-taggit-3.1.0.tar.gz) = 58238
diff --git a/www/py-dj41-django-taggit/pkg-descr b/www/py-dj41-django-taggit/pkg-descr
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-taggit/pkg-descr
@@ -0,0 +1 @@
+django-taggit a simpler approach to tagging with Django.
diff --git a/www/py-dj41-django-timezone-field/Makefile b/www/py-dj41-django-timezone-field/Makefile
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-timezone-field/Makefile
@@ -0,0 +1,31 @@
+PORTNAME= django-timezone-field
+DISTVERSION= 5.0
+PORTREVISION= 1
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj41-
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Provides database and form fields for pytz timezone objects for Django
+WWW= https://github.com/mfogel/django-timezone-field
+
+LICENSE= BSD2CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django41>=2.2:www/py-django41@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytz>0:devel/py-pytz@${PY_FLAVOR}
+
+USES= python:3.8+
+USE_PYTHON= distutils autoplist
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH= yes
+
+.include <bsd.port.pre.mk>
+
+.if ${PYTHON_REL} < 30900
+RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}backports.zoneinfo>=0.2.1<0.3.0:devel/py-backports.zoneinfo@${PY_FLAVOR}
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/www/py-dj41-django-timezone-field/distinfo b/www/py-dj41-django-timezone-field/distinfo
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-timezone-field/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1645108464
+SHA256 (django-timezone-field-5.0.tar.gz) = 15746ed367a5a32eda76cfa2886eeec1de8cda79f519b7c5e12f87ed7cdbd663
+SIZE (django-timezone-field-5.0.tar.gz) = 11838
diff --git a/www/py-dj41-django-timezone-field/files/patch-timezone__field_fields.py b/www/py-dj41-django-timezone-field/files/patch-timezone__field_fields.py
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-timezone-field/files/patch-timezone__field_fields.py
@@ -0,0 +1,27 @@
+From 0257f2e9c7c488e8a859ee924c93d9f38afa4dc7 Mon Sep 17 00:00:00 2001
+From: jeremystretch <jstretch@ns1.com>
+Date: Fri, 12 Aug 2022 10:03:27 -0400
+Subject: [PATCH] Fixes #94: Catch ZoneInfoNotFoundError exception when
+ populating timezones
+
+Obtained from:
+
+https://github.com/mfogel/django-timezone-field/commit/0257f2e9c7c488e8a859ee924c93d9f38afa4dc7
+
+--- timezone_field/fields.py.orig 2022-02-09 04:42:10 UTC
++++ timezone_field/fields.py
+@@ -38,7 +38,13 @@ class TimeZoneField(models.Field):
+ # existing migration files will need to be accomodated.
+ default_max_length = 63
+ default_pytz_tzs = [pytz.timezone(tz) for tz in pytz.common_timezones]
+- default_zoneinfo_tzs = [ZoneInfo(tz) for tz in pytz.common_timezones]
++ default_zoneinfo_tzs = []
++ for tz in pytz.common_timezones:
++ try:
++ default_zoneinfo_tzs.append(ZoneInfo(tz))
++ except ZoneInfoNotFoundError:
++ # ZoneInfo does not yet exist for this timezone
++ pass
+
+ def __init__(self, *args, **kwargs):
+ # allow some use of positional args up until the args we customize
diff --git a/www/py-dj41-django-timezone-field/pkg-descr b/www/py-dj41-django-timezone-field/pkg-descr
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-django-timezone-field/pkg-descr
@@ -0,0 +1 @@
+Provides database and form fields for pytz timezone objects for Django.
diff --git a/www/py-dj41-djangorestframework/Makefile b/www/py-dj41-djangorestframework/Makefile
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-djangorestframework/Makefile
@@ -0,0 +1,23 @@
+PORTNAME= djangorestframework
+PORTVERSION= 3.14.0
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj41-
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Django REST framework
+WWW= https://www.django-rest-framework.org/
+
+LICENSE= BSD2CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE.md
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django41>=3.0:www/py-django41@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytz>=0:devel/py-pytz@${PY_FLAVOR}
+
+USES= python:3.8+
+USE_PYTHON= distutils autoplist
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj41-djangorestframework/distinfo b/www/py-dj41-djangorestframework/distinfo
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-djangorestframework/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1665309069
+SHA256 (djangorestframework-3.14.0.tar.gz) = 579a333e6256b09489cbe0a067e66abe55c6595d8926be6b99423786334350c8
+SIZE (djangorestframework-3.14.0.tar.gz) = 1055343
diff --git a/www/py-dj41-djangorestframework/pkg-descr b/www/py-dj41-djangorestframework/pkg-descr
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-djangorestframework/pkg-descr
@@ -0,0 +1,2 @@
+Django REST framework is a powerful and flexible toolkit that makes
+it easy to build Web APIs.
diff --git a/www/py-dj41-drf-yasg/Makefile b/www/py-dj41-drf-yasg/Makefile
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-drf-yasg/Makefile
@@ -0,0 +1,38 @@
+PORTNAME= drf-yasg
+DISTVERSION= 1.21.4
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj41-
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Yet Another Swagger Generator
+WWW= https://github.com/axnsan12/drf-yasg
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE.rst
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools_scm>=3.0.6:devel/py-setuptools_scm@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django41>=2.2.16:www/py-django41@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj41-djangorestframework>=3.10.3:www/py-dj41-djangorestframework@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}coreapi>=2.3.3:devel/py-coreapi@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}coreschema>=0.0.4:devel/py-coreschema@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}inflection>=0.3.1:devel/py-inflection@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}ruamel.yaml>=0.16.13:devel/py-ruamel.yaml@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytz>=2021.1:devel/py-pytz@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}uritemplate>=3.0.0:net/py-uritemplate@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}packaging>=21.0:devel/py-packaging@${PY_FLAVOR}
+
+USES= python:3.8+
+USE_PYTHON= distutils autoplist
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH= yes
+
+OPTIONS_DEFINE= VALIDATION
+OPTIONS_DEFAULT= VALIDATION
+
+VALIDATION_DESC= Enable built-in OpenAPI validation mechanisms
+VALIDATION_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}swagger-spec-validator>=2.1.0:devel/py-swagger-spec-validator@${PY_FLAVOR}
+
+.include <bsd.port.mk>
diff --git a/www/py-dj41-drf-yasg/distinfo b/www/py-dj41-drf-yasg/distinfo
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-drf-yasg/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1665308834
+SHA256 (drf-yasg-1.21.4.tar.gz) = 887c9f79e64f46aa48974234e61029b1bea6b12ea628a8fc8a3697589add1d3e
+SIZE (drf-yasg-1.21.4.tar.gz) = 6676926
diff --git a/www/py-dj41-drf-yasg/pkg-descr b/www/py-dj41-drf-yasg/pkg-descr
new file mode 100644
--- /dev/null
+++ b/www/py-dj41-drf-yasg/pkg-descr
@@ -0,0 +1,18 @@
+Generate real Swagger/OpenAPI 2.0 specifications from a Django Rest
+Framework API.
+
+Features:
+
+- full support for nested serializers and schemas
+- response schemas and descriptions
+- model definitions compatible with codegen tools
+- customization hooks at all points in the spec generation process
+- JSON and YAML format for spec
+- bundles latest version of swagger-ui and redoc for viewing the generated
+ documentation
+- schema view is cacheable out of the box
+- generated Swagger schema can be automatically validated by
+ swagger-spec-validator or flex
+- supports Django REST Framework API versioning with URLPathVersioning
+ and NamespaceVersioning (other DRF or custom versioning schemes are
+ not currently supported)

File Metadata

Mime Type
text/plain
Expires
Thu, Jan 22, 1:26 AM (7 m, 1 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27825895
Default Alt Text
D38649.id117485.diff (34 KB)

Event Timeline