Page MenuHomeFreeBSD

D41664.diff
No OneTemporary

D41664.diff

diff --git a/devel/Makefile b/devel/Makefile
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -4595,6 +4595,8 @@
SUBDIR += py-distributed
SUBDIR += py-dj41-django-rq
SUBDIR += py-dj41-graphene-django
+ SUBDIR += py-dj42-django-rq
+ SUBDIR += py-dj42-graphene-django
SUBDIR += py-django-rq
SUBDIR += py-dockerpty
SUBDIR += py-docopt
diff --git a/devel/py-dj42-django-rq/Makefile b/devel/py-dj42-django-rq/Makefile
new file mode 100644
--- /dev/null
+++ b/devel/py-dj42-django-rq/Makefile
@@ -0,0 +1,35 @@
+PORTNAME= django-rq
+PORTVERSION= 2.8.1
+CATEGORIES= devel python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj42-
+
+MAINTAINER= kai@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}django42>=2.0:www/py-django42@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}redis>=3:databases/py-redis@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}rq>=1.11: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
+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-dj42-django-rq/distinfo b/devel/py-dj42-django-rq/distinfo
new file mode 100644
--- /dev/null
+++ b/devel/py-dj42-django-rq/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1685162124
+SHA256 (django-rq-2.8.1.tar.gz) = ff053aa4d1b1e1acc47c99b4a21b514de8745894c00d1e6f4abc8b37d35d66d6
+SIZE (django-rq-2.8.1.tar.gz) = 46955
diff --git a/devel/py-dj42-django-rq/files/patch-setup.py b/devel/py-dj42-django-rq/files/patch-setup.py
new file mode 100644
--- /dev/null
+++ b/devel/py-dj42-django-rq/files/patch-setup.py
@@ -0,0 +1,11 @@
+--- setup.py.orig 2023-05-14 01:27:18 UTC
++++ setup.py
+@@ -14,7 +14,7 @@ setup(
+ zip_safe=False,
+ include_package_data=True,
+ package_data={'': ['README.rst']},
+- install_requires=['django>=2.0', 'rq>=1.14', 'redis>=3'],
++ install_requires=['django>=2.0', 'rq>=1.11', 'redis>=3'],
+ extras_require={
+ 'Sentry': ['raven>=6.1.0'],
+ 'testing': ['mock>=2.0.0'],
diff --git a/devel/py-dj42-django-rq/pkg-descr b/devel/py-dj42-django-rq/pkg-descr
new file mode 100644
--- /dev/null
+++ b/devel/py-dj42-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-dj42-graphene-django/Makefile b/devel/py-dj42-graphene-django/Makefile
new file mode 100644
--- /dev/null
+++ b/devel/py-dj42-graphene-django/Makefile
@@ -0,0 +1,36 @@
+PORTNAME= graphene-django
+PORTVERSION= 3.0.0
+CATEGORIES= devel python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj42-
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Graphene Django integration
+WWW= https://github.com/graphql-python/graphene-django
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=3.2:www/py-django42@${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
+USE_PYTHON= autoplist concurrent distutils
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH= yes
+
+PORTSCOUT= ignore:1
+
+OPTIONS_DEFINE= REST_FRAMEWORK
+OPTIONS_DEFAULT=REST_FRAMEWORK
+REST_FRAMEWORK_DESC= REST framework support
+
+REST_FRAMEWORK_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dj42-djangorestframework>=3.6.3:www/py-dj42-djangorestframework@${PY_FLAVOR}
+
+.include <bsd.port.mk>
diff --git a/devel/py-dj42-graphene-django/distinfo b/devel/py-dj42-graphene-django/distinfo
new file mode 100644
--- /dev/null
+++ b/devel/py-dj42-graphene-django/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1686153295
+SHA256 (graphene-django-3.0.0.tar.gz) = 018a8dc4736d99b5bb4a15d7fd0b46c98010e9201cb52a290f6d1f16ae6fefda
+SIZE (graphene-django-3.0.0.tar.gz) = 77525
diff --git a/devel/py-dj42-graphene-django/files/patch-setup.py b/devel/py-dj42-graphene-django/files/patch-setup.py
new file mode 100644
--- /dev/null
+++ b/devel/py-dj42-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-dj42-graphene-django/pkg-descr b/devel/py-dj42-graphene-django/pkg-descr
new file mode 100644
--- /dev/null
+++ b/devel/py-dj42-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
@@ -1494,6 +1494,22 @@
SUBDIR += py-dj41-drf-spectacular
SUBDIR += py-dj41-drf-spectacular-sidecar
SUBDIR += py-dj41-drf-yasg
+ SUBDIR += py-dj42-django-auth-ldap
+ SUBDIR += py-dj42-django-cors-headers
+ SUBDIR += py-dj42-django-debug-toolbar
+ SUBDIR += py-dj42-django-filter
+ SUBDIR += py-dj42-django-graphiql-debug-toolbar
+ SUBDIR += py-dj42-django-js-asset
+ SUBDIR += py-dj42-django-mptt
+ SUBDIR += py-dj42-django-prometheus
+ SUBDIR += py-dj42-django-redis
+ SUBDIR += py-dj42-django-rich
+ SUBDIR += py-dj42-django-tables2
+ SUBDIR += py-dj42-django-taggit
+ SUBDIR += py-dj42-django-timezone-field
+ SUBDIR += py-dj42-djangorestframework
+ SUBDIR += py-dj42-drf-spectacular
+ SUBDIR += py-dj42-drf-spectacular-sidecar
SUBDIR += py-django-admin-rangefilter
SUBDIR += py-django-advanced-filters
SUBDIR += py-django-allauth
diff --git a/www/py-dj42-django-auth-ldap/Makefile b/www/py-dj42-django-auth-ldap/Makefile
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-django-auth-ldap/Makefile
@@ -0,0 +1,39 @@
+PORTNAME= django-auth-ldap
+PORTVERSION= 4.4.0
+CATEGORIES= www security python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj42-
+
+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= ${PY_SETUPTOOLS} \
+ ${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}django42>=3.2:www/py-django42@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}ldap>=3.1:net/py-ldap@${PY_FLAVOR}
+
+USES= python
+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-dj42-django-auth-ldap/distinfo b/www/py-dj42-django-auth-ldap/distinfo
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-django-auth-ldap/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1690103450
+SHA256 (django-auth-ldap-4.4.0.tar.gz) = 797931ac5d55c4ca14c179d5892420cc2a98aa81e44323d595f5419c1b45c306
+SIZE (django-auth-ldap-4.4.0.tar.gz) = 53117
diff --git a/www/py-dj42-django-auth-ldap/files/patch-docs_conf.py b/www/py-dj42-django-auth-ldap/files/patch-docs_conf.py
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-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-dj42-django-auth-ldap/pkg-descr b/www/py-dj42-django-auth-ldap/pkg-descr
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-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-dj42-django-cors-headers/Makefile b/www/py-dj42-django-cors-headers/Makefile
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-django-cors-headers/Makefile
@@ -0,0 +1,25 @@
+PORTNAME= django-cors-headers
+PORTVERSION= 4.2.0
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj42-
+DISTNAME= django_cors_headers-${PORTVERSION}
+
+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
+
+BUILD_DEPENDS= ${PY_SETUPTOOLS} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=3.2:www/py-django42@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= autoplist pep517
+
+NO_ARCH= yes
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+.include <bsd.port.mk>
diff --git a/www/py-dj42-django-cors-headers/distinfo b/www/py-dj42-django-cors-headers/distinfo
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-django-cors-headers/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1689168127
+SHA256 (django_cors_headers-4.2.0.tar.gz) = f9749c6410fe738278bc2b6ef17f05195bc7b251693c035752d8257026af024f
+SIZE (django_cors_headers-4.2.0.tar.gz) = 21183
diff --git a/www/py-dj42-django-cors-headers/pkg-descr b/www/py-dj42-django-cors-headers/pkg-descr
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-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-dj42-django-debug-toolbar/Makefile b/www/py-dj42-django-debug-toolbar/Makefile
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-django-debug-toolbar/Makefile
@@ -0,0 +1,26 @@
+PORTNAME= django-debug-toolbar
+PORTVERSION= 4.2.0
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj42-
+DISTNAME= django_debug_toolbar-${PORTVERSION}
+
+MAINTAINER= kai@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
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=3.2.4:www/py-django42@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}sqlparse>=0.2.0:databases/py-sqlparse@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= autoplist concurrent pep517
+
+NO_ARCH= yes
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*django-debug-toolbar
+
+.include <bsd.port.mk>
diff --git a/www/py-dj42-django-debug-toolbar/distinfo b/www/py-dj42-django-debug-toolbar/distinfo
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-django-debug-toolbar/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1692211819
+SHA256 (django_debug_toolbar-4.2.0.tar.gz) = bc7fdaafafcdedefcc67a4a5ad9dac96efd6e41db15bc74d402a54a2ba4854dc
+SIZE (django_debug_toolbar-4.2.0.tar.gz) = 259709
diff --git a/www/py-dj42-django-debug-toolbar/pkg-descr b/www/py-dj42-django-debug-toolbar/pkg-descr
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-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-dj42-django-filter/Makefile b/www/py-dj42-django-filter/Makefile
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-django-filter/Makefile
@@ -0,0 +1,23 @@
+PORTNAME= django-filter
+DISTVERSION= 23.2
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj42-
+
+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}django42>=3.2:www/py-django42@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= distutils autoplist
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj42-django-filter/distinfo b/www/py-dj42-django-filter/distinfo
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-django-filter/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1683382975
+SHA256 (django-filter-23.2.tar.gz) = 2fe15f78108475eda525692813205fa6f9e8c1caf1ae65daa5862d403c6dbf00
+SIZE (django-filter-23.2.tar.gz) = 139433
diff --git a/www/py-dj42-django-filter/pkg-descr b/www/py-dj42-django-filter/pkg-descr
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-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-dj42-django-graphiql-debug-toolbar/Makefile b/www/py-dj42-django-graphiql-debug-toolbar/Makefile
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-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}dj42-
+
+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}django42>=2.2:www/py-django42@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj42-graphene-django>=2.0.0:devel/py-dj42-graphene-django@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj42-django-debug-toolbar>=3.1:www/py-dj42-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-dj42-django-graphiql-debug-toolbar/distinfo b/www/py-dj42-django-graphiql-debug-toolbar/distinfo
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-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-dj42-django-graphiql-debug-toolbar/pkg-descr b/www/py-dj42-django-graphiql-debug-toolbar/pkg-descr
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-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-dj42-django-js-asset/Makefile b/www/py-dj42-django-js-asset/Makefile
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-django-js-asset/Makefile
@@ -0,0 +1,25 @@
+PORTNAME= django-js-asset
+DISTVERSION= 2.1.0
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj42-
+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
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=3.2:www/py-django42@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= autoplist pep517
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj42-django-js-asset/distinfo b/www/py-dj42-django-js-asset/distinfo
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-django-js-asset/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1689168356
+SHA256 (django_js_asset-2.1.0.tar.gz) = be6f69ae5c4865617aa7726c48eddb64089a1e7d4ea7d22a35a3beb8282020f6
+SIZE (django_js_asset-2.1.0.tar.gz) = 7734
diff --git a/www/py-dj42-django-js-asset/pkg-descr b/www/py-dj42-django-js-asset/pkg-descr
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-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-dj42-django-mptt/Makefile b/www/py-dj42-django-mptt/Makefile
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-django-mptt/Makefile
@@ -0,0 +1,24 @@
+PORTNAME= django-mptt
+PORTVERSION= 0.14.0
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj42-
+
+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}django42>=2.2:www/py-django42@${PY_FLAVOR}\
+ ${PYTHON_PKGNAMEPREFIX}dj42-django-js-asset>0:www/py-dj42-django-js-asset@${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-dj42-django-mptt/distinfo b/www/py-dj42-django-mptt/distinfo
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-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-dj42-django-mptt/pkg-descr b/www/py-dj42-django-mptt/pkg-descr
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-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-dj42-django-prometheus/Makefile b/www/py-dj42-django-prometheus/Makefile
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-django-prometheus/Makefile
@@ -0,0 +1,37 @@
+PORTNAME= django-prometheus
+PORTVERSION= 2.3.1
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj42-
+
+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}django42>=3.2:www/py-django42@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}prometheus-client>=0.7:net-mgmt/py-prometheus-client@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= autoplist distutils pytest
+
+TEST_ENV= PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
+
+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}dj42-django-redis>=4.8:www/py-dj42-django-redis@${PY_FLAVOR}
+
+.include <bsd.port.mk>
diff --git a/www/py-dj42-django-prometheus/distinfo b/www/py-dj42-django-prometheus/distinfo
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-django-prometheus/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1683262385
+SHA256 (django-prometheus-2.3.1.tar.gz) = f9c8b6c780c9419ea01043c63a437d79db2c33353451347894408184ad9c3e1e
+SIZE (django-prometheus-2.3.1.tar.gz) = 24718
diff --git a/www/py-dj42-django-prometheus/pkg-descr b/www/py-dj42-django-prometheus/pkg-descr
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-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-dj42-django-redis/Makefile b/www/py-dj42-django-redis/Makefile
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-django-redis/Makefile
@@ -0,0 +1,30 @@
+PORTNAME= django-redis
+PORTVERSION= 5.3.0
+CATEGORIES= www databases python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj42-
+
+MAINTAINER= kai@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}django42>=3.2:www/py-django42@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}redis>=3: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
+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-dj42-django-redis/distinfo b/www/py-dj42-django-redis/distinfo
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-django-redis/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1688166346
+SHA256 (django-redis-5.3.0.tar.gz) = 8bc5793ec06b28ea802aad85ec437e7646511d4e571e07ccad19cfed8b9ddd44
+SIZE (django-redis-5.3.0.tar.gz) = 44800
diff --git a/www/py-dj42-django-redis/pkg-descr b/www/py-dj42-django-redis/pkg-descr
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-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-dj42-django-rich/Makefile b/www/py-dj42-django-rich/Makefile
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-django-rich/Makefile
@@ -0,0 +1,27 @@
+PORTNAME= django-rich
+PORTVERSION= 1.7.0
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj42-
+DISTNAME= django_rich-${PORTVERSION}
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Extensions for using Rich with Django
+WWW= https://github.com/adamchainz/django-rich
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PY_SETUPTOOLS} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=3.2:www/py-django42@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}rich>=10.0.0:textproc/py-rich@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= autoplist pep517
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj42-django-rich/distinfo b/www/py-dj42-django-rich/distinfo
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-django-rich/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1689051775
+SHA256 (django_rich-1.7.0.tar.gz) = a21d92db4cf9b8e84b69df48f04337df90620758b92f0a07e8e60066c2fd6bdc
+SIZE (django_rich-1.7.0.tar.gz) = 58968
diff --git a/www/py-dj42-django-rich/pkg-descr b/www/py-dj42-django-rich/pkg-descr
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-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-dj42-django-tables2/Makefile b/www/py-dj42-django-tables2/Makefile
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-django-tables2/Makefile
@@ -0,0 +1,28 @@
+PORTNAME= django-tables2
+DISTVERSION= 2.6.0
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj42-
+
+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}django42>=3.2:www/py-django42@${PY_FLAVOR}
+
+USES= python
+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-dj42-django-tables2/distinfo b/www/py-dj42-django-tables2/distinfo
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-django-tables2/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1688911162
+SHA256 (django-tables2-2.6.0.tar.gz) = 479eed04007cc04bcf764a6fb7a5e3955d94b878ba7f3a4bd4edbd2f7769e08d
+SIZE (django-tables2-2.6.0.tar.gz) = 79370
diff --git a/www/py-dj42-django-tables2/pkg-descr b/www/py-dj42-django-tables2/pkg-descr
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-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-dj42-django-taggit/Makefile b/www/py-dj42-django-taggit/Makefile
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-django-taggit/Makefile
@@ -0,0 +1,27 @@
+PORTNAME= django-taggit
+PORTVERSION= 4.0.0
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj42-
+
+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}django42>=3.2:www/py-django42@${PY_FLAVOR}
+TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dj42-djangorestframework>0:www/py-dj42-djangorestframework@${PY_FLAVOR}
+
+USES= python
+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-dj42-django-taggit/distinfo b/www/py-dj42-django-taggit/distinfo
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-django-taggit/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1683452279
+SHA256 (django-taggit-4.0.0.tar.gz) = 4d52de9d37245a9b9f98c0ec71fdccf1d2283e38e8866d40a7ae6a3b6787a161
+SIZE (django-taggit-4.0.0.tar.gz) = 58638
diff --git a/www/py-dj42-django-taggit/pkg-descr b/www/py-dj42-django-taggit/pkg-descr
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-django-taggit/pkg-descr
@@ -0,0 +1 @@
+django-taggit a simpler approach to tagging with Django.
diff --git a/www/py-dj42-django-timezone-field/Makefile b/www/py-dj42-django-timezone-field/Makefile
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-django-timezone-field/Makefile
@@ -0,0 +1,31 @@
+PORTNAME= django-timezone-field
+DISTVERSION= 6.0
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj42-
+DISTNAME= django_timezone_field-${DISTVERSION}
+
+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
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>=1.0.0:devel/py-poetry-core@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=3.2:www/py-django42@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= autoplist pep517
+
+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-dj42-django-timezone-field/distinfo b/www/py-dj42-django-timezone-field/distinfo
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-django-timezone-field/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1694104210
+SHA256 (django_timezone_field-6.0.tar.gz) = b0c6faf495cc22b5a8367250b9a13929c9149273e42ae8ae04e5f6e4245d488f
+SIZE (django_timezone_field-6.0.tar.gz) = 12067
diff --git a/www/py-dj42-django-timezone-field/files/patch-timezone__field_backends_zoneinfo.py b/www/py-dj42-django-timezone-field/files/patch-timezone__field_backends_zoneinfo.py
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-django-timezone-field/files/patch-timezone__field_backends_zoneinfo.py
@@ -0,0 +1,16 @@
+Remove the "Factory" timezone as it causes following error if the system
+zoneinfo data is used:
+
+ValueError: Invalid STD format in b'<Local time zone must be set--use tzsetup>0'
+
+--- timezone_field/backends/zoneinfo.py.orig 2023-09-09 10:35:09 UTC
++++ timezone_field/backends/zoneinfo.py
+@@ -10,6 +10,8 @@ class ZoneInfoBackend(TimeZoneBackend):
+ utc_tzobj = zoneinfo.ZoneInfo("UTC")
+ all_tzstrs = zoneinfo.available_timezones()
+ base_tzstrs = zoneinfo.available_timezones()
++ all_tzstrs.discard("Factory")
++ base_tzstrs.discard("Factory")
+
+ def is_tzobj(self, value):
+ return isinstance(value, zoneinfo.ZoneInfo)
diff --git a/www/py-dj42-django-timezone-field/pkg-descr b/www/py-dj42-django-timezone-field/pkg-descr
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-django-timezone-field/pkg-descr
@@ -0,0 +1 @@
+Provides database and form fields for pytz timezone objects for Django.
diff --git a/www/py-dj42-djangorestframework/Makefile b/www/py-dj42-djangorestframework/Makefile
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-djangorestframework/Makefile
@@ -0,0 +1,23 @@
+PORTNAME= djangorestframework
+PORTVERSION= 3.14.0
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj42-
+
+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}django42>=3.0:www/py-django42@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytz>=0:devel/py-pytz@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= distutils autoplist
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj42-djangorestframework/distinfo b/www/py-dj42-djangorestframework/distinfo
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-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-dj42-djangorestframework/pkg-descr b/www/py-dj42-djangorestframework/pkg-descr
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-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-dj42-drf-spectacular-sidecar/Makefile b/www/py-dj42-drf-spectacular-sidecar/Makefile
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-drf-spectacular-sidecar/Makefile
@@ -0,0 +1,23 @@
+PORTNAME= drf-spectacular-sidecar
+DISTVERSION= 2023.9.1
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj42-
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Serve self-contained Swagger UI/Redoc distribution builds with Django
+WWW= https://github.com/tfranzel/drf-spectacular
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=2.2:www/py-django42@${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-dj42-drf-spectacular-sidecar/distinfo b/www/py-dj42-drf-spectacular-sidecar/distinfo
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-drf-spectacular-sidecar/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1694104367
+SHA256 (drf-spectacular-sidecar-2023.9.1.tar.gz) = 05a0819adf37844307671988383b6045e078cfd688ee23ad66c6311b04fe92aa
+SIZE (drf-spectacular-sidecar-2023.9.1.tar.gz) = 2428069
diff --git a/www/py-dj42-drf-spectacular-sidecar/pkg-descr b/www/py-dj42-drf-spectacular-sidecar/pkg-descr
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-drf-spectacular-sidecar/pkg-descr
@@ -0,0 +1,5 @@
+Serve self-contained distribution builds of Swagger UI and Redoc with Django
+either via runserver or collectstatic.
+
+This Django app is an optional addition to drf-spectacular, but does not depend
+on it. It may also be used independently.
diff --git a/www/py-dj42-drf-spectacular/Makefile b/www/py-dj42-drf-spectacular/Makefile
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-drf-spectacular/Makefile
@@ -0,0 +1,34 @@
+PORTNAME= drf-spectacular
+DISTVERSION= 0.26.4
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj42-
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Sane/flexible OpenAPI 3 schema generation for Django REST framework
+WWW= https://github.com/tfranzel/drf-spectacular
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=2.2:www/py-django42@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj42-djangorestframework>=3.10.3:www/py-dj42-djangorestframework@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}inflection>=0.3.1:devel/py-inflection@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}jsonschema>=2.6.0:devel/py-jsonschema@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}uritemplate>=2.0.0:net/py-uritemplate@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}yaml>=5.1:devel/py-yaml@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= autoplist distutils
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH= yes
+
+OPTIONS_DEFINE= SIDECAR
+OPTIONS_DEFAULT= SIDECAR
+
+SIDECAR_DESC= Enable self-contained Swagger/Redoc UI installation
+SIDECAR_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dj42-drf-spectacular-sidecar>0:www/py-dj42-drf-spectacular-sidecar@${PY_FLAVOR}
+
+.include <bsd.port.mk>
diff --git a/www/py-dj42-drf-spectacular/distinfo b/www/py-dj42-drf-spectacular/distinfo
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-drf-spectacular/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1690790119
+SHA256 (drf-spectacular-0.26.4.tar.gz) = 8f5a8f87353d1bb8dcb3f3909b7109b2dcbe1d91f3e069409cf322963e140bd6
+SIZE (drf-spectacular-0.26.4.tar.gz) = 219010
diff --git a/www/py-dj42-drf-spectacular/pkg-descr b/www/py-dj42-drf-spectacular/pkg-descr
new file mode 100644
--- /dev/null
+++ b/www/py-dj42-drf-spectacular/pkg-descr
@@ -0,0 +1,24 @@
+This project has 3 goals:
+
+* Extract as much schema information from DRF as possible.
+* Provide flexibility to make the schema usable in the real world (not only
+ toy examples).
+* Generate a schema that works well with the most popular client generators.
+
+The code is a heavily modified fork of the DRF OpenAPI generator, which is/was
+lacking all of the below listed features:
+
+* Serializers modelled as components. (arbitrary nesting + recursion supported)
+* @extend_schema decorator for customization of APIView, Viewsets,
+ function-based views, and @action
+* Authentication support (DRF natives included, easily extendable)
+* Custom serializer class support (easily extendable)
+* SerializerMethodField() type via type hinting or @extend_schema_field
+* i18n support, Tags extraction, Description extraction from docstrings
+* Request/response/parameter examples, Callback operations
+* Vendor specification extensions (x-*) in info, operations, parameters,
+ components, and security schemes
+* Sane fallbacks and sane operation_id naming (based on path)
+* Schema serving with SpectacularAPIView (Redoc and Swagger-UI views are
+ also available)
+* Optional input/output serializer component split

File Metadata

Mime Type
text/plain
Expires
Thu, Jun 18, 2:26 AM (2 h, 11 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34040703
Default Alt Text
D41664.diff (37 KB)

Event Timeline