Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F159687206
D41664.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
37 KB
Referenced Files
None
Subscribers
None
D41664.diff
View Options
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
Details
Attached
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)
Attached To
Mode
D41664: net-mgmt/netbox: Create Django 4.2 consumers
Attached
Detach File
Event Timeline
Log In to Comment