aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Knoblich <kai@FreeBSD.org>2021-07-20 12:18:21 +0000
committerKai Knoblich <kai@FreeBSD.org>2021-07-20 12:26:05 +0000
commitfd76d1a5770102ebbf7653e96dc34910dcf6e01a (patch)
tree0a6892ca8799aa95175bcb31ae57f62e0175a36e
parentee28bfc7edcd878e92f89118abc808854f503cab (diff)
downloadports-fd76d1a5770102ebbf7653e96dc34910dcf6e01a.tar.gz
ports-fd76d1a5770102ebbf7653e96dc34910dcf6e01a.zip
*: Create Django 3.2 ports for net-mgmt/netbox
* Django 2.2 is currently the "default" version in the ports tree due its long term support until April 2022. Thus ports that are assigned to that version will exist until then. The following ports are required to make the upgrade of net-mgmt/netbox to the 2.11 release possible because it requires Django 3.2. All of the ports listed below were created on the basis of their respective original ports: - devel/py-dj32-django-rq - www/py-dj32-django-auth-ldap - www/py-dj32-django-cacheops (updated to a newer release) - www/py-dj32-django-cors-headers - www/py-dj32-django-debug-toolbar - www/py-dj32-django-filter - www/py-dj32-django-js-asset - www/py-dj32-django-mptt - www/py-dj32-django-prometheus - www/py-dj32-django-redis - www/py-dj32-django-tables2 (updated to a newer release) - www/py-dj32-django-taggit (updated to a newer release) - www/py-dj32-django-timezone-field - www/py-dj32-djangorestframework - www/py-dj32-drf-yasg * Add/update the related CONFLICTS_INSTALL entries as well. Reviewed by: koobs, sunpoet Differential Revision: https://reviews.freebsd.org/D30977
-rw-r--r--devel/Makefile1
-rw-r--r--devel/py-dj31-django-rq/Makefile3
-rw-r--r--devel/py-dj32-django-rq/Makefile35
-rw-r--r--devel/py-dj32-django-rq/distinfo3
-rw-r--r--devel/py-dj32-django-rq/pkg-descr5
-rw-r--r--devel/py-django-rq/Makefile3
-rw-r--r--www/Makefile14
-rw-r--r--www/py-dj31-django-auth-ldap/Makefile3
-rw-r--r--www/py-dj31-django-cacheops/Makefile3
-rw-r--r--www/py-dj31-django-cors-headers/Makefile3
-rw-r--r--www/py-dj31-django-debug-toolbar/Makefile3
-rw-r--r--www/py-dj31-django-filter/Makefile3
-rw-r--r--www/py-dj31-django-js-asset/Makefile3
-rw-r--r--www/py-dj31-django-mptt/Makefile3
-rw-r--r--www/py-dj31-django-prometheus/Makefile3
-rw-r--r--www/py-dj31-django-redis/Makefile3
-rw-r--r--www/py-dj31-django-tables2/Makefile3
-rw-r--r--www/py-dj31-django-taggit/Makefile3
-rw-r--r--www/py-dj31-django-timezone-field/Makefile3
-rw-r--r--www/py-dj31-djangorestframework/Makefile3
-rw-r--r--www/py-dj31-drf-yasg/Makefile3
-rw-r--r--www/py-dj32-django-auth-ldap/Makefile44
-rw-r--r--www/py-dj32-django-auth-ldap/distinfo3
-rw-r--r--www/py-dj32-django-auth-ldap/files/patch-docs_conf.py22
-rw-r--r--www/py-dj32-django-auth-ldap/pkg-descr6
-rw-r--r--www/py-dj32-django-cacheops/Makefile26
-rw-r--r--www/py-dj32-django-cacheops/distinfo3
-rw-r--r--www/py-dj32-django-cacheops/pkg-descr15
-rw-r--r--www/py-dj32-django-cors-headers/Makefile22
-rw-r--r--www/py-dj32-django-cors-headers/distinfo3
-rw-r--r--www/py-dj32-django-cors-headers/pkg-descr4
-rw-r--r--www/py-dj32-django-debug-toolbar/Makefile24
-rw-r--r--www/py-dj32-django-debug-toolbar/distinfo3
-rw-r--r--www/py-dj32-django-debug-toolbar/pkg-descr5
-rw-r--r--www/py-dj32-django-filter/Makefile23
-rw-r--r--www/py-dj32-django-filter/distinfo3
-rw-r--r--www/py-dj32-django-filter/pkg-descr4
-rw-r--r--www/py-dj32-django-js-asset/Makefile24
-rw-r--r--www/py-dj32-django-js-asset/distinfo3
-rw-r--r--www/py-dj32-django-js-asset/pkg-descr4
-rw-r--r--www/py-dj32-django-mptt/Makefile25
-rw-r--r--www/py-dj32-django-mptt/distinfo3
-rw-r--r--www/py-dj32-django-mptt/pkg-descr4
-rw-r--r--www/py-dj32-django-prometheus/Makefile35
-rw-r--r--www/py-dj32-django-prometheus/distinfo3
-rw-r--r--www/py-dj32-django-prometheus/pkg-descr16
-rw-r--r--www/py-dj32-django-redis/Makefile30
-rw-r--r--www/py-dj32-django-redis/distinfo3
-rw-r--r--www/py-dj32-django-redis/pkg-descr17
-rw-r--r--www/py-dj32-django-tables2/Makefile28
-rw-r--r--www/py-dj32-django-tables2/distinfo3
-rw-r--r--www/py-dj32-django-tables2/pkg-descr5
-rw-r--r--www/py-dj32-django-taggit/Makefile23
-rw-r--r--www/py-dj32-django-taggit/distinfo3
-rw-r--r--www/py-dj32-django-taggit/pkg-descr3
-rw-r--r--www/py-dj32-django-timezone-field/Makefile24
-rw-r--r--www/py-dj32-django-timezone-field/distinfo3
-rw-r--r--www/py-dj32-django-timezone-field/pkg-descr3
-rw-r--r--www/py-dj32-djangorestframework/Makefile24
-rw-r--r--www/py-dj32-djangorestframework/distinfo3
-rw-r--r--www/py-dj32-djangorestframework/pkg-descr4
-rw-r--r--www/py-dj32-drf-yasg/Makefile38
-rw-r--r--www/py-dj32-drf-yasg/distinfo3
-rw-r--r--www/py-dj32-drf-yasg/pkg-descr20
-rw-r--r--www/py-django-auth-ldap/Makefile3
-rw-r--r--www/py-django-cacheops/Makefile3
-rw-r--r--www/py-django-cors-headers/Makefile3
-rw-r--r--www/py-django-debug-toolbar/Makefile3
-rw-r--r--www/py-django-filter/Makefile3
-rw-r--r--www/py-django-js-asset/Makefile3
-rw-r--r--www/py-django-mptt/Makefile3
-rw-r--r--www/py-django-prometheus/Makefile3
-rw-r--r--www/py-django-redis/Makefile3
-rw-r--r--www/py-django-tables2/Makefile3
-rw-r--r--www/py-django-taggit/Makefile3
-rw-r--r--www/py-django-timezone-field/Makefile3
-rw-r--r--www/py-djangorestframework/Makefile3
-rw-r--r--www/py-drf-yasg/Makefile3
78 files changed, 682 insertions, 30 deletions
diff --git a/devel/Makefile b/devel/Makefile
index f45d9b0ee978..82f25b67751f 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -4382,6 +4382,7 @@
SUBDIR += py-distlib
SUBDIR += py-distributed
SUBDIR += py-dj31-django-rq
+ SUBDIR += py-dj32-django-rq
SUBDIR += py-django-rq
SUBDIR += py-docker-py
SUBDIR += py-dockerpty
diff --git a/devel/py-dj31-django-rq/Makefile b/devel/py-dj31-django-rq/Makefile
index 53524f65884f..0fdfbe26f2d0 100644
--- a/devel/py-dj31-django-rq/Makefile
+++ b/devel/py-dj31-django-rq/Makefile
@@ -26,7 +26,8 @@ USE_PYTHON= autoplist concurrent distutils
NO_ARCH= yes
-CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}django-rq
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}django-rq \
+ ${PYTHON_PKGNAMEPREFIX}dj32-django-rq
# https://github.com/rq/django-rq/blob/master/Makefile
do-test:
diff --git a/devel/py-dj32-django-rq/Makefile b/devel/py-dj32-django-rq/Makefile
new file mode 100644
index 000000000000..fe1769b97501
--- /dev/null
+++ b/devel/py-dj32-django-rq/Makefile
@@ -0,0 +1,35 @@
+PORTNAME= django-rq
+PORTVERSION= 2.4.1
+CATEGORIES= devel python
+MASTER_SITES= CHEESESHOP
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj32-
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Provides Django integration for RQ (Redis Queue)
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django32>=2.0:www/py-django32@${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: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.6+
+USE_PYTHON= autoplist concurrent distutils
+
+NO_ARCH= yes
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-rq \
+ ${PYTHON_PKGNAMEPREFIX}django-rq
+
+# 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-dj32-django-rq/distinfo b/devel/py-dj32-django-rq/distinfo
new file mode 100644
index 000000000000..795aac08ed8b
--- /dev/null
+++ b/devel/py-dj32-django-rq/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1618320132
+SHA256 (django-rq-2.4.1.tar.gz) = f09059ab37403a47c7933bca396fabb7f3058732d132462eade5333bc4bcac5f
+SIZE (django-rq-2.4.1.tar.gz) = 42558
diff --git a/devel/py-dj32-django-rq/pkg-descr b/devel/py-dj32-django-rq/pkg-descr
new file mode 100644
index 000000000000..5273572bf046
--- /dev/null
+++ b/devel/py-dj32-django-rq/pkg-descr
@@ -0,0 +1,5 @@
+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.
+
+WWW: https://github.com/rq/django-rq
diff --git a/devel/py-django-rq/Makefile b/devel/py-django-rq/Makefile
index 20d555bfaeca..b77c5c116797 100644
--- a/devel/py-django-rq/Makefile
+++ b/devel/py-django-rq/Makefile
@@ -26,7 +26,8 @@ USE_PYTHON= autoplist concurrent distutils
NO_ARCH= yes
-CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-rq
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-rq \
+ ${PYTHON_PKGNAMEPREFIX}dj32-django-rq
# https://github.com/rq/django-rq/blob/master/Makefile
do-test:
diff --git a/www/Makefile b/www/Makefile
index 1d4f63144c28..cf5c8e970c2b 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -1450,6 +1450,20 @@
SUBDIR += py-dj31-django-timezone-field
SUBDIR += py-dj31-djangorestframework
SUBDIR += py-dj31-drf-yasg
+ SUBDIR += py-dj32-django-auth-ldap
+ SUBDIR += py-dj32-django-cacheops
+ SUBDIR += py-dj32-django-cors-headers
+ SUBDIR += py-dj32-django-debug-toolbar
+ SUBDIR += py-dj32-django-filter
+ SUBDIR += py-dj32-django-js-asset
+ SUBDIR += py-dj32-django-mptt
+ SUBDIR += py-dj32-django-prometheus
+ SUBDIR += py-dj32-django-redis
+ SUBDIR += py-dj32-django-tables2
+ SUBDIR += py-dj32-django-taggit
+ SUBDIR += py-dj32-django-timezone-field
+ SUBDIR += py-dj32-djangorestframework
+ SUBDIR += py-dj32-drf-yasg
SUBDIR += py-django
SUBDIR += py-django-admin-rangefilter
SUBDIR += py-django-advanced-filters
diff --git a/www/py-dj31-django-auth-ldap/Makefile b/www/py-dj31-django-auth-ldap/Makefile
index 89f95ffdf63a..601e415520c1 100644
--- a/www/py-dj31-django-auth-ldap/Makefile
+++ b/www/py-dj31-django-auth-ldap/Makefile
@@ -22,7 +22,8 @@ USE_PYTHON= autoplist concurrent distutils
NO_ARCH= yes
PORTDOCS= *
-CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}django-auth-ldap
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}django-auth-ldap \
+ ${PYTHON_PKGNAMEPREFIX}dj32-django-auth-ldap
OPTIONS_DEFINE= DOCS
DOCS_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinx>=0,1:textproc/py-sphinx@${PY_FLAVOR}
diff --git a/www/py-dj31-django-cacheops/Makefile b/www/py-dj31-django-cacheops/Makefile
index 3d167259f939..ccf97839ef72 100644
--- a/www/py-dj31-django-cacheops/Makefile
+++ b/www/py-dj31-django-cacheops/Makefile
@@ -18,7 +18,8 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django31>=2.1:www/py-django31@${PY_FLAVOR} \
USES= python:3.6+
USE_PYTHON= autoplist distutils
-CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}django-cacheops
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}django-cacheops \
+ ${PYTHON_PKGNAMEPREFIX}dj32-django-cacheops
NO_ARCH= yes
diff --git a/www/py-dj31-django-cors-headers/Makefile b/www/py-dj31-django-cors-headers/Makefile
index 9030a1b331cb..dc0a73f545b7 100644
--- a/www/py-dj31-django-cors-headers/Makefile
+++ b/www/py-dj31-django-cors-headers/Makefile
@@ -16,6 +16,7 @@ USES= python:3.6+
USE_PYTHON= autoplist distutils
NO_ARCH= yes
-CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}django-cors-headers
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}django-cors-headers \
+ ${PYTHON_PKGNAMEPREFIX}dj32-django-cors-headers
.include <bsd.port.mk>
diff --git a/www/py-dj31-django-debug-toolbar/Makefile b/www/py-dj31-django-debug-toolbar/Makefile
index dcef02473577..ef455603a71b 100644
--- a/www/py-dj31-django-debug-toolbar/Makefile
+++ b/www/py-dj31-django-debug-toolbar/Makefile
@@ -20,6 +20,7 @@ USE_PYTHON= autoplist concurrent distutils
NO_ARCH= yes
-CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}django-debug-toolbar
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}django-debug-toolbar \
+ ${PYTHON_PKGNAMEPREFIX}dj32-django-debug-toolbar
.include <bsd.port.mk>
diff --git a/www/py-dj31-django-filter/Makefile b/www/py-dj31-django-filter/Makefile
index 8f0b1f8367d4..eab081a0dc30 100644
--- a/www/py-dj31-django-filter/Makefile
+++ b/www/py-dj31-django-filter/Makefile
@@ -16,6 +16,7 @@ USES= python:3.6+
USE_PYTHON= distutils autoplist
NO_ARCH= yes
-CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}django-filter
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}django-filter \
+ ${PYTHON_PKGNAMEPREFIX}dj32-django-filter
.include <bsd.port.mk>
diff --git a/www/py-dj31-django-js-asset/Makefile b/www/py-dj31-django-js-asset/Makefile
index d74dd17c3036..1e37776118dc 100644
--- a/www/py-dj31-django-js-asset/Makefile
+++ b/www/py-dj31-django-js-asset/Makefile
@@ -17,6 +17,7 @@ USES= python:3.6+
USE_PYTHON= distutils autoplist
NO_ARCH= yes
-CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}django-js-asset
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}django-js-asset \
+ ${PYTHON_PKGNAMEPREFIX}dj32-django-js-asset
.include <bsd.port.mk>
diff --git a/www/py-dj31-django-mptt/Makefile b/www/py-dj31-django-mptt/Makefile
index 29326e6981c1..b20e89c27bc5 100644
--- a/www/py-dj31-django-mptt/Makefile
+++ b/www/py-dj31-django-mptt/Makefile
@@ -20,6 +20,7 @@ USE_PYTHON= autoplist distutils
NO_ARCH= yes
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}django-happenings \
- ${PYTHON_PKGNAMEPREFIX}django-mptt
+ ${PYTHON_PKGNAMEPREFIX}django-mptt \
+ ${PYTHON_PKGNAMEPREFIX}dj32-django-mptt
.include <bsd.port.mk>
diff --git a/www/py-dj31-django-prometheus/Makefile b/www/py-dj31-django-prometheus/Makefile
index b568c02d7cd8..38b064da16bc 100644
--- a/www/py-dj31-django-prometheus/Makefile
+++ b/www/py-dj31-django-prometheus/Makefile
@@ -16,7 +16,8 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django31>=2.2:www/py-django31@${PY_FLAVOR} \
USES= python:3.6+
USE_PYTHON= autoplist distutils
-CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}django-prometheus
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}django-prometheus \
+ ${PYTHON_PKGNAMEPREFIX}dj32-django-prometheus
NO_ARCH= yes
diff --git a/www/py-dj31-django-redis/Makefile b/www/py-dj31-django-redis/Makefile
index 8b53395b1907..b4b3e0b258dd 100644
--- a/www/py-dj31-django-redis/Makefile
+++ b/www/py-dj31-django-redis/Makefile
@@ -19,7 +19,8 @@ TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hiredis>=0:databases/py-hiredis@${PY_FLAVOR
USES= python:3.6+
USE_PYTHON= autoplist concurrent distutils
-CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}django-redis
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}django-redis \
+ ${PYTHON_PKGNAMEPREFIX}dj32-django-redis
NO_ARCH= yes
diff --git a/www/py-dj31-django-tables2/Makefile b/www/py-dj31-django-tables2/Makefile
index 8f5107da7086..8e981d327a38 100644
--- a/www/py-dj31-django-tables2/Makefile
+++ b/www/py-dj31-django-tables2/Makefile
@@ -17,7 +17,8 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django31>=0:www/py-django31@${PY_FLAVOR}
USES= python:3.7+
USE_PYTHON= distutils autoplist
-CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}django-tables2
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}django-tables2 \
+ ${PYTHON_PKGNAMEPREFIX}dj32-django-tables2
NO_ARCH= yes
diff --git a/www/py-dj31-django-taggit/Makefile b/www/py-dj31-django-taggit/Makefile
index 0d5543c813c6..dd2b3ddec656 100644
--- a/www/py-dj31-django-taggit/Makefile
+++ b/www/py-dj31-django-taggit/Makefile
@@ -16,6 +16,7 @@ USES= python:3.6+
USE_PYTHON= autoplist distutils
NO_ARCH= yes
-CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}django-taggit
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}django-taggit \
+ ${PYTHON_PKGNAMEPREFIX}dj32-django-taggit
.include <bsd.port.mk>
diff --git a/www/py-dj31-django-timezone-field/Makefile b/www/py-dj31-django-timezone-field/Makefile
index d0ca2d6f72d8..83e8d104c94d 100644
--- a/www/py-dj31-django-timezone-field/Makefile
+++ b/www/py-dj31-django-timezone-field/Makefile
@@ -17,6 +17,7 @@ USES= python:3.6+
USE_PYTHON= distutils autoplist
NO_ARCH= yes
-CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}django-timezone-field
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}django-timezone-field \
+ ${PYTHON_PKGNAMEPREFIX}dj32-django-timezone-field
.include <bsd.port.mk>
diff --git a/www/py-dj31-djangorestframework/Makefile b/www/py-dj31-djangorestframework/Makefile
index 882ce2dc741b..1b4eca31589b 100644
--- a/www/py-dj31-djangorestframework/Makefile
+++ b/www/py-dj31-djangorestframework/Makefile
@@ -17,7 +17,8 @@ USES= python:3.6+
USE_PYTHON= distutils autoplist
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}djangorestframework3* \
- ${PYTHON_PKGNAMEPREFIX}djangorestframework
+ ${PYTHON_PKGNAMEPREFIX}djangorestframework \
+ ${PYTHON_PKGNAMEPREFIX}dj32-djangorestframework
NO_ARCH= yes
.include <bsd.port.mk>
diff --git a/www/py-dj31-drf-yasg/Makefile b/www/py-dj31-drf-yasg/Makefile
index 7c58b5fe81a5..e8275b5bd54b 100644
--- a/www/py-dj31-drf-yasg/Makefile
+++ b/www/py-dj31-drf-yasg/Makefile
@@ -24,7 +24,8 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django31>=2.2.16:www/py-django31@${PY_FLAVOR
USES= python:3.6+
USE_PYTHON= distutils autoplist
-CONFLICTS_INSTALL= ${PYTHON_PGKNAMEPREFIX}drf-yasg
+CONFLICTS_INSTALL= ${PYTHON_PGKNAMEPREFIX}drf-yasg \
+ ${PYTHON_PGKNAMEPREFIX}dj32-drf-yasg
NO_ARCH= yes
diff --git a/www/py-dj32-django-auth-ldap/Makefile b/www/py-dj32-django-auth-ldap/Makefile
new file mode 100644
index 000000000000..fe0ac325967d
--- /dev/null
+++ b/www/py-dj32-django-auth-ldap/Makefile
@@ -0,0 +1,44 @@
+PORTNAME= django-auth-ldap
+PORTVERSION= 2.4.0
+CATEGORIES= www security python
+MASTER_SITES= CHEESESHOP
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj32-
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= LDAP integration for django.contrib.auth
+
+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}django32>=2.2:www/py-django32@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}ldap>=3.1:net/py-ldap@${PY_FLAVOR}
+
+USES= python:3.6+
+USE_PYTHON= autoplist concurrent distutils
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-auth-ldap \
+ ${PYTHON_PKGNAMEPREFIX}django-auth-ldap
+
+NO_ARCH= yes
+PORTDOCS= *
+OPTIONS_DEFINE= DOCS
+DOCS_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinx>=0,1:textproc/py-sphinx@${PY_FLAVOR}
+DOCS_VARS= PYDISTUTILS_BUILD_TARGET+="build_sphinx -a -E"
+
+.include <bsd.port.pre.mk>
+
+# Set a locale to avoid build/configure errors. The UTF-8 mode is enabled by
+# default when the locale is C since Python 3.7.
+.if ${PYTHON_REL} < 30700
+USE_LOCALE= en_US.UTF-8
+.endif
+
+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.post.mk>
diff --git a/www/py-dj32-django-auth-ldap/distinfo b/www/py-dj32-django-auth-ldap/distinfo
new file mode 100644
index 000000000000..3ad4959b7520
--- /dev/null
+++ b/www/py-dj32-django-auth-ldap/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1617818253
+SHA256 (django-auth-ldap-2.4.0.tar.gz) = 60fcbfc3141c99c3c49d3ccd7311a3992a231c319d94b6d2c143968f63676676
+SIZE (django-auth-ldap-2.4.0.tar.gz) = 53523
diff --git a/www/py-dj32-django-auth-ldap/files/patch-docs_conf.py b/www/py-dj32-django-auth-ldap/files/patch-docs_conf.py
new file mode 100644
index 000000000000..8ab329172ad8
--- /dev/null
+++ b/www/py-dj32-django-auth-ldap/files/patch-docs_conf.py
@@ -0,0 +1,22 @@
+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 2021-02-28 15:46:24 UTC
++++ docs/conf.py
+@@ -186,15 +186,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://python-ldap.readthedocs.io/en/latest/", None),
+- "tox": ("https://tox.readthedocs.io/en/latest/", None),
+-}
diff --git a/www/py-dj32-django-auth-ldap/pkg-descr b/www/py-dj32-django-auth-ldap/pkg-descr
new file mode 100644
index 000000000000..74682fda4265
--- /dev/null
+++ b/www/py-dj32-django-auth-ldap/pkg-descr
@@ -0,0 +1,6 @@
+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.
+
+WWW: https://github.com/django-auth-ldap/django-auth-ldap
diff --git a/www/py-dj32-django-cacheops/Makefile b/www/py-dj32-django-cacheops/Makefile
new file mode 100644
index 000000000000..84a334e42218
--- /dev/null
+++ b/www/py-dj32-django-cacheops/Makefile
@@ -0,0 +1,26 @@
+PORTNAME= django-cacheops
+PORTVERSION= 6.0
+CATEGORIES= www python
+MASTER_SITES= CHEESESHOP
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj32-
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Slick ORM cache with automatic granular event-driven invalidation
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django32>=2.1:www/py-django32@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}redis>=3.0.0:databases/py-redis@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}funcy>=1.8<2.0:devel/py-funcy@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}six>=1.4.0:devel/py-six@${PY_FLAVOR}
+
+USES= python:3.6+
+USE_PYTHON= autoplist distutils
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-cacheops \
+ ${PYTHON_PKGNAMEPREFIX}django-cacheops
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj32-django-cacheops/distinfo b/www/py-dj32-django-cacheops/distinfo
new file mode 100644
index 000000000000..92039037603b
--- /dev/null
+++ b/www/py-dj32-django-cacheops/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1621680932
+SHA256 (django-cacheops-6.0.tar.gz) = 78e161ebd96a32e28e19ec7da31f2afed9e62a79726b8b5f0ed12dd16c2e5841
+SIZE (django-cacheops-6.0.tar.gz) = 70280
diff --git a/www/py-dj32-django-cacheops/pkg-descr b/www/py-dj32-django-cacheops/pkg-descr
new file mode 100644
index 000000000000..9df3c28b800e
--- /dev/null
+++ b/www/py-dj32-django-cacheops/pkg-descr
@@ -0,0 +1,15 @@
+A slick app that supports automatic or manual queryset caching and automatic
+granular event-driven invalidation.
+
+It uses redis as backend for ORM cache and redis or filesystem for simple
+time-invalidated one.
+
+And there is more to it:
+
+* Decorators to cache any user function or view as a queryset or by time
+* Extensions for django and jinja2 templates
+* Transparent transaction support
+* Dog-pile prevention mechanism
+* A couple of hacks to make django faster
+
+WWW: https://github.com/Suor/django-cacheops
diff --git a/www/py-dj32-django-cors-headers/Makefile b/www/py-dj32-django-cors-headers/Makefile
new file mode 100644
index 000000000000..9a7dab93ce57
--- /dev/null
+++ b/www/py-dj32-django-cors-headers/Makefile
@@ -0,0 +1,22 @@
+PORTNAME= django-cors-headers
+PORTVERSION= 3.7.0
+CATEGORIES= www python
+MASTER_SITES= CHEESESHOP
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj32-
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Handles server headers required for Cross-Origin Resource Sharing
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django32>=2.2:www/py-django32@${PY_FLAVOR}
+
+USES= python:3.6+
+USE_PYTHON= autoplist distutils
+
+NO_ARCH= yes
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-cors-headers \
+ ${PYTHON_PKGNAMEPREFIX}django-cors-headers
+
+.include <bsd.port.mk>
diff --git a/www/py-dj32-django-cors-headers/distinfo b/www/py-dj32-django-cors-headers/distinfo
new file mode 100644
index 000000000000..bf022ead3e1f
--- /dev/null
+++ b/www/py-dj32-django-cors-headers/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1615472617
+SHA256 (django-cors-headers-3.7.0.tar.gz) = 96069c4aaacace786a34ee7894ff680780ec2644e4268b31181044410fecd12e
+SIZE (django-cors-headers-3.7.0.tar.gz) = 88367
diff --git a/www/py-dj32-django-cors-headers/pkg-descr b/www/py-dj32-django-cors-headers/pkg-descr
new file mode 100644
index 000000000000..7248fec2ba2d
--- /dev/null
+++ b/www/py-dj32-django-cors-headers/pkg-descr
@@ -0,0 +1,4 @@
+A Django App that adds CORS (Cross-Origin Resource Sharing) headers to
+responses.
+
+WWW: https://github.com/adamchainz/django-cors-headers
diff --git a/www/py-dj32-django-debug-toolbar/Makefile b/www/py-dj32-django-debug-toolbar/Makefile
new file mode 100644
index 000000000000..7d7a57774fb7
--- /dev/null
+++ b/www/py-dj32-django-debug-toolbar/Makefile
@@ -0,0 +1,24 @@
+PORTNAME= django-debug-toolbar
+PORTVERSION= 3.2.1
+CATEGORIES= www python
+MASTER_SITES= CHEESESHOP
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj32-
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Configurable set of panels to display debug information
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django32>=2.2:www/py-django32@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}sqlparse>=0.2.0:databases/py-sqlparse@${PY_FLAVOR}
+
+USES= python:3.6+
+USE_PYTHON= autoplist concurrent distutils
+
+NO_ARCH= yes
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-debug-toolbar \
+ ${PYTHON_PKGNAMEPREFIX}django-debug-toolbar
+
+.include <bsd.port.mk>
diff --git a/www/py-dj32-django-debug-toolbar/distinfo b/www/py-dj32-django-debug-toolbar/distinfo
new file mode 100644
index 000000000000..c7ce99f2be60
--- /dev/null
+++ b/www/py-dj32-django-debug-toolbar/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1620405459
+SHA256 (django-debug-toolbar-3.2.1.tar.gz) = a5ff2a54f24bf88286f9872836081078f4baa843dc3735ee88524e89f8821e33
+SIZE (django-debug-toolbar-3.2.1.tar.gz) = 241400
diff --git a/www/py-dj32-django-debug-toolbar/pkg-descr b/www/py-dj32-django-debug-toolbar/pkg-descr
new file mode 100644
index 000000000000..9a28df80297f
--- /dev/null
+++ b/www/py-dj32-django-debug-toolbar/pkg-descr
@@ -0,0 +1,5 @@
+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.
+
+WWW: https://github.com/jazzband/django-debug-toolbar
diff --git a/www/py-dj32-django-filter/Makefile b/www/py-dj32-django-filter/Makefile
new file mode 100644
index 000000000000..4812c95076a9
--- /dev/null
+++ b/www/py-dj32-django-filter/Makefile
@@ -0,0 +1,23 @@
+PORTNAME= django-filter
+DISTVERSION= 2.4.0
+CATEGORIES= www python
+MASTER_SITES= CHEESESHOP
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj32-
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Dynamic filtering for querysets with Django
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django32>=2.2:www/py-django32@${PY_FLAVOR}
+
+USES= python:3.6+
+USE_PYTHON= distutils autoplist
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-filter \
+ ${PYTHON_PKGNAMEPREFIX}django-filter
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj32-django-filter/distinfo b/www/py-dj32-django-filter/distinfo
new file mode 100644
index 000000000000..9419870dc0d4
--- /dev/null
+++ b/www/py-dj32-django-filter/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1611059912
+SHA256 (django-filter-2.4.0.tar.gz) = 84e9d5bb93f237e451db814ed422a3a625751cbc9968b484ecc74964a8696b06
+SIZE (django-filter-2.4.0.tar.gz) = 146904
diff --git a/www/py-dj32-django-filter/pkg-descr b/www/py-dj32-django-filter/pkg-descr
new file mode 100644
index 000000000000..8b454bf6899f
--- /dev/null
+++ b/www/py-dj32-django-filter/pkg-descr
@@ -0,0 +1,4 @@
+Django-filter is a reusable Django application allowing users to declaratively
+add dynamic QuerySet filtering from URL parameters.
+
+WWW: https://github.com/carltongibson/django-filter
diff --git a/www/py-dj32-django-js-asset/Makefile b/www/py-dj32-django-js-asset/Makefile
new file mode 100644
index 000000000000..9aa2b20bd33e
--- /dev/null
+++ b/www/py-dj32-django-js-asset/Makefile
@@ -0,0 +1,24 @@
+PORTNAME= django-js-asset
+DISTVERSION= 1.2.2
+PORTREVISION= 1
+CATEGORIES= www python
+MASTER_SITES= CHEESESHOP
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj32-
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Insert script tags with additional attributes for django.forms.Media
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django32>0:www/py-django32@${PY_FLAVOR}
+
+USES= python:3.6+
+USE_PYTHON= distutils autoplist
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-js-asset \
+ ${PYTHON_PKGNAMEPREFIX}django-js-asset
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj32-django-js-asset/distinfo b/www/py-dj32-django-js-asset/distinfo
new file mode 100644
index 000000000000..95516ac977d9
--- /dev/null
+++ b/www/py-dj32-django-js-asset/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1586294408
+SHA256 (django-js-asset-1.2.2.tar.gz) = c163ae80d2e0b22d8fb598047cd0dcef31f81830e127cfecae278ad574167260
+SIZE (django-js-asset-1.2.2.tar.gz) = 4436
diff --git a/www/py-dj32-django-js-asset/pkg-descr b/www/py-dj32-django-js-asset/pkg-descr
new file mode 100644
index 000000000000..1b3c52191784
--- /dev/null
+++ b/www/py-dj32-django-js-asset/pkg-descr
@@ -0,0 +1,4 @@
+Insert script tags with additional attributes (such as "id" and "data" for
+CSP-compatible data injection) for the django.forms.Media package.
+
+WWW: https://github.com/matthiask/django-js-asset
diff --git a/www/py-dj32-django-mptt/Makefile b/www/py-dj32-django-mptt/Makefile
new file mode 100644
index 000000000000..e29c910559ea
--- /dev/null
+++ b/www/py-dj32-django-mptt/Makefile
@@ -0,0 +1,25 @@
+PORTNAME= django-mptt
+PORTVERSION= 0.12.0
+CATEGORIES= www python
+MASTER_SITES= CHEESESHOP
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj32-
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Utilities for implementing Modified Preorder Tree Traversal in Django
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django32>=1.11:www/py-django32@${PY_FLAVOR}\
+ ${PYTHON_PKGNAMEPREFIX}dj32-django-js-asset>0:www/py-dj32-django-js-asset@${PY_FLAVOR}
+
+USES= python:3.6+
+USE_PYTHON= autoplist distutils
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}django-happenings \
+ ${PYTHON_PKGNAMEPREFIX}dj31-django-mptt \
+ ${PYTHON_PKGNAMEPREFIX}django-mptt
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj32-django-mptt/distinfo b/www/py-dj32-django-mptt/distinfo
new file mode 100644
index 000000000000..57bdc7f72a7f
--- /dev/null
+++ b/www/py-dj32-django-mptt/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1615473716
+SHA256 (django-mptt-0.12.0.tar.gz) = 8ae6c3821127b529bb2f938de27bf0771b1bcbe9dbccdfba33986af78611f13a
+SIZE (django-mptt-0.12.0.tar.gz) = 103513
diff --git a/www/py-dj32-django-mptt/pkg-descr b/www/py-dj32-django-mptt/pkg-descr
new file mode 100644
index 000000000000..965e7289f5b7
--- /dev/null
+++ b/www/py-dj32-django-mptt/pkg-descr
@@ -0,0 +1,4 @@
+Utilities for implementing Modified Preorder Tree Traversal with your Django
+Models and working with trees of Model instances.
+
+WWW: https://github.com/django-mptt/django-mptt
diff --git a/www/py-dj32-django-prometheus/Makefile b/www/py-dj32-django-prometheus/Makefile
new file mode 100644
index 000000000000..e64a16987eb6
--- /dev/null
+++ b/www/py-dj32-django-prometheus/Makefile
@@ -0,0 +1,35 @@
+PORTNAME= django-prometheus
+PORTVERSION= 2.1.0
+CATEGORIES= www python
+MASTER_SITES= CHEESESHOP
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj32-
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Export Django monitoring metrics for Prometheus.io
+
+LICENSE= APACHE20
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest-runner>0:devel/py-pytest-runner@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django32>=2.2:www/py-django32@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}prometheus-client>=0.7:net-mgmt/py-prometheus-client@${PY_FLAVOR}
+
+USES= python:3.6+
+USE_PYTHON= autoplist distutils
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-prometheus \
+ ${PYTHON_PKGNAMEPREFIX}django-prometheus
+
+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}dj32-django-redis>=4.8:www/py-dj32-django-redis@${PY_FLAVOR}
+
+.include <bsd.port.mk>
diff --git a/www/py-dj32-django-prometheus/distinfo b/www/py-dj32-django-prometheus/distinfo
new file mode 100644
index 000000000000..d5a34e2b0e80
--- /dev/null
+++ b/www/py-dj32-django-prometheus/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1611058868
+SHA256 (django-prometheus-2.1.0.tar.gz) = dd3f8da1399140fbef5c00d1526a23d1ade286b144281c325f8e409a781643f2
+SIZE (django-prometheus-2.1.0.tar.gz) = 24615
diff --git a/www/py-dj32-django-prometheus/pkg-descr b/www/py-dj32-django-prometheus/pkg-descr
new file mode 100644
index 000000000000..5bb2be69d186
--- /dev/null
+++ b/www/py-dj32-django-prometheus/pkg-descr
@@ -0,0 +1,16 @@
+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.
+
+WWW: https://github.com/korfuri/django-prometheus
diff --git a/www/py-dj32-django-redis/Makefile b/www/py-dj32-django-redis/Makefile
new file mode 100644
index 000000000000..0551f4525914
--- /dev/null
+++ b/www/py-dj32-django-redis/Makefile
@@ -0,0 +1,30 @@
+PORTNAME= django-redis
+PORTVERSION= 5.0.0
+CATEGORIES= www databases python
+MASTER_SITES= CHEESESHOP
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj32-
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Full featured Redis cache/session backend for Django
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django32>=2.2:www/py-django32@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}redis>=3.0.0: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.6+
+USE_PYTHON= autoplist concurrent distutils
+
+NO_ARCH= yes
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-redis \
+ ${PYTHON_PKGNAMEPREFIX}django-redis
+
+do-test:
+ @cd ${WRKSRC}/tests && ${PYTHON_CMD} runtests.py
+
+.include <bsd.port.mk>
diff --git a/www/py-dj32-django-redis/distinfo b/www/py-dj32-django-redis/distinfo
new file mode 100644
index 000000000000..97e629202e3e
--- /dev/null
+++ b/www/py-dj32-django-redis/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1624189755
+SHA256 (django-redis-5.0.0.tar.gz) = 048f665bbe27f8ff2edebae6aa9c534ab137f1e8fa7234147ef470df3f3aa9b8
+SIZE (django-redis-5.0.0.tar.gz) = 47508
diff --git a/www/py-dj32-django-redis/pkg-descr b/www/py-dj32-django-redis/pkg-descr
new file mode 100644
index 000000000000..dafc130bd225
--- /dev/null
+++ b/www/py-dj32-django-redis/pkg-descr
@@ -0,0 +1,17 @@
+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.
+
+WWW: https://github.com/niwinz/django-redis
diff --git a/www/py-dj32-django-tables2/Makefile b/www/py-dj32-django-tables2/Makefile
new file mode 100644
index 000000000000..41543a1c0087
--- /dev/null
+++ b/www/py-dj32-django-tables2/Makefile
@@ -0,0 +1,28 @@
+PORTNAME= django-tables2
+DISTVERSION= 2.4.0
+CATEGORIES= www python
+MASTER_SITES= CHEESESHOP
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj32-
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Table/data-grid framework for Django
+
+LICENSE= BSD2CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django32>=1.11:www/py-django32@${PY_FLAVOR}
+
+USES= python:3.7+
+USE_PYTHON= distutils autoplist
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-tables2 \
+ ${PYTHON_PKGNAMEPREFIX}django-tables2
+
+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-dj32-django-tables2/distinfo b/www/py-dj32-django-tables2/distinfo
new file mode 100644
index 000000000000..95150a900f58
--- /dev/null
+++ b/www/py-dj32-django-tables2/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1624217264
+SHA256 (django-tables2-2.4.0.tar.gz) = 4eb526464ee56a0b7d827d1da9a4f257e44edb5e1cbb6a0cfb6ca0fed70d8e4f
+SIZE (django-tables2-2.4.0.tar.gz) = 77919
diff --git a/www/py-dj32-django-tables2/pkg-descr b/www/py-dj32-django-tables2/pkg-descr
new file mode 100644
index 000000000000..e4a9e8e434f9
--- /dev/null
+++ b/www/py-dj32-django-tables2/pkg-descr
@@ -0,0 +1,5 @@
+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.
+
+WWW: https://github.com/jieter/django-tables2
diff --git a/www/py-dj32-django-taggit/Makefile b/www/py-dj32-django-taggit/Makefile
new file mode 100644
index 000000000000..8e7f0e5e016d
--- /dev/null
+++ b/www/py-dj32-django-taggit/Makefile
@@ -0,0 +1,23 @@
+PORTNAME= django-taggit
+PORTVERSION= 1.5.1
+CATEGORIES= www python
+MASTER_SITES= CHEESESHOP
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj32-
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Reusable Django application for simple tagging
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django32>=2.2:www/py-django32@${PY_FLAVOR}
+
+USES= python:3.6+
+USE_PYTHON= autoplist distutils
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-taggit \
+ ${PYTHON_PKGNAMEPREFIX}django-taggit
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj32-django-taggit/distinfo b/www/py-dj32-django-taggit/distinfo
new file mode 100644
index 000000000000..c9ea5150770f
--- /dev/null
+++ b/www/py-dj32-django-taggit/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1626280243
+SHA256 (django-taggit-1.5.1.tar.gz) = e5bb62891f458d55332e36a32e19c08d20142c43f74bc5656c803f8af25c084a
+SIZE (django-taggit-1.5.1.tar.gz) = 52766
diff --git a/www/py-dj32-django-taggit/pkg-descr b/www/py-dj32-django-taggit/pkg-descr
new file mode 100644
index 000000000000..1c0759657dfc
--- /dev/null
+++ b/www/py-dj32-django-taggit/pkg-descr
@@ -0,0 +1,3 @@
+django-taggit a simpler approach to tagging with Django.
+
+WWW: https://github.com/jazzband/django-taggit
diff --git a/www/py-dj32-django-timezone-field/Makefile b/www/py-dj32-django-timezone-field/Makefile
new file mode 100644
index 000000000000..d7fdadfbfc24
--- /dev/null
+++ b/www/py-dj32-django-timezone-field/Makefile
@@ -0,0 +1,24 @@
+PORTNAME= django-timezone-field
+DISTVERSION= 4.1.2
+CATEGORIES= www python
+MASTER_SITES= CHEESESHOP
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj32-
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Provides database and form fields for pytz timezone objects for Django
+
+LICENSE= BSD2CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django32>=1.11:www/py-django32@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytz>0:devel/py-pytz@${PY_FLAVOR}
+
+USES= python:3.6+
+USE_PYTHON= distutils autoplist
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-timezone-field \
+ ${PYTHON_PKGNAMEPREFIX}django-timezone-field
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj32-django-timezone-field/distinfo b/www/py-dj32-django-timezone-field/distinfo
new file mode 100644
index 000000000000..aa1cc15ade0e
--- /dev/null
+++ b/www/py-dj32-django-timezone-field/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1616796675
+SHA256 (django-timezone-field-4.1.2.tar.gz) = cffac62452d060e365938aa9c9f7b72d70d8b26b9c60243bce227b35abd1b9df
+SIZE (django-timezone-field-4.1.2.tar.gz) = 8419
diff --git a/www/py-dj32-django-timezone-field/pkg-descr b/www/py-dj32-django-timezone-field/pkg-descr
new file mode 100644
index 000000000000..83be226cc201
--- /dev/null
+++ b/www/py-dj32-django-timezone-field/pkg-descr
@@ -0,0 +1,3 @@
+Provides database and form fields for pytz timezone objects for Django.
+
+WWW: https://github.com/mfogel/django-timezone-field
diff --git a/www/py-dj32-djangorestframework/Makefile b/www/py-dj32-djangorestframework/Makefile
new file mode 100644
index 000000000000..2041a9320402
--- /dev/null
+++ b/www/py-dj32-djangorestframework/Makefile
@@ -0,0 +1,24 @@
+PORTNAME= djangorestframework
+PORTVERSION= 3.12.4
+CATEGORIES= www python
+MASTER_SITES= CHEESESHOP
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj32-
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Django REST framework
+
+LICENSE= BSD2CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE.md
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django32>=2.2:www/py-django32@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytz>=0:devel/py-pytz@${PY_FLAVOR}
+
+USES= python:3.6+
+USE_PYTHON= distutils autoplist
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}djangorestframework3* \
+ ${PYTHON_PKGNAMEPREFIX}dj31-djangorestframework \
+ ${PYTHON_PKGNAMEPREFIX}djangorestframework
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj32-djangorestframework/distinfo b/www/py-dj32-djangorestframework/distinfo
new file mode 100644
index 000000000000..01fbb2133c85
--- /dev/null
+++ b/www/py-dj32-djangorestframework/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1616796749
+SHA256 (djangorestframework-3.12.4.tar.gz) = f747949a8ddac876e879190df194b925c177cdeb725a099db1460872f7c0a7f2
+SIZE (djangorestframework-3.12.4.tar.gz) = 825004
diff --git a/www/py-dj32-djangorestframework/pkg-descr b/www/py-dj32-djangorestframework/pkg-descr
new file mode 100644
index 000000000000..fc24440c9a9b
--- /dev/null
+++ b/www/py-dj32-djangorestframework/pkg-descr
@@ -0,0 +1,4 @@
+Django REST framework is a powerful and flexible toolkit that makes
+it easy to build Web APIs.
+
+WWW: https://www.django-rest-framework.org/
diff --git a/www/py-dj32-drf-yasg/Makefile b/www/py-dj32-drf-yasg/Makefile
new file mode 100644
index 000000000000..f4eb0c8548ab
--- /dev/null
+++ b/www/py-dj32-drf-yasg/Makefile
@@ -0,0 +1,38 @@
+PORTNAME= drf-yasg
+DISTVERSION= 1.20.0
+CATEGORIES= www python
+MASTER_SITES= CHEESESHOP
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj32-
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Yet Another Swagger Generator
+
+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}django32>=2.2.16:www/py-django32@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj32-djangorestframework>=3.10.3:www/py-dj32-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.15.34:devel/py-ruamel.yaml@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}six>=1.10.0:devel/py-six@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}uritemplate>=3.0.0:net/py-uritemplate@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}packaging>0:devel/py-packaging@${PY_FLAVOR}
+
+USES= python:3.6+
+USE_PYTHON= distutils autoplist
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}py-dj31-drf-yasg \
+ ${PYTHON_PKGNAMEPREFIX}py-drf-yasg
+
+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-dj32-drf-yasg/distinfo b/www/py-dj32-drf-yasg/distinfo
new file mode 100644
index 000000000000..20815e62ee72
--- /dev/null
+++ b/www/py-dj32-drf-yasg/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1604143828
+SHA256 (drf-yasg-1.20.0.tar.gz) = d50f197c7f02545d0b736df88c6d5cf874f8fea2507ad85ad7de6ae5bf2d9e5a
+SIZE (drf-yasg-1.20.0.tar.gz) = 1800321
diff --git a/www/py-dj32-drf-yasg/pkg-descr b/www/py-dj32-drf-yasg/pkg-descr
new file mode 100644
index 000000000000..e9ddcdf2d62c
--- /dev/null
+++ b/www/py-dj32-drf-yasg/pkg-descr
@@ -0,0 +1,20 @@
+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)
+
+WWW: https://github.com/axnsan12/drf-yasg
diff --git a/www/py-django-auth-ldap/Makefile b/www/py-django-auth-ldap/Makefile
index b5298ec86374..477af1bb9fba 100644
--- a/www/py-django-auth-ldap/Makefile
+++ b/www/py-django-auth-ldap/Makefile
@@ -22,7 +22,8 @@ USE_PYTHON= autoplist concurrent distutils
NO_ARCH= yes
PORTDOCS= *
-CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-auth-ldap
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-auth-ldap \
+ ${PYTHON_PKGNAMEPREFIX}dj32-django-auth-ldap
OPTIONS_DEFINE= DOCS
DOCS_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinx>=0,1:textproc/py-sphinx@${PY_FLAVOR}
diff --git a/www/py-django-cacheops/Makefile b/www/py-django-cacheops/Makefile
index 95ac4c3a9dcf..3c0f139ced9b 100644
--- a/www/py-django-cacheops/Makefile
+++ b/www/py-django-cacheops/Makefile
@@ -18,7 +18,8 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django22>=2.1:www/py-django22@${PY_FLAVOR} \
USES= python:3.5+
USE_PYTHON= autoplist distutils
-CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-cacheops
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-cacheops \
+ ${PYTHON_PKGNAMEPREFIX}dj32-django-cacheops
NO_ARCH= yes
diff --git a/www/py-django-cors-headers/Makefile b/www/py-django-cors-headers/Makefile
index e85b80379ee8..c11bfb957e99 100644
--- a/www/py-django-cors-headers/Makefile
+++ b/www/py-django-cors-headers/Makefile
@@ -16,6 +16,7 @@ USES= python:3.6+
USE_PYTHON= autoplist distutils
NO_ARCH= yes
-CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-cors-headers
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-cors-headers \
+ ${PYTHON_PKGNAMEPREFIX}dj32-django-cors-headers
.include <bsd.port.mk>
diff --git a/www/py-django-debug-toolbar/Makefile b/www/py-django-debug-toolbar/Makefile
index 7da383fa82f0..8eb90d43eaec 100644
--- a/www/py-django-debug-toolbar/Makefile
+++ b/www/py-django-debug-toolbar/Makefile
@@ -20,6 +20,7 @@ USE_PYTHON= autoplist concurrent distutils
NO_ARCH= yes
-CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-debug-toolbar
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-debug-toolbar \
+ ${PYTHON_PKGNAMEPREFIX}dj32-django-debug-toolbar
.include <bsd.port.mk>
diff --git a/www/py-django-filter/Makefile b/www/py-django-filter/Makefile
index b1dd8f9cc459..b835b2311847 100644
--- a/www/py-django-filter/Makefile
+++ b/www/py-django-filter/Makefile
@@ -16,6 +16,7 @@ USES= python:3.5+
USE_PYTHON= distutils autoplist
NO_ARCH= yes
-CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-filter
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-filter \
+ ${PYTHON_PKGNAMEPREFIX}dj32-django-filter
.include <bsd.port.mk>
diff --git a/www/py-django-js-asset/Makefile b/www/py-django-js-asset/Makefile
index 1d8ebcf46d70..2ec3a0332487 100644
--- a/www/py-django-js-asset/Makefile
+++ b/www/py-django-js-asset/Makefile
@@ -17,6 +17,7 @@ USES= python:3.5+
USE_PYTHON= distutils autoplist
NO_ARCH= yes
-CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-js-asset
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-js-asset \
+ ${PYTHON_PKGNAMEPREFIX}dj32-django-js-asset
.include <bsd.port.mk>
diff --git a/www/py-django-mptt/Makefile b/www/py-django-mptt/Makefile
index 476e5e0431a2..63327dbd7d84 100644
--- a/www/py-django-mptt/Makefile
+++ b/www/py-django-mptt/Makefile
@@ -20,6 +20,7 @@ USE_PYTHON= autoplist distutils
NO_ARCH= yes
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}django-happenings \
- ${PYTHON_PKGNAMEPREFIX}dj31-django-mptt
+ ${PYTHON_PKGNAMEPREFIX}dj31-django-mptt \
+ ${PYTHON_PKGNAMEPREFIX}dj32-django-mptt
.include <bsd.port.mk>
diff --git a/www/py-django-prometheus/Makefile b/www/py-django-prometheus/Makefile
index 023f41bef0f8..c51210583a4d 100644
--- a/www/py-django-prometheus/Makefile
+++ b/www/py-django-prometheus/Makefile
@@ -16,7 +16,8 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django22>=2.2:www/py-django22@${PY_FLAVOR} \
USES= python:3.6+
USE_PYTHON= autoplist distutils
-CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-prometheus
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-prometheus \
+ ${PYTHON_PKGNAMEPREFIX}dj32-django-prometheus
NO_ARCH= yes
diff --git a/www/py-django-redis/Makefile b/www/py-django-redis/Makefile
index 3d5422be82bb..a5f138a84a80 100644
--- a/www/py-django-redis/Makefile
+++ b/www/py-django-redis/Makefile
@@ -19,7 +19,8 @@ TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hiredis>=0:databases/py-hiredis@${PY_FLAVOR
USES= python:3.6+
USE_PYTHON= autoplist concurrent distutils
-CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-redis
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-redis \
+ ${PYTHON_PKGNAMEPREFIX}dj32-django-redis
NO_ARCH= yes
diff --git a/www/py-django-tables2/Makefile b/www/py-django-tables2/Makefile
index 004ad20975db..dbdd6466b2b3 100644
--- a/www/py-django-tables2/Makefile
+++ b/www/py-django-tables2/Makefile
@@ -17,7 +17,8 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django22>=0:www/py-django22@${PY_FLAVOR}
USES= python:3.7+
USE_PYTHON= distutils autoplist
-CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-tables2
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-tables2 \
+ ${PYTHON_PKGNAMEPREFIX}dj32-django-tables2
NO_ARCH= yes
diff --git a/www/py-django-taggit/Makefile b/www/py-django-taggit/Makefile
index d3c464fe4e18..4b600305d6f0 100644
--- a/www/py-django-taggit/Makefile
+++ b/www/py-django-taggit/Makefile
@@ -16,6 +16,7 @@ USES= python:3.5+
USE_PYTHON= autoplist distutils
NO_ARCH= yes
-CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-taggit
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-taggit \
+ ${PYTHON_PKGNAMEPREFIX}dj32-django-taggit
.include <bsd.port.mk>
diff --git a/www/py-django-timezone-field/Makefile b/www/py-django-timezone-field/Makefile
index 33b13ebe630d..3b10c537aade 100644
--- a/www/py-django-timezone-field/Makefile
+++ b/www/py-django-timezone-field/Makefile
@@ -17,6 +17,7 @@ USES= python:3.5+
USE_PYTHON= distutils autoplist
NO_ARCH= yes
-CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-timezone-field
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj31-django-timezone-field \
+ ${PYTHON_PKGNAMEPREFIX}dj32-django-timezone-field
.include <bsd.port.mk>
diff --git a/www/py-djangorestframework/Makefile b/www/py-djangorestframework/Makefile
index d87e7aaaf126..3d979deac62d 100644
--- a/www/py-djangorestframework/Makefile
+++ b/www/py-djangorestframework/Makefile
@@ -18,7 +18,8 @@ USES= python:3.5+
USE_PYTHON= distutils autoplist
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}djangorestframework3* \
- ${PYTHON_PKGNAMEPREFIX}dj31-djangorestframework
+ ${PYTHON_PKGNAMEPREFIX}dj31-djangorestframework \
+ ${PYTHON_PKGNAMEPREFIX}dj32-djangorestframework
NO_ARCH= yes
.include <bsd.port.mk>
diff --git a/www/py-drf-yasg/Makefile b/www/py-drf-yasg/Makefile
index 9aeff4e03d2e..ab2d802304cb 100644
--- a/www/py-drf-yasg/Makefile
+++ b/www/py-drf-yasg/Makefile
@@ -24,7 +24,8 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django22>=2.2.16:www/py-django22@${PY_FLAVOR
USES= python:3.5+
USE_PYTHON= distutils autoplist
-CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}py-dj31-drf-yasg
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}py-dj31-drf-yasg \
+ ${PYTHON_PKGNAMEPREFIX}py-dj32-drf-yasg
NO_ARCH= yes