Details

Upstream of net-mgmt/netbox has changed the required Django version from 1.11 to 2.1 with the release of NetBox 2.5.0, thus some ports need to be repo-copied and assigned to Django 2.1 to make the update possible:

www/py-django-cors-headers -> www/py-dj21-django-cors-headers

www/py-django-debug-toolbar -> www/py-dj21-django-debug-toolbar

www/py-django-filter -> www/py-dj21-django-filter

www/py-django-js-asset -> www/py-dj21-django-js-asset

www/py-django-mptt -> www/py-dj21-django-mptt

www/py-django-tables2 -> www/py-dj21-django-tables2

www/py-django-taggit -> www/py-dj21-django-taggit

www/py-django-timezone-field -> www/py-dj21-django-timezone-field

www/py-djangorestframework -> www/py-dj21-djangorestframework

www/py-drf-yasg -> www/py-dj21-drf-yasg

Because Django v2.1 requires Python 3.5+ I also changed "USES=python" to "USES=python:3.5+" to reduce some overhead during the build process.

Test Plan

Builds fine with poudriere for 11.2-RELEASE amd64

Portlint on the new ports -> OK

Questions from my point of view:

Is the currently used naming scheme (py-dj21-django-PORTNAME) ok? It could be that in future there might be a few more ports that need to be assigned to Django 1.11 (Long-term support until April 2020) and a newer version of Django.

Is there a need for multiple django versions? That is, would it not be possible to simply upgrade to 2.1 and call it a day?

It would be possible to assign the current ports to Django 2.1, indeed. But going this way there would be the need to assign other ports also to Django 2.1.

For example if www/py-django-mptt would be simply assigned from Django 1.11 to 2.1 there would also be the need to assign www/py-django-filer (not listed in this diff, btw) , which depends on www/py-django-mptt, from Django 1.11 to 2.1 .

Django 1.11 is at the moment the "inofficial" standard (mainly due its long term support) in the ports tree even there's yet no entry in bsd.default-versions.mk, though.

Most of the Django related ports are currently assigned to www/py-django111 but there's also a meta-port www/py-django where 1.11 is the default option at the moment.

I have also pondered about the option to remove/comment out www/py-django111 from the RUN_DEPENDS of the affected ports in this review as a temporary solution.