From 7f72b5d66013f5cc9013b9b1e5cbbb187f136d6f Mon Sep 17 00:00:00 2001 From: Kai Knoblich Date: Sun, 22 Jun 2025 08:17:53 +0200 Subject: [PATCH] net-mgmt/netbox: Create Django 5.2 consumers * Django 4.2 is currently the "default" version in the ports tree due its long term support until April 2026. 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 4.3 release possible because it requires Django 5.2. All of the ports listed below were created on the basis of their respective original ports: - devel/py-dj52-django-rq - devel/py-dj52-strawberry-graphql - www/py-dj52-channels - www/py-dj52-django-auth-ldap - www/py-dj52-django-choices-field - www/py-dj52-django-cors-headers - www/py-dj52-django-debug-toolbar - www/py-dj52-django-filter - www/py-dj52-django-htmx - www/py-dj52-django-js-asset - www/py-dj52-django-mptt - www/py-dj52-django-prometheus - www/py-dj52-django-redis - www/py-dj52-django-rich - www/py-dj52-django-storages - www/py-dj52-django-tables2 - www/py-dj52-django-taggit - www/py-dj52-django-timezone-field - www/py-dj52-djangorestframework - www/py-dj52-drf-spectacular - www/py-dj52-drf-spectacular-sidecar - www/py-dj52-social-auth-app-django - www/py-dj52-strawberry-graphql-django Assign the following ports to its maintainer who already maintain the Django 4.2 variants of them [1]: - devel/py-dj52-django-rq - www/py-dj52-channels - www/py-dj52-django-debug-toolbar - www/py-dj52-django-redis Approved by: sunpoet (implicit) [1] --- devel/Makefile | 2 + devel/py-dj52-django-rq/Makefile | 41 ++++++++++ devel/py-dj52-django-rq/distinfo | 3 + devel/py-dj52-django-rq/pkg-descr | 3 + devel/py-dj52-strawberry-graphql/Makefile | 74 +++++++++++++++++++ devel/py-dj52-strawberry-graphql/distinfo | 3 + devel/py-dj52-strawberry-graphql/pkg-descr | 23 ++++++ www/Makefile | 21 ++++++ www/py-dj52-channels/Makefile | 25 +++++++ www/py-dj52-channels/distinfo | 3 + www/py-dj52-channels/pkg-descr | 4 + www/py-dj52-django-auth-ldap/Makefile | 40 ++++++++++ www/py-dj52-django-auth-ldap/distinfo | 3 + .../files/patch-docs_conf.py | 20 +++++ www/py-dj52-django-auth-ldap/pkg-descr | 4 + www/py-dj52-django-choices-field/Makefile | 24 ++++++ www/py-dj52-django-choices-field/distinfo | 3 + www/py-dj52-django-choices-field/pkg-descr | 2 + www/py-dj52-django-cors-headers/Makefile | 26 +++++++ www/py-dj52-django-cors-headers/distinfo | 3 + www/py-dj52-django-cors-headers/pkg-descr | 2 + www/py-dj52-django-debug-toolbar/Makefile | 27 +++++++ www/py-dj52-django-debug-toolbar/distinfo | 3 + www/py-dj52-django-debug-toolbar/pkg-descr | 3 + www/py-dj52-django-filter/Makefile | 25 +++++++ www/py-dj52-django-filter/distinfo | 3 + www/py-dj52-django-filter/pkg-descr | 2 + www/py-dj52-django-htmx/Makefile | 27 +++++++ www/py-dj52-django-htmx/distinfo | 3 + www/py-dj52-django-htmx/pkg-descr | 3 + www/py-dj52-django-js-asset/Makefile | 25 +++++++ www/py-dj52-django-js-asset/distinfo | 3 + www/py-dj52-django-js-asset/pkg-descr | 2 + www/py-dj52-django-mptt/Makefile | 26 +++++++ www/py-dj52-django-mptt/distinfo | 3 + www/py-dj52-django-mptt/pkg-descr | 2 + www/py-dj52-django-prometheus/Makefile | 38 ++++++++++ www/py-dj52-django-prometheus/distinfo | 3 + .../files/patch-pyproject.toml | 11 +++ .../files/patch-setup.py | 13 ++++ www/py-dj52-django-prometheus/pkg-descr | 14 ++++ www/py-dj52-django-redis/Makefile | 36 +++++++++ www/py-dj52-django-redis/distinfo | 3 + www/py-dj52-django-redis/pkg-descr | 15 ++++ www/py-dj52-django-rich/Makefile | 27 +++++++ www/py-dj52-django-rich/distinfo | 3 + www/py-dj52-django-rich/pkg-descr | 11 +++ www/py-dj52-django-storages/Makefile | 44 +++++++++++ www/py-dj52-django-storages/distinfo | 3 + www/py-dj52-django-storages/pkg-descr | 2 + www/py-dj52-django-tables2/Makefile | 30 ++++++++ www/py-dj52-django-tables2/distinfo | 3 + www/py-dj52-django-tables2/pkg-descr | 3 + www/py-dj52-django-taggit/Makefile | 26 +++++++ www/py-dj52-django-taggit/distinfo | 3 + www/py-dj52-django-taggit/pkg-descr | 1 + www/py-dj52-django-timezone-field/Makefile | 25 +++++++ www/py-dj52-django-timezone-field/distinfo | 3 + www/py-dj52-django-timezone-field/pkg-descr | 2 + www/py-dj52-djangorestframework/Makefile | 25 +++++++ www/py-dj52-djangorestframework/distinfo | 3 + www/py-dj52-djangorestframework/pkg-descr | 15 ++++ www/py-dj52-drf-spectacular-sidecar/Makefile | 26 +++++++ www/py-dj52-drf-spectacular-sidecar/distinfo | 3 + www/py-dj52-drf-spectacular-sidecar/pkg-descr | 5 ++ www/py-dj52-drf-spectacular/Makefile | 35 +++++++++ www/py-dj52-drf-spectacular/distinfo | 3 + www/py-dj52-drf-spectacular/pkg-descr | 24 ++++++ www/py-dj52-social-auth-app-django/Makefile | 34 +++++++++ www/py-dj52-social-auth-app-django/distinfo | 3 + www/py-dj52-social-auth-app-django/pkg-descr | 6 ++ .../Makefile | 37 ++++++++++ .../distinfo | 3 + .../pkg-descr | 15 ++++ 74 files changed, 1042 insertions(+) create mode 100644 devel/py-dj52-django-rq/Makefile create mode 100644 devel/py-dj52-django-rq/distinfo create mode 100644 devel/py-dj52-django-rq/pkg-descr create mode 100644 devel/py-dj52-strawberry-graphql/Makefile create mode 100644 devel/py-dj52-strawberry-graphql/distinfo create mode 100644 devel/py-dj52-strawberry-graphql/pkg-descr create mode 100644 www/py-dj52-channels/Makefile create mode 100644 www/py-dj52-channels/distinfo create mode 100644 www/py-dj52-channels/pkg-descr create mode 100644 www/py-dj52-django-auth-ldap/Makefile create mode 100644 www/py-dj52-django-auth-ldap/distinfo create mode 100644 www/py-dj52-django-auth-ldap/files/patch-docs_conf.py create mode 100644 www/py-dj52-django-auth-ldap/pkg-descr create mode 100644 www/py-dj52-django-choices-field/Makefile create mode 100644 www/py-dj52-django-choices-field/distinfo create mode 100644 www/py-dj52-django-choices-field/pkg-descr create mode 100644 www/py-dj52-django-cors-headers/Makefile create mode 100644 www/py-dj52-django-cors-headers/distinfo create mode 100644 www/py-dj52-django-cors-headers/pkg-descr create mode 100644 www/py-dj52-django-debug-toolbar/Makefile create mode 100644 www/py-dj52-django-debug-toolbar/distinfo create mode 100644 www/py-dj52-django-debug-toolbar/pkg-descr create mode 100644 www/py-dj52-django-filter/Makefile create mode 100644 www/py-dj52-django-filter/distinfo create mode 100644 www/py-dj52-django-filter/pkg-descr create mode 100644 www/py-dj52-django-htmx/Makefile create mode 100644 www/py-dj52-django-htmx/distinfo create mode 100644 www/py-dj52-django-htmx/pkg-descr create mode 100644 www/py-dj52-django-js-asset/Makefile create mode 100644 www/py-dj52-django-js-asset/distinfo create mode 100644 www/py-dj52-django-js-asset/pkg-descr create mode 100644 www/py-dj52-django-mptt/Makefile create mode 100644 www/py-dj52-django-mptt/distinfo create mode 100644 www/py-dj52-django-mptt/pkg-descr create mode 100644 www/py-dj52-django-prometheus/Makefile create mode 100644 www/py-dj52-django-prometheus/distinfo create mode 100644 www/py-dj52-django-prometheus/files/patch-pyproject.toml create mode 100644 www/py-dj52-django-prometheus/files/patch-setup.py create mode 100644 www/py-dj52-django-prometheus/pkg-descr create mode 100644 www/py-dj52-django-redis/Makefile create mode 100644 www/py-dj52-django-redis/distinfo create mode 100644 www/py-dj52-django-redis/pkg-descr create mode 100644 www/py-dj52-django-rich/Makefile create mode 100644 www/py-dj52-django-rich/distinfo create mode 100644 www/py-dj52-django-rich/pkg-descr create mode 100644 www/py-dj52-django-storages/Makefile create mode 100644 www/py-dj52-django-storages/distinfo create mode 100644 www/py-dj52-django-storages/pkg-descr create mode 100644 www/py-dj52-django-tables2/Makefile create mode 100644 www/py-dj52-django-tables2/distinfo create mode 100644 www/py-dj52-django-tables2/pkg-descr create mode 100644 www/py-dj52-django-taggit/Makefile create mode 100644 www/py-dj52-django-taggit/distinfo create mode 100644 www/py-dj52-django-taggit/pkg-descr create mode 100644 www/py-dj52-django-timezone-field/Makefile create mode 100644 www/py-dj52-django-timezone-field/distinfo create mode 100644 www/py-dj52-django-timezone-field/pkg-descr create mode 100644 www/py-dj52-djangorestframework/Makefile create mode 100644 www/py-dj52-djangorestframework/distinfo create mode 100644 www/py-dj52-djangorestframework/pkg-descr create mode 100644 www/py-dj52-drf-spectacular-sidecar/Makefile create mode 100644 www/py-dj52-drf-spectacular-sidecar/distinfo create mode 100644 www/py-dj52-drf-spectacular-sidecar/pkg-descr create mode 100644 www/py-dj52-drf-spectacular/Makefile create mode 100644 www/py-dj52-drf-spectacular/distinfo create mode 100644 www/py-dj52-drf-spectacular/pkg-descr create mode 100644 www/py-dj52-social-auth-app-django/Makefile create mode 100644 www/py-dj52-social-auth-app-django/distinfo create mode 100644 www/py-dj52-social-auth-app-django/pkg-descr create mode 100644 www/py-dj52-strawberry-graphql-django/Makefile create mode 100644 www/py-dj52-strawberry-graphql-django/distinfo create mode 100644 www/py-dj52-strawberry-graphql-django/pkg-descr diff --git a/devel/Makefile b/devel/Makefile index c38c39ae2685..99d2342f9597 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -4815,6 +4815,8 @@ SUBDIR += py-distributed SUBDIR += py-dj51-django-rq SUBDIR += py-dj51-strawberry-graphql + SUBDIR += py-dj52-django-rq + SUBDIR += py-dj52-strawberry-graphql SUBDIR += py-django-rq SUBDIR += py-dm-tree SUBDIR += py-docformatter diff --git a/devel/py-dj52-django-rq/Makefile b/devel/py-dj52-django-rq/Makefile new file mode 100644 index 000000000000..3e376d972e51 --- /dev/null +++ b/devel/py-dj52-django-rq/Makefile @@ -0,0 +1,41 @@ +PORTNAME= django-rq +PORTVERSION= 3.0.1 +CATEGORIES= devel python +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52- +MASTER_SITES= PYPI +DISTNAME= django_rq-${PORTVERSION} + +MAINTAINER= sunpoet@FreeBSD.org +COMMENT= Provides Django integration for RQ (Redis Queue) +WWW= https://github.com/rq/django-rq + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE.txt + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=3.2:www/py-django52@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}redis>=3.5:databases/py-redis@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}rq>=2:devel/py-rq@${PY_FLAVOR} +TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dj52-django-redis>=0:www/py-dj52-django-redis@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}rq-scheduler>=0:devel/py-rq-scheduler@${PY_FLAVOR} \ + redis-server:databases/redis + +USES= python:3.10+ +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes +TEST_ENV= PYTHONPATH=. + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*django-rq + +OPTIONS_DEFINE= SENTRY +SENTRY_DESC= Sentry support + +SENTRY_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sentry-sdk>=1.0.0:devel/py-sentry-sdk@${PY_FLAVOR} + +# https://github.com/rq/django-rq/blob/master/Makefile +do-test: + cd ${WRKSRC} && ${SETENV} ${TEST_ENV} ${LOCALBASE}/bin/django-admin test django_rq --settings=django_rq.tests.settings -v2 + +.include diff --git a/devel/py-dj52-django-rq/distinfo b/devel/py-dj52-django-rq/distinfo new file mode 100644 index 000000000000..9efa3412a085 --- /dev/null +++ b/devel/py-dj52-django-rq/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1747327171 +SHA256 (django_rq-3.0.1.tar.gz) = d111f436608b95a58a6960174eaf44aa021e0a4a32f83a28a7221a9a916dd1ae +SIZE (django_rq-3.0.1.tar.gz) = 53821 diff --git a/devel/py-dj52-django-rq/pkg-descr b/devel/py-dj52-django-rq/pkg-descr new file mode 100644 index 000000000000..85e24c643a23 --- /dev/null +++ b/devel/py-dj52-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-dj52-strawberry-graphql/Makefile b/devel/py-dj52-strawberry-graphql/Makefile new file mode 100644 index 000000000000..0e5a547d0db8 --- /dev/null +++ b/devel/py-dj52-strawberry-graphql/Makefile @@ -0,0 +1,74 @@ +PORTNAME= strawberry-graphql +DISTVERSION= 0.271.0 +CATEGORIES= devel python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52- +DISTNAME= strawberry_graphql-${DISTVERSION} + +MAINTAINER= kai@FreeBSD.org +COMMENT= Library for creating GraphQL APIs +WWW= https://github.com/strawberry-graphql/strawberry + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>=1.6:devel/py-poetry-core@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}python-dateutil>=2.7.0:devel/py-python-dateutil@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}graphql-core>=3.2.0<3.4.0:devel/py-graphql-core@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.5.0:devel/py-typing-extensions@${PY_FLAVOR} + +USES= python:3.10+ +USE_PYTHON= autoplist concurrent pep517 + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} + +NO_ARCH= yes + +OPTIONS_DEFINE= AIOHTTP ASGI CHANNELS CLI DEBUG DEBUG-SERVER DJANGO \ + FASTAPI FLASK OPENTELEMETRY PYDANTIC + +AIOHTTP_DESC= Basic AIOHTTP integration +ASGI_DESC= Basic ASGI integration +CHANNELS_DESC= Support for Django Channels +CLI_DESC= Support for CLI commands +DEBUG-SERVER_DESC= Enable debug server +DEBUG_DESC= Generate verbose debug information +DJANGO_DESC= Basic Django integration +FASTAPI_DESC= Support for FastAPI in conjunction with GraphQLRouter +FLASK_DESC= Basic Flask integration +OPENTELEMETRY_DESC= Generate Open Telemetry compatible tracing information +PYDANTIC_DESC= Support for Pydantic models + +AIOHTTP_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}aiohttp>=3.7.4:www/py-aiohttp@${PY_FLAVOR} +ASGI_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}multipart>=0.0.7:devel/py-multipart@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}starlette>=0.18.0:www/py-starlette@${PY_FLAVOR} +CHANNELS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}asgiref>=3.2:www/py-asgiref@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj52-channels>=3.0.5:www/py-dj52-channels@${PY_FLAVOR} +CLI_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}libcst>=1.0.0:devel/py-libcst@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pygments>=2.3:textproc/py-pygments@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}rich>=12.0.0:textproc/py-rich@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}typer>=0.7.0:devel/py-typer@${PY_FLAVOR} +DEBUG-SERVER_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}libcst>=1.0.0:devel/py-libcst@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}multipart>=0.0.7:devel/py-multipart@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pygments>=2.3:textproc/py-pygments@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}rich>=12.0.0:textproc/py-rich@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}starlette>=0.18.0:www/py-starlette@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}typer>=0.7.0:devel/py-typer@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}uvicorn>=0.11.6:www/py-uvicorn@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}websockets>=15.0.1:devel/py-websockets@${PY_FLAVOR} +DEBUG_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}libcst>=1.0.0:devel/py-libcst@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}rich>=12.0.0:textproc/py-rich@${PY_FLAVOR} +# NB: www/py-channels (via CHANNELS) options depends on www/py-djangoXX, which +# should be taken into account when creating a port for a specific Django version. +DJANGO_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}asgiref>=3.2:www/py-asgiref@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}django52>=3.2:www/py-django52@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pytest-django>0:devel/py-pytest-django@${PY_FLAVOR} +FASTAPI_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}fastapi>=0.62.5:www/py-fastapi@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}multipart>=0.0.7:devel/py-multipart@${PY_FLAVOR} +FLASK_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flask>=1.1:www/py-flask@${PY_FLAVOR} +OPENTELEMETRY_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}opentelemetry-api<2:devel/py-opentelemetry-api@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}opentelemetry-sdk<2:devel/py-opentelemetry-sdk@${PY_FLAVOR} +# NB: Switch to devel/py-pydantic once www/py-fastapi uses it +PYDANTIC_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pydantic2>1.6.1:devel/py-pydantic2@${PY_FLAVOR} + +.include diff --git a/devel/py-dj52-strawberry-graphql/distinfo b/devel/py-dj52-strawberry-graphql/distinfo new file mode 100644 index 000000000000..591e1237a446 --- /dev/null +++ b/devel/py-dj52-strawberry-graphql/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1749230708 +SHA256 (strawberry_graphql-0.271.0.tar.gz) = dfcf22c5b013915b78b64660ed40afc58081708cecce37879d4b89dac5dc356a +SIZE (strawberry_graphql-0.271.0.tar.gz) = 207945 diff --git a/devel/py-dj52-strawberry-graphql/pkg-descr b/devel/py-dj52-strawberry-graphql/pkg-descr new file mode 100644 index 000000000000..ea25df49f06d --- /dev/null +++ b/devel/py-dj52-strawberry-graphql/pkg-descr @@ -0,0 +1,23 @@ +Strawberry is a developer friendly GraphQL library for Python, designed for +modern development. + +* Type hints: Leverages Python type hints to provide a great developer + experience while creating GraphQL Libraries. + +* Async Support: Supports async/await out of the box, allowing you to write + your resolvers in a non-blocking way. + +* Extensible: Has support for schema and field extensions, allowing you to + extend the schema with custom logic. + +* Generics: Supports generics, allowing you to create reusable types that can + be used in multiple places. + +* Federation: Supports Federation, allowing you to create a federated GraphQL + schema. + +* Dataloaders: Comes with support for dataloaders, allowing you to batch + multiple queries into a single one. + +* Integrations: Has support for multiple integrations, allowing you to use it + with your favorite web framework. diff --git a/www/Makefile b/www/Makefile index 8339058aecc5..e2d4e07e535e 100644 --- a/www/Makefile +++ b/www/Makefile @@ -1549,6 +1549,27 @@ SUBDIR += py-dj51-drf-writable-nested SUBDIR += py-dj51-social-auth-app-django SUBDIR += py-dj51-strawberry-graphql-django + SUBDIR += py-dj52-channels + SUBDIR += py-dj52-django-auth-ldap + SUBDIR += py-dj52-django-choices-field + SUBDIR += py-dj52-django-cors-headers + SUBDIR += py-dj52-django-debug-toolbar + SUBDIR += py-dj52-django-filter + SUBDIR += py-dj52-django-htmx + SUBDIR += py-dj52-django-js-asset + SUBDIR += py-dj52-django-mptt + SUBDIR += py-dj52-django-prometheus + SUBDIR += py-dj52-django-redis + SUBDIR += py-dj52-django-rich + SUBDIR += py-dj52-django-storages + SUBDIR += py-dj52-django-tables2 + SUBDIR += py-dj52-django-taggit + SUBDIR += py-dj52-django-timezone-field + SUBDIR += py-dj52-djangorestframework + SUBDIR += py-dj52-drf-spectacular + SUBDIR += py-dj52-drf-spectacular-sidecar + SUBDIR += py-dj52-social-auth-app-django + SUBDIR += py-dj52-strawberry-graphql-django SUBDIR += py-django-admin-rangefilter SUBDIR += py-django-advanced-filters SUBDIR += py-django-allauth diff --git a/www/py-dj52-channels/Makefile b/www/py-dj52-channels/Makefile new file mode 100644 index 000000000000..e8f8ced587d3 --- /dev/null +++ b/www/py-dj52-channels/Makefile @@ -0,0 +1,25 @@ +PORTNAME= channels +PORTVERSION= 4.2.0 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52- + +MAINTAINER= sunpoet@FreeBSD.org +COMMENT= Brings async, event-driven capabilities to Django +WWW= https://channels.readthedocs.io/en/latest/ \ + https://github.com/django/channels + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}asgiref>=3.6.0<4:www/py-asgiref@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}django52>=4.2:www/py-django52@${PY_FLAVOR} + +USES= python:3.10+ +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +.include diff --git a/www/py-dj52-channels/distinfo b/www/py-dj52-channels/distinfo new file mode 100644 index 000000000000..cfa8d2a5103d --- /dev/null +++ b/www/py-dj52-channels/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1732202562 +SHA256 (channels-4.2.0.tar.gz) = d9e707487431ba5dbce9af982970dab3b0efd786580fadb99e45dca5e39fdd59 +SIZE (channels-4.2.0.tar.gz) = 26554 diff --git a/www/py-dj52-channels/pkg-descr b/www/py-dj52-channels/pkg-descr new file mode 100644 index 000000000000..01296180bc27 --- /dev/null +++ b/www/py-dj52-channels/pkg-descr @@ -0,0 +1,4 @@ +Channels augments Django to bring WebSocket, long-poll HTTP, task offloading and +other async support to your code, using familiar Django design patterns and a +flexible underlying framework that lets you not only customize behaviours but +also write support for your own protocols and needs. diff --git a/www/py-dj52-django-auth-ldap/Makefile b/www/py-dj52-django-auth-ldap/Makefile new file mode 100644 index 000000000000..2ddf3b629a3a --- /dev/null +++ b/www/py-dj52-django-auth-ldap/Makefile @@ -0,0 +1,40 @@ +PORTNAME= django-auth-ldap +DISTVERSION= 5.1.0 +CATEGORIES= www security python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52- +DISTNAME= django_auth_ldap-${DISTVERSION} + +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}django52>=4.2:www/py-django52@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}python-ldap>=3.1:net/py-python-ldap@${PY_FLAVOR} + +USES= python:3.10+ +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes +PORTDOCS= * +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} + +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 diff --git a/www/py-dj52-django-auth-ldap/distinfo b/www/py-dj52-django-auth-ldap/distinfo new file mode 100644 index 000000000000..2ae0a3f4baa0 --- /dev/null +++ b/www/py-dj52-django-auth-ldap/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1730477310 +SHA256 (django_auth_ldap-5.1.0.tar.gz) = 9c607e8d9c53cf2a0ccafbe0acfc33eb1d1fd474c46ec52d30aee0dca1da9668 +SIZE (django_auth_ldap-5.1.0.tar.gz) = 55059 diff --git a/www/py-dj52-django-auth-ldap/files/patch-docs_conf.py b/www/py-dj52-django-auth-ldap/files/patch-docs_conf.py new file mode 100644 index 000000000000..d41916245ebc --- /dev/null +++ b/www/py-dj52-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-dj52-django-auth-ldap/pkg-descr b/www/py-dj52-django-auth-ldap/pkg-descr new file mode 100644 index 000000000000..390903dba8ac --- /dev/null +++ b/www/py-dj52-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-dj52-django-choices-field/Makefile b/www/py-dj52-django-choices-field/Makefile new file mode 100644 index 000000000000..355a02ed97cb --- /dev/null +++ b/www/py-dj52-django-choices-field/Makefile @@ -0,0 +1,24 @@ +PORTNAME= django-choices-field +DISTVERSION= 2.3.0 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52- +DISTNAME= django_choices_field-${DISTVERSION} + +MAINTAINER= kai@FreeBSD.org +COMMENT= Django field that set/get TextChoices/IntegerChoices enumerations +WWW= https://github.com/bellini666/django-choices-field + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>=1.0.0:devel/py-poetry-core@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=3.2:www/py-django52@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.0.0:devel/py-typing-extensions@${PY_FLAVOR} + +USES= python:3.10+ +USE_PYTHON= autoplist pep517 + +NO_ARCH= yes + +.include diff --git a/www/py-dj52-django-choices-field/distinfo b/www/py-dj52-django-choices-field/distinfo new file mode 100644 index 000000000000..7f61f9ac7dde --- /dev/null +++ b/www/py-dj52-django-choices-field/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1711885476 +SHA256 (django_choices_field-2.3.0.tar.gz) = bb0c85c79737ab98bfb9c0d9ddf98010d612c0585be767890e25fd192c3d1694 +SIZE (django_choices_field-2.3.0.tar.gz) = 6448 diff --git a/www/py-dj52-django-choices-field/pkg-descr b/www/py-dj52-django-choices-field/pkg-descr new file mode 100644 index 000000000000..3a855539fca9 --- /dev/null +++ b/www/py-dj52-django-choices-field/pkg-descr @@ -0,0 +1,2 @@ +This package provides a Django field that set/get the "TextChoices" and +"IntegerChoices" enumerations. diff --git a/www/py-dj52-django-cors-headers/Makefile b/www/py-dj52-django-cors-headers/Makefile new file mode 100644 index 000000000000..ede2fbb0079e --- /dev/null +++ b/www/py-dj52-django-cors-headers/Makefile @@ -0,0 +1,26 @@ +PORTNAME= django-cors-headers +DISTVERSION= 4.7.0 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52- +DISTNAME= django_cors_headers-${DISTVERSION} + +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}django52>=4.2:www/py-django52@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}asgiref>=3.6:www/py-asgiref@${PY_FLAVOR} + +USES= python:3.10+ +USE_PYTHON= autoplist pep517 + +NO_ARCH= yes +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} + +.include diff --git a/www/py-dj52-django-cors-headers/distinfo b/www/py-dj52-django-cors-headers/distinfo new file mode 100644 index 000000000000..ea513ae6604c --- /dev/null +++ b/www/py-dj52-django-cors-headers/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1739187247 +SHA256 (django_cors_headers-4.7.0.tar.gz) = 6fdf31bf9c6d6448ba09ef57157db2268d515d94fc5c89a0a1028e1fc03ee52b +SIZE (django_cors_headers-4.7.0.tar.gz) = 21037 diff --git a/www/py-dj52-django-cors-headers/pkg-descr b/www/py-dj52-django-cors-headers/pkg-descr new file mode 100644 index 000000000000..9ba1bc6bd1a8 --- /dev/null +++ b/www/py-dj52-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-dj52-django-debug-toolbar/Makefile b/www/py-dj52-django-debug-toolbar/Makefile new file mode 100644 index 000000000000..62cdf47b2a83 --- /dev/null +++ b/www/py-dj52-django-debug-toolbar/Makefile @@ -0,0 +1,27 @@ +PORTNAME= django-debug-toolbar +PORTVERSION= 5.2.0 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52- +DISTNAME= django_debug_toolbar-${PORTVERSION} + +MAINTAINER= sunpoet@FreeBSD.org +COMMENT= Configurable set of panels to display debug information +WWW= https://django-debug-toolbar.readthedocs.io/en/latest/ \ + https://github.com/django-commons/django-debug-toolbar + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.2.9:www/py-django52@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}sqlparse>=0.2.0:databases/py-sqlparse@${PY_FLAVOR} + +USES= python:3.10+ +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*django-debug-toolbar + +.include diff --git a/www/py-dj52-django-debug-toolbar/distinfo b/www/py-dj52-django-debug-toolbar/distinfo new file mode 100644 index 000000000000..130df8cee123 --- /dev/null +++ b/www/py-dj52-django-debug-toolbar/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1747327034 +SHA256 (django_debug_toolbar-5.2.0.tar.gz) = 9e7f0145e1a1b7d78fcc3b53798686170a5b472d9cf085d88121ff823e900821 +SIZE (django_debug_toolbar-5.2.0.tar.gz) = 297901 diff --git a/www/py-dj52-django-debug-toolbar/pkg-descr b/www/py-dj52-django-debug-toolbar/pkg-descr new file mode 100644 index 000000000000..e62114e4b61f --- /dev/null +++ b/www/py-dj52-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-dj52-django-filter/Makefile b/www/py-dj52-django-filter/Makefile new file mode 100644 index 000000000000..c999af31c25c --- /dev/null +++ b/www/py-dj52-django-filter/Makefile @@ -0,0 +1,25 @@ +PORTNAME= django-filter +DISTVERSION= 25.1 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52- +DISTNAME= django_filter-${DISTVERSION} + +MAINTAINER= kai@FreeBSD.org +COMMENT= Dynamic filtering for querysets with Django +WWW= https://github.com/carltongibson/django-filter + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flit-core>=3.2<4:devel/py-flit-core@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.2:www/py-django52@${PY_FLAVOR} + +USES= python:3.10+ +USE_PYTHON= autoplist pep517 + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} + +NO_ARCH= yes + +.include diff --git a/www/py-dj52-django-filter/distinfo b/www/py-dj52-django-filter/distinfo new file mode 100644 index 000000000000..1fe436b6ac10 --- /dev/null +++ b/www/py-dj52-django-filter/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1740212287 +SHA256 (django_filter-25.1.tar.gz) = 1ec9eef48fa8da1c0ac9b411744b16c3f4c31176c867886e4c48da369c407153 +SIZE (django_filter-25.1.tar.gz) = 143021 diff --git a/www/py-dj52-django-filter/pkg-descr b/www/py-dj52-django-filter/pkg-descr new file mode 100644 index 000000000000..089f799caa3e --- /dev/null +++ b/www/py-dj52-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-dj52-django-htmx/Makefile b/www/py-dj52-django-htmx/Makefile new file mode 100644 index 000000000000..6dc8db82841e --- /dev/null +++ b/www/py-dj52-django-htmx/Makefile @@ -0,0 +1,27 @@ +PORTNAME= django-htmx +DISTVERSION= 1.23.0 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52- +DISTNAME= django_htmx-${DISTVERSION} + +MAINTAINER= kai@FreeBSD.org +COMMENT= Extensions for using Django with htmx +WWW= https://github.com/adamchainz/django-htmx + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PY_SETUPTOOLS} \ + ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.2:www/py-django52@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}asgiref>=3.6:www/py-asgiref@${PY_FLAVOR} + +USES= python:3.10+ +USE_PYTHON= autoplist pep517 + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} + +NO_ARCH= yes + +.include diff --git a/www/py-dj52-django-htmx/distinfo b/www/py-dj52-django-htmx/distinfo new file mode 100644 index 000000000000..ff5b98d404fe --- /dev/null +++ b/www/py-dj52-django-htmx/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1742639003 +SHA256 (django_htmx-1.23.0.tar.gz) = 71e6242ac6bd32a0e14fcb12b340f901c9a924f0b4e9b461a5e6a6eea8d9c6dd +SIZE (django_htmx-1.23.0.tar.gz) = 63450 diff --git a/www/py-dj52-django-htmx/pkg-descr b/www/py-dj52-django-htmx/pkg-descr new file mode 100644 index 000000000000..9b84019de4a7 --- /dev/null +++ b/www/py-dj52-django-htmx/pkg-descr @@ -0,0 +1,3 @@ +This package offers extensions for using Django with htmx, a library that +allows one to access modern browser features directly from HTML, rather than +using JavaScript (see https://htmx.org/). diff --git a/www/py-dj52-django-js-asset/Makefile b/www/py-dj52-django-js-asset/Makefile new file mode 100644 index 000000000000..7e5d300ba127 --- /dev/null +++ b/www/py-dj52-django-js-asset/Makefile @@ -0,0 +1,25 @@ +PORTNAME= django-js-asset +DISTVERSION= 3.1.2 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52- +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}django52>=4.2:www/py-django52@${PY_FLAVOR} + +USES= python:3.10+ +USE_PYTHON= autoplist pep517 + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} + +NO_ARCH= yes + +.include diff --git a/www/py-dj52-django-js-asset/distinfo b/www/py-dj52-django-js-asset/distinfo new file mode 100644 index 000000000000..5d250a973b1e --- /dev/null +++ b/www/py-dj52-django-js-asset/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1741326981 +SHA256 (django_js_asset-3.1.2.tar.gz) = 1fc7584199ed1941ed7c8e7b87ca5524bb0f2ba941561d2a104e88ee9f07bedd +SIZE (django_js_asset-3.1.2.tar.gz) = 9471 diff --git a/www/py-dj52-django-js-asset/pkg-descr b/www/py-dj52-django-js-asset/pkg-descr new file mode 100644 index 000000000000..99b04e1534c9 --- /dev/null +++ b/www/py-dj52-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-dj52-django-mptt/Makefile b/www/py-dj52-django-mptt/Makefile new file mode 100644 index 000000000000..18ab030b3f5a --- /dev/null +++ b/www/py-dj52-django-mptt/Makefile @@ -0,0 +1,26 @@ +PORTNAME= django-mptt +DISTVERSION= 0.17.0 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52- +DISTNAME= django_mptt-${DISTVERSION} + +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 + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.2:www/py-django52@${PY_FLAVOR}\ + ${PYTHON_PKGNAMEPREFIX}dj52-django-js-asset>0:www/py-dj52-django-js-asset@${PY_FLAVOR} + +USES= python:3.10+ +USE_PYTHON= autoplist pep517 + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} + +NO_ARCH= yes + +.include diff --git a/www/py-dj52-django-mptt/distinfo b/www/py-dj52-django-mptt/distinfo new file mode 100644 index 000000000000..a4f142723154 --- /dev/null +++ b/www/py-dj52-django-mptt/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1743831457 +SHA256 (django_mptt-0.17.0.tar.gz) = e2dca00536450b91bdc80d8fc1454993b84307728394ae42c72947fc09574d3d +SIZE (django_mptt-0.17.0.tar.gz) = 71428 diff --git a/www/py-dj52-django-mptt/pkg-descr b/www/py-dj52-django-mptt/pkg-descr new file mode 100644 index 000000000000..bad56cabf151 --- /dev/null +++ b/www/py-dj52-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-dj52-django-prometheus/Makefile b/www/py-dj52-django-prometheus/Makefile new file mode 100644 index 000000000000..a48b4efff30b --- /dev/null +++ b/www/py-dj52-django-prometheus/Makefile @@ -0,0 +1,38 @@ +PORTNAME= django-prometheus +DISTVERSION= 2.3.1 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52- + +MAINTAINER= kai@FreeBSD.org +COMMENT= Export Django monitoring metrics for Prometheus.io +WWW= https://github.com/korfuri/django-prometheus + +LICENSE= APACHE20 + +BUILD_DEPENDS= ${PY_SETUPTOOLS} \ + ${PYTHON_PKGNAMEPREFIX}wheel>=0.40.0:devel/py-wheel@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=3.2:www/py-django52@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}prometheus-client>=0.7:net-mgmt/py-prometheus-client@${PY_FLAVOR} + +USES= python:3.10+ +USE_PYTHON= autoplist pep517 pytest + +TEST_ENV= PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} + +NO_ARCH= yes + +OPTIONS_GROUP= DATABASE CACHE +OPTIONS_GROUP_DATABASE= MYSQL PGSQL +OPTIONS_GROUP_CACHE= MEMCACHED REDIS + +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}dj52-django-redis>=4.8:www/py-dj52-django-redis@${PY_FLAVOR} + +.include diff --git a/www/py-dj52-django-prometheus/distinfo b/www/py-dj52-django-prometheus/distinfo new file mode 100644 index 000000000000..4f11977cb57e --- /dev/null +++ b/www/py-dj52-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-dj52-django-prometheus/files/patch-pyproject.toml b/www/py-dj52-django-prometheus/files/patch-pyproject.toml new file mode 100644 index 000000000000..5bf778c4f9e3 --- /dev/null +++ b/www/py-dj52-django-prometheus/files/patch-pyproject.toml @@ -0,0 +1,11 @@ +Relax version requirements of py-setuptools. + +--- pyproject.toml.orig 2024-10-06 12:58:05 UTC ++++ pyproject.toml +@@ -1,5 +1,5 @@ + [build-system] +-requires = [ "setuptools >= 67.7.2", "wheel >= 0.40.0"] ++requires = [ "setuptools", "wheel >= 0.40.0"] + build-backend = "setuptools.build_meta" + + [tool.pytest.ini_options] diff --git a/www/py-dj52-django-prometheus/files/patch-setup.py b/www/py-dj52-django-prometheus/files/patch-setup.py new file mode 100644 index 000000000000..6e28293ebe58 --- /dev/null +++ b/www/py-dj52-django-prometheus/files/patch-setup.py @@ -0,0 +1,13 @@ +Remove py-pytest-runner as build time dependency because it is deprecated and +should be no longer used. + +--- setup.py.orig 2024-10-01 12:41:04 UTC ++++ setup.py +@@ -40,7 +40,6 @@ setup( + long_description=LONG_DESCRIPTION, + long_description_content_type="text/markdown", + tests_require=["pytest", "pytest-django"], +- setup_requires=["pytest-runner"], + options={"bdist_wheel": {"universal": "1"}}, + install_requires=[ + "prometheus-client>=0.7", diff --git a/www/py-dj52-django-prometheus/pkg-descr b/www/py-dj52-django-prometheus/pkg-descr new file mode 100644 index 000000000000..0962e7b87336 --- /dev/null +++ b/www/py-dj52-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-dj52-django-redis/Makefile b/www/py-dj52-django-redis/Makefile new file mode 100644 index 000000000000..6033fc994a25 --- /dev/null +++ b/www/py-dj52-django-redis/Makefile @@ -0,0 +1,36 @@ +PORTNAME= django-redis +PORTVERSION= 5.4.0 +CATEGORIES= www databases python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52- + +MAINTAINER= sunpoet@FreeBSD.org +COMMENT= Full featured Redis cache/session backend for Django +WWW= https://github.com/jazzband/django-redis + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=3.2:www/py-django52@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}redis>=3.0.0:databases/py-redis@${PY_FLAVOR} +TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}msgpack>=0:devel/py-msgpack@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pytest-django>=0:devel/py-pytest-django@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pytest-mock>=0:devel/py-pytest-mock@${PY_FLAVOR} \ + redis-server:databases/redis + +USES= python:3.10+ +USE_PYTHON= autoplist concurrent pep517 pytest + +# Required for Python 3.11+ as the cgi module is deprecated and slated for removal in Python 3.13 +TEST_ARGS= -W ignore::DeprecationWarning +TEST_ENV= DJANGO_SETTINGS_MODULE=settings.sqlite \ + PYTHONPATH=${STAGEDIR}${PYTHON_SITELIBDIR} +TEST_WRKSRC= ${WRKSRC}/tests + +NO_ARCH= yes + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*django-redis + +.include diff --git a/www/py-dj52-django-redis/distinfo b/www/py-dj52-django-redis/distinfo new file mode 100644 index 000000000000..156f9d23ac30 --- /dev/null +++ b/www/py-dj52-django-redis/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1696432970 +SHA256 (django-redis-5.4.0.tar.gz) = 6a02abaa34b0fea8bf9b707d2c363ab6adc7409950b2db93602e6cb292818c42 +SIZE (django-redis-5.4.0.tar.gz) = 52567 diff --git a/www/py-dj52-django-redis/pkg-descr b/www/py-dj52-django-redis/pkg-descr new file mode 100644 index 000000000000..ab566f948f78 --- /dev/null +++ b/www/py-dj52-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-dj52-django-rich/Makefile b/www/py-dj52-django-rich/Makefile new file mode 100644 index 000000000000..8c7d791d94ba --- /dev/null +++ b/www/py-dj52-django-rich/Makefile @@ -0,0 +1,27 @@ +PORTNAME= django-rich +DISTVERSION= 2.0.0 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52- +DISTNAME= django_rich-${DISTVERSION} + +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}django52>=4.2:www/py-django52@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}rich>=10.0.0:textproc/py-rich@${PY_FLAVOR} + +USES= python:3.10+ +USE_PYTHON= autoplist pep517 + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} + +NO_ARCH= yes + +.include diff --git a/www/py-dj52-django-rich/distinfo b/www/py-dj52-django-rich/distinfo new file mode 100644 index 000000000000..ff93b43f1403 --- /dev/null +++ b/www/py-dj52-django-rich/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1747327116 +SHA256 (django_rich-2.0.0.tar.gz) = 3646edf7223f05b9775ec9a38ab5a33be93042fc3de3d5e31eacf84da6091913 +SIZE (django_rich-2.0.0.tar.gz) = 61448 diff --git a/www/py-dj52-django-rich/pkg-descr b/www/py-dj52-django-rich/pkg-descr new file mode 100644 index 000000000000..db029741fbb0 --- /dev/null +++ b/www/py-dj52-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 colorized outputs and nice + traceback rendering. diff --git a/www/py-dj52-django-storages/Makefile b/www/py-dj52-django-storages/Makefile new file mode 100644 index 000000000000..d42e105a875d --- /dev/null +++ b/www/py-dj52-django-storages/Makefile @@ -0,0 +1,44 @@ +PORTNAME= django-storages +DISTVERSION= 1.14.6 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52- +DISTNAME= django_storages-${DISTVERSION} + +MAINTAINER= kai@FreeBSD.org +COMMENT= Generic storages for Django +WWW= https://django-storages.readthedocs.io/en/latest/ \ + https://github.com/jschneier/django-storages + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=61.2:devel/py-setuptools@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=3.2:www/py-django52@${PY_FLAVOR} + +USES= python:3.10+ +USE_PYTHON= autoplist concurrent pep517 + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} + +NO_ARCH= yes + +# AZURE option requires newer devel/py-azure-storage-blob (not yet in the ports tree). +OPTIONS_DEFINE= DROPBOX GOOGLE LIBCLOUD S3 SFTP #AZURE +#AZURE_DESC= Azure backend +DROPBOX_DESC= Dropbox backend +GOOGLE_DESC= Google Cloud Storage backend +LIBCLOUD_DESC= Apache Libcloud backend +S3_DESC= Amazon S3 backend +SFTP_DESC= SFTP backend + +#AZURE_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}azure-core>=1.13:devel/py-azure-core@${PY_FLAVOR} \ +# ${PYTHON_PKGNAMEPREFIX}azure-storage-blob>=12:devel/py-azure-storage-blob@${PY_FLAVOR} +DROPBOX_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dropbox>=7.2.1:www/py-dropbox@${PY_FLAVOR} +GOOGLE_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}google-cloud-storage>=1.27:www/py-google-cloud-storage@${PY_FLAVOR} +LIBCLOUD_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}libcloud>=0:net/py-libcloud@${PY_FLAVOR} +S3_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}boto3>=1.4.4:www/py-boto3@${PY_FLAVOR} +SFTP_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}paramiko>=1.15:security/py-paramiko@${PY_FLAVOR} + +.include diff --git a/www/py-dj52-django-storages/distinfo b/www/py-dj52-django-storages/distinfo new file mode 100644 index 000000000000..fdf7fdd929d0 --- /dev/null +++ b/www/py-dj52-django-storages/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1744777452 +SHA256 (django_storages-1.14.6.tar.gz) = 7a25ce8f4214f69ac9c7ce87e2603887f7ae99326c316bc8d2d75375e09341c9 +SIZE (django_storages-1.14.6.tar.gz) = 87587 diff --git a/www/py-dj52-django-storages/pkg-descr b/www/py-dj52-django-storages/pkg-descr new file mode 100644 index 000000000000..9a41326622ac --- /dev/null +++ b/www/py-dj52-django-storages/pkg-descr @@ -0,0 +1,2 @@ +Generic storages for Django. Support for many storages +(S3, MogileFS, etc) in Django diff --git a/www/py-dj52-django-tables2/Makefile b/www/py-dj52-django-tables2/Makefile new file mode 100644 index 000000000000..e5826b984125 --- /dev/null +++ b/www/py-dj52-django-tables2/Makefile @@ -0,0 +1,30 @@ +PORTNAME= django-tables2 +DISTVERSION= 2.7.5 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52- +DISTNAME= django_tables2-${DISTVERSION} + +MAINTAINER= kai@FreeBSD.org +COMMENT= Table/data-grid framework for Django +WWW= https://github.com/jieter/django-tables2 + +LICENSE= BSD2CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.2:www/py-django52@${PY_FLAVOR} + +USES= python:3.10+ +USE_PYTHON= autoplist pep517 + +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 diff --git a/www/py-dj52-django-tables2/distinfo b/www/py-dj52-django-tables2/distinfo new file mode 100644 index 000000000000..f7f2d9990542 --- /dev/null +++ b/www/py-dj52-django-tables2/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1736247931 +SHA256 (django_tables2-2.7.5.tar.gz) = fb5dcaa09379cf3947598ec7e1bd5f26ed63aafdee3b23963446763bbeac37bf +SIZE (django_tables2-2.7.5.tar.gz) = 128618 diff --git a/www/py-dj52-django-tables2/pkg-descr b/www/py-dj52-django-tables2/pkg-descr new file mode 100644 index 000000000000..5b09aff2a2f2 --- /dev/null +++ b/www/py-dj52-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-dj52-django-taggit/Makefile b/www/py-dj52-django-taggit/Makefile new file mode 100644 index 000000000000..5b9ea7a0b4a9 --- /dev/null +++ b/www/py-dj52-django-taggit/Makefile @@ -0,0 +1,26 @@ +PORTNAME= django-taggit +DISTVERSION= 6.1.0 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52- +DISTNAME= django_taggit-${DISTVERSION} + +MAINTAINER= kai@FreeBSD.org +COMMENT= Reusable Django application for simple tagging +WWW= https://github.com/jazzband/django-taggit + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PY_SETUPTOOLS} \ + ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.1:www/py-django52@${PY_FLAVOR} + +USES= python:3.10+ +USE_PYTHON= autoplist pep517 + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} + +NO_ARCH= yes + +.include diff --git a/www/py-dj52-django-taggit/distinfo b/www/py-dj52-django-taggit/distinfo new file mode 100644 index 000000000000..777531f4c290 --- /dev/null +++ b/www/py-dj52-django-taggit/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1728224208 +SHA256 (django_taggit-6.1.0.tar.gz) = c4d1199e6df34125dd36db5eb0efe545b254dec3980ce5dd80e6bab3e78757c3 +SIZE (django_taggit-6.1.0.tar.gz) = 38151 diff --git a/www/py-dj52-django-taggit/pkg-descr b/www/py-dj52-django-taggit/pkg-descr new file mode 100644 index 000000000000..be15b201b3ee --- /dev/null +++ b/www/py-dj52-django-taggit/pkg-descr @@ -0,0 +1 @@ +django-taggit a simpler approach to tagging with Django. diff --git a/www/py-dj52-django-timezone-field/Makefile b/www/py-dj52-django-timezone-field/Makefile new file mode 100644 index 000000000000..e44cc4dab88a --- /dev/null +++ b/www/py-dj52-django-timezone-field/Makefile @@ -0,0 +1,25 @@ +PORTNAME= django-timezone-field +DISTVERSION= 7.1 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52- +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}django52>=3.2:www/py-django52@${PY_FLAVOR} + +USES= python:3.10+ +USE_PYTHON= autoplist pep517 + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} + +NO_ARCH= yes + +.include diff --git a/www/py-dj52-django-timezone-field/distinfo b/www/py-dj52-django-timezone-field/distinfo new file mode 100644 index 000000000000..00ee309e011a --- /dev/null +++ b/www/py-dj52-django-timezone-field/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1737194529 +SHA256 (django_timezone_field-7.1.tar.gz) = b3ef409d88a2718b566fabe10ea996f2838bc72b22d3a2900c0aa905c761380c +SIZE (django_timezone_field-7.1.tar.gz) = 13727 diff --git a/www/py-dj52-django-timezone-field/pkg-descr b/www/py-dj52-django-timezone-field/pkg-descr new file mode 100644 index 000000000000..98a3675d4d8d --- /dev/null +++ b/www/py-dj52-django-timezone-field/pkg-descr @@ -0,0 +1,2 @@ +Provides database, form, and REST framework fields for "zoneinfo" and "pytz" +timezone objects for Django. diff --git a/www/py-dj52-djangorestframework/Makefile b/www/py-dj52-djangorestframework/Makefile new file mode 100644 index 000000000000..96d316832790 --- /dev/null +++ b/www/py-dj52-djangorestframework/Makefile @@ -0,0 +1,25 @@ +PORTNAME= djangorestframework +DISTVERSION= 3.16.0 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52- + +MAINTAINER= kai@FreeBSD.org +COMMENT= Django REST framework +WWW= https://www.django-rest-framework.org/ + +LICENSE= BSD2CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE.md + +BUILD_DEPENDS= ${PY_SETUPTOOLS} \ + ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.2:www/py-django52@${PY_FLAVOR} + +USES= python:3.10+ +USE_PYTHON= autoplist pep517 + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} + +NO_ARCH= yes + +.include diff --git a/www/py-dj52-djangorestframework/distinfo b/www/py-dj52-djangorestframework/distinfo new file mode 100644 index 000000000000..c336e0e97c68 --- /dev/null +++ b/www/py-dj52-djangorestframework/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1744359953 +SHA256 (djangorestframework-3.16.0.tar.gz) = f022ff46613584de994c0c6a4aebbace5fd700555fbe9d33b865ebf173eba6c9 +SIZE (djangorestframework-3.16.0.tar.gz) = 1068408 diff --git a/www/py-dj52-djangorestframework/pkg-descr b/www/py-dj52-djangorestframework/pkg-descr new file mode 100644 index 000000000000..c8a8f49f4488 --- /dev/null +++ b/www/py-dj52-djangorestframework/pkg-descr @@ -0,0 +1,15 @@ +Django REST framework is a powerful and flexible toolkit that makes it easy to +build Web APIs. + +Some reasons you might want to use REST framework: + +* The Web browsable API is a huge usability win for your developers. + +* Authentication policies including optional packages for OAuth1a and OAuth2. + +* Serialization that supports both ORM and non-ORM data sources. + +* Customizable all the way down - just use regular function-based views if you + don't need the more powerful features. + +* Extensive documentation, and great community support. diff --git a/www/py-dj52-drf-spectacular-sidecar/Makefile b/www/py-dj52-drf-spectacular-sidecar/Makefile new file mode 100644 index 000000000000..c2a90f5f91f0 --- /dev/null +++ b/www/py-dj52-drf-spectacular-sidecar/Makefile @@ -0,0 +1,26 @@ +PORTNAME= drf-spectacular-sidecar +DISTVERSION= 2025.6.1 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52- +DISTNAME= drf_spectacular_sidecar-${DISTVERSION} + +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 + +BUILD_DEPENDS= ${PY_SETUPTOOLS} \ + ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=2.2:www/py-django52@${PY_FLAVOR} + +USES= python:3.10+ +USE_PYTHON= autoplist pep517 + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} + +NO_ARCH= yes + +.include diff --git a/www/py-dj52-drf-spectacular-sidecar/distinfo b/www/py-dj52-drf-spectacular-sidecar/distinfo new file mode 100644 index 000000000000..2ba7b8f8b212 --- /dev/null +++ b/www/py-dj52-drf-spectacular-sidecar/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1749230590 +SHA256 (drf_spectacular_sidecar-2025.6.1.tar.gz) = ee6752c73d712265a61b9e2ca6f71c3b2bd89f30f39cf9f8cda98e7f371fcbcf +SIZE (drf_spectacular_sidecar-2025.6.1.tar.gz) = 2407117 diff --git a/www/py-dj52-drf-spectacular-sidecar/pkg-descr b/www/py-dj52-drf-spectacular-sidecar/pkg-descr new file mode 100644 index 000000000000..34144682bfdc --- /dev/null +++ b/www/py-dj52-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-dj52-drf-spectacular/Makefile b/www/py-dj52-drf-spectacular/Makefile new file mode 100644 index 000000000000..0b0dff5282b8 --- /dev/null +++ b/www/py-dj52-drf-spectacular/Makefile @@ -0,0 +1,35 @@ +PORTNAME= drf-spectacular +DISTVERSION= 0.28.0 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52- +DISTNAME= drf_spectacular-${DISTVERSION} + +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}django52>=2.2:www/py-django52@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj52-djangorestframework>=3.10.3:www/py-dj52-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}pyyaml>=5.1:devel/py-pyyaml@${PY_FLAVOR} + +USES= python:3.10+ +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}dj52-drf-spectacular-sidecar>0:www/py-dj52-drf-spectacular-sidecar@${PY_FLAVOR} + +.include diff --git a/www/py-dj52-drf-spectacular/distinfo b/www/py-dj52-drf-spectacular/distinfo new file mode 100644 index 000000000000..22f12c0442aa --- /dev/null +++ b/www/py-dj52-drf-spectacular/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1733482018 +SHA256 (drf_spectacular-0.28.0.tar.gz) = 2c778a47a40ab2f5078a7c42e82baba07397bb35b074ae4680721b2805943061 +SIZE (drf_spectacular-0.28.0.tar.gz) = 237849 diff --git a/www/py-dj52-drf-spectacular/pkg-descr b/www/py-dj52-drf-spectacular/pkg-descr new file mode 100644 index 000000000000..7f053d6244dc --- /dev/null +++ b/www/py-dj52-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 diff --git a/www/py-dj52-social-auth-app-django/Makefile b/www/py-dj52-social-auth-app-django/Makefile new file mode 100644 index 000000000000..db3778e0f22b --- /dev/null +++ b/www/py-dj52-social-auth-app-django/Makefile @@ -0,0 +1,34 @@ +PORTNAME= social-auth-app-django +DISTVERSION= 5.4.3 +CATEGORIES= www security python +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52- + +MAINTAINER= kai@FreeBSD.org +COMMENT= Social Authentication and Django integration +WWW= https://github.com/python-social-auth/social-app-django + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PY_SETUPTOOLS} \ + ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=3.2:www/py-django52@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}social-auth-core>=4.4<5:security/py-social-auth-core@${PY_FLAVOR} +TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}mock>0:devel/py-mock@${PY_FLAVOR} + +USES= python:3.10+ +USE_GITHUB= yes +GH_ACCOUNT= python-social-auth +GH_PROJECT= social-app-django +USE_PYTHON= autoplist pep517 + +TEST_ENV= PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} + +NO_ARCH= yes + +do-test: + @cd ${WRKSRC} && ${SETENV} ${TEST_ENV} ${PYTHON_CMD} manage.py test -v3 + +.include diff --git a/www/py-dj52-social-auth-app-django/distinfo b/www/py-dj52-social-auth-app-django/distinfo new file mode 100644 index 000000000000..68863aa8bae5 --- /dev/null +++ b/www/py-dj52-social-auth-app-django/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1740213116 +SHA256 (python-social-auth-social-app-django-5.4.3_GH0.tar.gz) = 4dd02d76ffa390e6a2d7fe319869384c81d32c73b826eb09a10023cf66738389 +SIZE (python-social-auth-social-app-django-5.4.3_GH0.tar.gz) = 25327 diff --git a/www/py-dj52-social-auth-app-django/pkg-descr b/www/py-dj52-social-auth-app-django/pkg-descr new file mode 100644 index 000000000000..fa7d52777ed7 --- /dev/null +++ b/www/py-dj52-social-auth-app-django/pkg-descr @@ -0,0 +1,6 @@ +Python Social Auth is an easy to setup social authentication/registration +mechanism with support for several frameworks and auth providers. + +This is the Django component of the python-social-auth ecosystem, it implements +the needed functionality to integrate social-auth-core in a Django based +project. diff --git a/www/py-dj52-strawberry-graphql-django/Makefile b/www/py-dj52-strawberry-graphql-django/Makefile new file mode 100644 index 000000000000..88d95afad756 --- /dev/null +++ b/www/py-dj52-strawberry-graphql-django/Makefile @@ -0,0 +1,37 @@ +PORTNAME= strawberry-graphql-django +DISTVERSION= 0.60.0 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52- +DISTNAME= strawberry_graphql_django-${DISTVERSION} + +MAINTAINER= kai@FreeBSD.org +COMMENT= Strawberry GraphQL Django extension +WWW= https://github.com/strawberry-graphql/strawberry-django + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PY_SETUPTOOLS} \ + ${PYTHON_PKGNAMEPREFIX}poetry-core>=1.0.0:devel/py-poetry-core@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.2:www/py-django52@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}asgiref>=3.8:www/py-asgiref@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj52-strawberry-graphql>=0.264.0:devel/py-dj52-strawberry-graphql@${PY_FLAVOR} + +USES= python:3.10+ +USE_PYTHON= autoplist pep517 + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} + +NO_ARCH= yes + +OPTIONS_DEFINE= DEBUG-TOOLBAR ENUM +OPTIONS_DEFAULT= DEBUG-TOOLBAR ENUM + +DEBUG-TOOLBAR_DESC= Debug support +ENUM_DESC= Integration for Django's TextChoices/IntegerChoices enumerations + +DEBUG-TOOLBAR_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dj52-django-debug-toolbar>=3.4:www/py-dj52-django-debug-toolbar@${PY_FLAVOR} +ENUM_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dj52-django-choices-field>=2.2.2:www/py-dj52-django-choices-field@${PY_FLAVOR} + +.include diff --git a/www/py-dj52-strawberry-graphql-django/distinfo b/www/py-dj52-strawberry-graphql-django/distinfo new file mode 100644 index 000000000000..ed5dfad9d92e --- /dev/null +++ b/www/py-dj52-strawberry-graphql-django/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1749230619 +SHA256 (strawberry_graphql_django-0.60.0.tar.gz) = a5d210bd4458be298f86d8b1b8d01ce0208291b5b6b227cd0cfd97c51cf71ee8 +SIZE (strawberry_graphql_django-0.60.0.tar.gz) = 84511 diff --git a/www/py-dj52-strawberry-graphql-django/pkg-descr b/www/py-dj52-strawberry-graphql-django/pkg-descr new file mode 100644 index 000000000000..bea2083c6410 --- /dev/null +++ b/www/py-dj52-strawberry-graphql-django/pkg-descr @@ -0,0 +1,15 @@ +This package provides powerful tools to generate GraphQL types, queries, +mutations and resolvers from Django models. + +Supported Features: + +* GraphQL type generation from models +* Filtering, pagination and ordering +* Basic create, retrieve, update and delete (CRUD) types and mutations +* Basic Django auth support, current user query, login and logout mutations +* Django sync and async views +* Permission extension using django's permissioning system +* Relay support with automatic resolvers generation +* Query optimization to improve performance and avoid common pitfalls (e.g n+1) +* Debug Toolbar integration with graphiql to display metrics like SQL queries +* Unit test integration