From nobody Mon Jul 15 17:13:12 2024 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4WN80n09kwz5RK6S; Mon, 15 Jul 2024 17:13:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4WN80m5tGQz4Fm7; Mon, 15 Jul 2024 17:13:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1721063592; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KspjMitJfpOs5heM59W7xDiVFF8WTRxEd009nqtbQHg=; b=cqUTP6n8ovxtAfSLqVUnaW+XjqL0BTv1wWtHWBNfe6FYqQ8pPFTJ8qj2VRJ5yRAu1A8yXx QSxtTiPPBWftZwVc+nFOEpNtUjH3qgfwaFygZAmlYU/huflnzZS1gXnR/z7nVl6bYAj3zw L7DCXaqFD7E7jiruQK0LHb8Fn3yAuGXR7QYQf+i4bES1VbLwt5KrOkeh63RnKgncqGZsOY KKijyako3BV/vHvTVi0RQRHx/aJ0TvbkHV8swCpsHGRloCJQxVsG3tRyuzMCgpe/9KteRw n0rkDSNgUZPGkXKhhCYFUH1OMrdlxbH4dNdBmUSVgkZGnleNXKLBEsldfUlepg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1721063592; a=rsa-sha256; cv=none; b=OV4rE4D0nxrpP1RGSS8fqUN2wXf8KdkInvtTWGx5s3MChAxhglJC7dJSTSIXGmc7jbJECS yO3/nl4C0pb2WzmB1kK1A+btvhs5FMhf7L5wthZkN1FmJ46fu+gOqoIJYb6OmPUwcyOwqz mRfKPmqpbgXyNekqKgbiYNfhu5dDwNJdv1dwgcyh/0FAKjGiUaVZuMR4C2TnC9118s3Zrt 5p3YIIpBAIeeT+8FHLBADWarsyCxz3ZHao3qE3b1w0OwS/VS8+/N5V+7BXfg050uAPyQsv tK0C2r4ahhQWAHShq60Lz9Fwgpu0tfJp7oghxnJMXP9PVhFGgDVXX5+Pw/YPPQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1721063592; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KspjMitJfpOs5heM59W7xDiVFF8WTRxEd009nqtbQHg=; b=Lsf9yyUIt4aaId9HAfres39RF8Ofr2r8w/2rUZ8XlR3TVCZuI5Z6jNAMg834ce3sdiVfS4 ztK55r36R7o3+4u16FVIZBuWvVCMbxs0f3u/hHUYvB7NHdy4qxS2ULxp8qW7mWBQOcdrAl EnG4HeML/4Us4is83bwl9z5jrS1K0uEmc+sMLnuyFPezP1Lal2RS66UsHEE5YWtF1n8mEz jZ+56tjU3hR87hHMmDnkaBZcdq76PQDPQV1lu2dHdJEW5D5QCWKz3zzoKcPGayActI72gw kyxLmMuH4r9FKkjjbteaKnnDI52Xsqr0FFzfHt+qwYqxeL5DcbZK8UP51NpnoA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4WN80m5Kmkz11x7; Mon, 15 Jul 2024 17:13:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 46FHDCr5035639; Mon, 15 Jul 2024 17:13:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 46FHDCGo035635; Mon, 15 Jul 2024 17:13:12 GMT (envelope-from git) Date: Mon, 15 Jul 2024 17:13:12 GMT Message-Id: <202407151713.46FHDCGo035635@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Kai Knoblich Subject: git: 9dcfcfc7df21 - main - net-mgmt/netbox: Create Django 5.0 consumers List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-main@freebsd.org Sender: owner-dev-commits-ports-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kai X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9dcfcfc7df21a2c7863fdc512398d4d96a91e41b Auto-Submitted: auto-generated The branch main has been updated by kai: URL: https://cgit.FreeBSD.org/ports/commit/?id=9dcfcfc7df21a2c7863fdc512398d4d96a91e41b commit 9dcfcfc7df21a2c7863fdc512398d4d96a91e41b Author: Kai Knoblich AuthorDate: 2024-07-15 16:53:11 +0000 Commit: Kai Knoblich CommitDate: 2024-07-15 16:58:00 +0000 net-mgmt/netbox: Create Django 5.0 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.0 release possible because it requires Django 5.0. All of the ports listed below were created on the basis of their respective original ports: - devel/py-dj50-django-rq - devel/py-dj50-strawberry-graphql - www/py-dj50-django-auth-ldap - www/py-dj50-django-choices-field - www/py-dj50-django-cors-headers - www/py-dj50-django-debug-toolbar - www/py-dj50-django-filter - www/py-dj50-django-htmx - www/py-dj50-django-graphiql-debug-toolbar - www/py-dj50-django-js-asset - www/py-dj50-django-mptt - www/py-dj50-django-prometheus - www/py-dj50-django-redis - www/py-dj50-django-rich - www/py-dj50-django-tables2 - www/py-dj50-django-taggit - www/py-dj50-django-timezone-field - www/py-dj50-djangorestframework - www/py-dj50-drf-spectacular - www/py-dj50-drf-spectacular-sidecar - www/py-dj50-strawberry-graphql-django Happy to pass the following ports to its maintainer who already maintain the Django 4.2 variants of them: - devel/py-dj50-django-rq - www/py-dj50-django-debug-toolbar - www/py-dj50-django-redis --- devel/Makefile | 2 + devel/py-dj50-django-rq/Makefile | 34 +++++++++++ devel/py-dj50-django-rq/distinfo | 3 + devel/py-dj50-django-rq/pkg-descr | 3 + devel/py-dj50-strawberry-graphql/Makefile | 71 ++++++++++++++++++++++ devel/py-dj50-strawberry-graphql/distinfo | 3 + .../files/patch-pyproject.toml | 15 +++++ devel/py-dj50-strawberry-graphql/pkg-descr | 23 +++++++ www/Makefile | 18 ++++++ www/py-dj50-django-auth-ldap/Makefile | 39 ++++++++++++ www/py-dj50-django-auth-ldap/distinfo | 3 + .../files/patch-docs_conf.py | 20 ++++++ www/py-dj50-django-auth-ldap/pkg-descr | 4 ++ www/py-dj50-django-choices-field/Makefile | 26 ++++++++ www/py-dj50-django-choices-field/distinfo | 3 + www/py-dj50-django-choices-field/pkg-descr | 2 + www/py-dj50-django-cors-headers/Makefile | 27 ++++++++ www/py-dj50-django-cors-headers/distinfo | 3 + www/py-dj50-django-cors-headers/pkg-descr | 2 + www/py-dj50-django-debug-toolbar/Makefile | 29 +++++++++ www/py-dj50-django-debug-toolbar/distinfo | 3 + www/py-dj50-django-debug-toolbar/pkg-descr | 3 + www/py-dj50-django-filter/Makefile | 24 ++++++++ www/py-dj50-django-filter/distinfo | 3 + www/py-dj50-django-filter/pkg-descr | 2 + www/py-dj50-django-htmx/Makefile | 27 ++++++++ www/py-dj50-django-htmx/distinfo | 3 + www/py-dj50-django-htmx/pkg-descr | 3 + www/py-dj50-django-js-asset/Makefile | 25 ++++++++ www/py-dj50-django-js-asset/distinfo | 3 + www/py-dj50-django-js-asset/pkg-descr | 2 + www/py-dj50-django-mptt/Makefile | 26 ++++++++ www/py-dj50-django-mptt/distinfo | 3 + www/py-dj50-django-mptt/pkg-descr | 2 + www/py-dj50-django-prometheus/Makefile | 37 +++++++++++ www/py-dj50-django-prometheus/distinfo | 3 + www/py-dj50-django-prometheus/pkg-descr | 14 +++++ www/py-dj50-django-redis/Makefile | 33 ++++++++++ www/py-dj50-django-redis/distinfo | 3 + www/py-dj50-django-redis/pkg-descr | 15 +++++ www/py-dj50-django-rich/Makefile | 27 ++++++++ www/py-dj50-django-rich/distinfo | 3 + www/py-dj50-django-rich/pkg-descr | 11 ++++ www/py-dj50-django-tables2/Makefile | 28 +++++++++ www/py-dj50-django-tables2/distinfo | 3 + www/py-dj50-django-tables2/pkg-descr | 3 + www/py-dj50-django-taggit/Makefile | 27 ++++++++ www/py-dj50-django-taggit/distinfo | 3 + www/py-dj50-django-taggit/pkg-descr | 1 + www/py-dj50-django-timezone-field/Makefile | 25 ++++++++ www/py-dj50-django-timezone-field/distinfo | 3 + www/py-dj50-django-timezone-field/pkg-descr | 2 + www/py-dj50-djangorestframework/Makefile | 23 +++++++ www/py-dj50-djangorestframework/distinfo | 3 + www/py-dj50-djangorestframework/pkg-descr | 2 + www/py-dj50-drf-spectacular-sidecar/Makefile | 24 ++++++++ www/py-dj50-drf-spectacular-sidecar/distinfo | 3 + www/py-dj50-drf-spectacular-sidecar/pkg-descr | 5 ++ www/py-dj50-drf-spectacular/Makefile | 34 +++++++++++ www/py-dj50-drf-spectacular/distinfo | 3 + www/py-dj50-drf-spectacular/pkg-descr | 24 ++++++++ www/py-dj50-strawberry-graphql-django/Makefile | 37 +++++++++++ www/py-dj50-strawberry-graphql-django/distinfo | 3 + www/py-dj50-strawberry-graphql-django/pkg-descr | 15 +++++ 64 files changed, 876 insertions(+) diff --git a/devel/Makefile b/devel/Makefile index 7e9ee1179f55..3203566a1cf9 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -4696,6 +4696,8 @@ SUBDIR += py-diskcache SUBDIR += py-distlib SUBDIR += py-distributed + SUBDIR += py-dj50-django-rq + SUBDIR += py-dj50-strawberry-graphql SUBDIR += py-django-rq SUBDIR += py-dm-tree SUBDIR += py-docformatter diff --git a/devel/py-dj50-django-rq/Makefile b/devel/py-dj50-django-rq/Makefile new file mode 100644 index 000000000000..d2a1bf54ebf5 --- /dev/null +++ b/devel/py-dj50-django-rq/Makefile @@ -0,0 +1,34 @@ +PORTNAME= django-rq +PORTVERSION= 2.10.2 +CATEGORIES= devel python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj50- + +MAINTAINER= kai@FreeBSD.org +COMMENT= Provides Django integration for RQ (Redis Queue) +WWW= https://github.com/rq/django-rq + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE.txt + +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django50>=3.2:www/py-django50@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}redis>=3:databases/py-redis@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}rq>=1.14:devel/py-rq@${PY_FLAVOR} +TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dj50-django-redis>0:www/py-dj50-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 distutils + +TEST_ENV= PYTHONPATH="." + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} + +NO_ARCH= yes + +# 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-dj50-django-rq/distinfo b/devel/py-dj50-django-rq/distinfo new file mode 100644 index 000000000000..5c169838309e --- /dev/null +++ b/devel/py-dj50-django-rq/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1712292732 +SHA256 (django-rq-2.10.2.tar.gz) = d1690b6a409934a0ea23c208ccb00d69477899f8edc61106ce5395c19dcdfb1e +SIZE (django-rq-2.10.2.tar.gz) = 49744 diff --git a/devel/py-dj50-django-rq/pkg-descr b/devel/py-dj50-django-rq/pkg-descr new file mode 100644 index 000000000000..85e24c643a23 --- /dev/null +++ b/devel/py-dj50-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-dj50-strawberry-graphql/Makefile b/devel/py-dj50-strawberry-graphql/Makefile new file mode 100644 index 000000000000..7c741c9c0e18 --- /dev/null +++ b/devel/py-dj50-strawberry-graphql/Makefile @@ -0,0 +1,71 @@ +PORTNAME= strawberry-graphql +DISTVERSION= 0.235.2 +CATEGORIES= devel python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj50- +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>=0.12.0: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: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 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}channels>=3.0.5:www/py-channels@${PY_FLAVOR} +CLI_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}libcst>=0.4.7: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>=0.4.7: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} +DEBUG_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}libcst>=0.4.7:devel/py-libcst@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}rich>=12.0.0:textproc/py-rich@${PY_FLAVOR} +DJANGO_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}asgiref>=3.2:www/py-asgiref@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}django50>=3.2:www/py-django50@${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-dj50-strawberry-graphql/distinfo b/devel/py-dj50-strawberry-graphql/distinfo new file mode 100644 index 000000000000..395fa016fc28 --- /dev/null +++ b/devel/py-dj50-strawberry-graphql/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1720616558 +SHA256 (strawberry_graphql-0.235.2.tar.gz) = 5b8abc8ea970eac0ee924edea9b4792defc298231e373467558853b8ff22b27c +SIZE (strawberry_graphql-0.235.2.tar.gz) = 202145 diff --git a/devel/py-dj50-strawberry-graphql/files/patch-pyproject.toml b/devel/py-dj50-strawberry-graphql/files/patch-pyproject.toml new file mode 100644 index 000000000000..b6623c4bd812 --- /dev/null +++ b/devel/py-dj50-strawberry-graphql/files/patch-pyproject.toml @@ -0,0 +1,15 @@ +Use the more lightweight build system "poetry-core". + +--- pyproject.toml.orig 2024-03-24 18:49:43 UTC ++++ pyproject.toml +@@ -30,8 +30,8 @@ include = ["strawberry/py.typed"] + "Sponsor on Open Collective" = "https://opencollective.com/strawberry-graphql" + + [build-system] +-requires = ["poetry>=0.12"] +-build-backend = "poetry.masonry.api" ++requires = ["poetry-core>=0.12"] ++build-backend = "poetry.core.masonry.api" + + [tool.poetry.dependencies] + python = "^3.8" diff --git a/devel/py-dj50-strawberry-graphql/pkg-descr b/devel/py-dj50-strawberry-graphql/pkg-descr new file mode 100644 index 000000000000..ea25df49f06d --- /dev/null +++ b/devel/py-dj50-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 4ff62a8605ae..f6cc8124bfe1 100644 --- a/www/Makefile +++ b/www/Makefile @@ -1477,6 +1477,24 @@ SUBDIR += py-cssutils SUBDIR += py-daphne SUBDIR += py-dj-database-url + SUBDIR += py-dj50-django-auth-ldap + SUBDIR += py-dj50-django-choices-field + SUBDIR += py-dj50-django-cors-headers + SUBDIR += py-dj50-django-debug-toolbar + SUBDIR += py-dj50-django-filter + SUBDIR += py-dj50-django-htmx + SUBDIR += py-dj50-django-js-asset + SUBDIR += py-dj50-django-mptt + SUBDIR += py-dj50-django-prometheus + SUBDIR += py-dj50-django-redis + SUBDIR += py-dj50-django-rich + SUBDIR += py-dj50-django-tables2 + SUBDIR += py-dj50-django-taggit + SUBDIR += py-dj50-django-timezone-field + SUBDIR += py-dj50-djangorestframework + SUBDIR += py-dj50-drf-spectacular + SUBDIR += py-dj50-drf-spectacular-sidecar + SUBDIR += py-dj50-strawberry-graphql-django SUBDIR += py-django-admin-rangefilter SUBDIR += py-django-advanced-filters SUBDIR += py-django-allauth diff --git a/www/py-dj50-django-auth-ldap/Makefile b/www/py-dj50-django-auth-ldap/Makefile new file mode 100644 index 000000000000..3e904956c1a9 --- /dev/null +++ b/www/py-dj50-django-auth-ldap/Makefile @@ -0,0 +1,39 @@ +PORTNAME= django-auth-ldap +PORTVERSION= 4.8.0 +CATEGORIES= www security python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj50- + +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}django50>=3.2:www/py-django50@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}python-ldap>=3.1:net/py-python-ldap@${PY_FLAVOR} + +USES= python:3.10+ +USE_PYTHON= autoplist concurrent pep517 + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} + +NO_ARCH= yes +PORTDOCS= * +OPTIONS_DEFINE= DOCS +DOCS_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinx>=0,1:textproc/py-sphinx@${PY_FLAVOR} + +post-build-DOCS-on: + ${LOCALBASE}/bin/sphinx-build-${PYTHON_VER} -d ${WRKDIR} -b html ${WRKSRC}/docs ${WRKSRC}/build/sphinx/html + +post-install-DOCS-on: + @${MKDIR} ${STAGEDIR}${DOCSDIR} + (cd ${WRKSRC}/build/sphinx/html && \ + ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} \ + "! -name .buildinfo -and ! -name objects.inv") + +.include diff --git a/www/py-dj50-django-auth-ldap/distinfo b/www/py-dj50-django-auth-ldap/distinfo new file mode 100644 index 000000000000..d649b74341cb --- /dev/null +++ b/www/py-dj50-django-auth-ldap/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1712323264 +SHA256 (django-auth-ldap-4.8.0.tar.gz) = 604250938ddc9fda619f247c7a59b0b2f06e53a7d3f46a156f28aa30dd71a738 +SIZE (django-auth-ldap-4.8.0.tar.gz) = 53906 diff --git a/www/py-dj50-django-auth-ldap/files/patch-docs_conf.py b/www/py-dj50-django-auth-ldap/files/patch-docs_conf.py new file mode 100644 index 000000000000..d41916245ebc --- /dev/null +++ b/www/py-dj50-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-dj50-django-auth-ldap/pkg-descr b/www/py-dj50-django-auth-ldap/pkg-descr new file mode 100644 index 000000000000..390903dba8ac --- /dev/null +++ b/www/py-dj50-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-dj50-django-choices-field/Makefile b/www/py-dj50-django-choices-field/Makefile new file mode 100644 index 000000000000..f4deeb90035c --- /dev/null +++ b/www/py-dj50-django-choices-field/Makefile @@ -0,0 +1,26 @@ +PORTNAME= django-choices-field +DISTVERSION= 2.3.0 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj50- +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}django50>=3.2:www/py-django50@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.0.0:devel/py-typing-extensions@${PY_FLAVOR} + +USES= python:3.10+ +USE_PYTHON= autoplist pep517 + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} + +NO_ARCH= yes + +.include diff --git a/www/py-dj50-django-choices-field/distinfo b/www/py-dj50-django-choices-field/distinfo new file mode 100644 index 000000000000..7f61f9ac7dde --- /dev/null +++ b/www/py-dj50-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-dj50-django-choices-field/pkg-descr b/www/py-dj50-django-choices-field/pkg-descr new file mode 100644 index 000000000000..3a855539fca9 --- /dev/null +++ b/www/py-dj50-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-dj50-django-cors-headers/Makefile b/www/py-dj50-django-cors-headers/Makefile new file mode 100644 index 000000000000..dd5f8e8801e2 --- /dev/null +++ b/www/py-dj50-django-cors-headers/Makefile @@ -0,0 +1,27 @@ +PORTNAME= django-cors-headers +PORTVERSION= 4.4.0 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj50- +DISTNAME= django_cors_headers-${PORTVERSION} + +MAINTAINER= kai@FreeBSD.org +COMMENT= Handles server headers required for Cross-Origin Resource Sharing +WWW= https://github.com/adamchainz/django-cors-headers + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PY_SETUPTOOLS} \ + ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django50>=3.2:www/py-django50@${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-dj50-django-cors-headers/distinfo b/www/py-dj50-django-cors-headers/distinfo new file mode 100644 index 000000000000..bcb902d93e77 --- /dev/null +++ b/www/py-dj50-django-cors-headers/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1719292306 +SHA256 (django_cors_headers-4.4.0.tar.gz) = 92cf4633e22af67a230a1456cb1b7a02bb213d6536d2dcb2a4a24092ea9cebc2 +SIZE (django_cors_headers-4.4.0.tar.gz) = 21151 diff --git a/www/py-dj50-django-cors-headers/pkg-descr b/www/py-dj50-django-cors-headers/pkg-descr new file mode 100644 index 000000000000..9ba1bc6bd1a8 --- /dev/null +++ b/www/py-dj50-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-dj50-django-debug-toolbar/Makefile b/www/py-dj50-django-debug-toolbar/Makefile new file mode 100644 index 000000000000..99dfbe060d68 --- /dev/null +++ b/www/py-dj50-django-debug-toolbar/Makefile @@ -0,0 +1,29 @@ +PORTNAME= django-debug-toolbar +PORTVERSION= 4.3.0 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj50- +DISTNAME= django_debug_toolbar-${PORTVERSION} + +MAINTAINER= kai@FreeBSD.org +COMMENT= Configurable set of panels to display debug information +WWW= https://github.com/jazzband/django-debug-toolbar + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django50>=3.2.4:www/py-django50@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}sqlparse>=0.2.0:databases/py-sqlparse@${PY_FLAVOR} + +USES= python:3.10+ +USE_PYTHON= autoplist concurrent pep517 + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} + +NO_ARCH= yes + +# Newer versions of py-django-debug-toolbar have an issue with DNS resolving +PORTSCOUT= ignore:1 + +.include diff --git a/www/py-dj50-django-debug-toolbar/distinfo b/www/py-dj50-django-debug-toolbar/distinfo new file mode 100644 index 000000000000..bb62a41f44fd --- /dev/null +++ b/www/py-dj50-django-debug-toolbar/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1719292365 +SHA256 (django_debug_toolbar-4.3.0.tar.gz) = 0b0dddee5ea29b9cb678593bc0d7a6d76b21d7799cb68e091a2148341a80f3c4 +SIZE (django_debug_toolbar-4.3.0.tar.gz) = 261173 diff --git a/www/py-dj50-django-debug-toolbar/pkg-descr b/www/py-dj50-django-debug-toolbar/pkg-descr new file mode 100644 index 000000000000..e62114e4b61f --- /dev/null +++ b/www/py-dj50-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-dj50-django-filter/Makefile b/www/py-dj50-django-filter/Makefile new file mode 100644 index 000000000000..974dc075902f --- /dev/null +++ b/www/py-dj50-django-filter/Makefile @@ -0,0 +1,24 @@ +PORTNAME= django-filter +DISTVERSION= 24.2 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj50- + +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}django50>=4.2:www/py-django50@${PY_FLAVOR} + +USES= python:3.10+ +USE_PYTHON= autoplist pep517 + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} + +NO_ARCH= yes + +.include diff --git a/www/py-dj50-django-filter/distinfo b/www/py-dj50-django-filter/distinfo new file mode 100644 index 000000000000..2570d9e35708 --- /dev/null +++ b/www/py-dj50-django-filter/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1712382215 +SHA256 (django-filter-24.2.tar.gz) = 48e5fc1da3ccd6ca0d5f9bb550973518ce977a4edde9d2a8a154a7f4f0b9f96e +SIZE (django-filter-24.2.tar.gz) = 142937 diff --git a/www/py-dj50-django-filter/pkg-descr b/www/py-dj50-django-filter/pkg-descr new file mode 100644 index 000000000000..089f799caa3e --- /dev/null +++ b/www/py-dj50-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-dj50-django-htmx/Makefile b/www/py-dj50-django-htmx/Makefile new file mode 100644 index 000000000000..5e8cd08c35cc --- /dev/null +++ b/www/py-dj50-django-htmx/Makefile @@ -0,0 +1,27 @@ +PORTNAME= django-htmx +DISTVERSION= 1.18.0 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj50- +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}django50>=3.2:www/py-django50@${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-dj50-django-htmx/distinfo b/www/py-dj50-django-htmx/distinfo new file mode 100644 index 000000000000..8b2a823f742b --- /dev/null +++ b/www/py-dj50-django-htmx/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1719292408 +SHA256 (django_htmx-1.18.0.tar.gz) = db8a0cc15bcd0f7ae929bcb9108d9e6be228843092aca7956d977c31c4d95aae +SIZE (django_htmx-1.18.0.tar.gz) = 9717 diff --git a/www/py-dj50-django-htmx/pkg-descr b/www/py-dj50-django-htmx/pkg-descr new file mode 100644 index 000000000000..9b84019de4a7 --- /dev/null +++ b/www/py-dj50-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-dj50-django-js-asset/Makefile b/www/py-dj50-django-js-asset/Makefile new file mode 100644 index 000000000000..3f71dbdfad5d --- /dev/null +++ b/www/py-dj50-django-js-asset/Makefile @@ -0,0 +1,25 @@ +PORTNAME= django-js-asset +DISTVERSION= 2.2.0 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj50- +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}django50>=3.2:www/py-django50@${PY_FLAVOR} + +USES= python:3.10+ +USE_PYTHON= autoplist pep517 + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} + +NO_ARCH= yes + +.include diff --git a/www/py-dj50-django-js-asset/distinfo b/www/py-dj50-django-js-asset/distinfo new file mode 100644 index 000000000000..177df25ec846 --- /dev/null +++ b/www/py-dj50-django-js-asset/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1702633024 +SHA256 (django_js_asset-2.2.0.tar.gz) = 0c57a82cae2317e83951d956110ce847f58ff0cdc24e314dbc18b35033917e94 +SIZE (django_js_asset-2.2.0.tar.gz) = 7904 diff --git a/www/py-dj50-django-js-asset/pkg-descr b/www/py-dj50-django-js-asset/pkg-descr new file mode 100644 index 000000000000..99b04e1534c9 --- /dev/null +++ b/www/py-dj50-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-dj50-django-mptt/Makefile b/www/py-dj50-django-mptt/Makefile new file mode 100644 index 000000000000..499320b4735f --- /dev/null +++ b/www/py-dj50-django-mptt/Makefile @@ -0,0 +1,26 @@ +PORTNAME= django-mptt +PORTVERSION= 0.16.0 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj50- +DISTNAME= django_mptt-${PORTVERSION} + +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}django50>=3.2:www/py-django50@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj50-django-js-asset>0:www/py-dj50-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-dj50-django-mptt/distinfo b/www/py-dj50-django-mptt/distinfo new file mode 100644 index 000000000000..736c7dc40fa6 --- /dev/null +++ b/www/py-dj50-django-mptt/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1712382472 +SHA256 (django_mptt-0.16.0.tar.gz) = 56c9606bf0b329b5f5afd55dd8bfd073612ea1d5999b10903b09de62bee84c8e +SIZE (django_mptt-0.16.0.tar.gz) = 69886 diff --git a/www/py-dj50-django-mptt/pkg-descr b/www/py-dj50-django-mptt/pkg-descr new file mode 100644 index 000000000000..bad56cabf151 --- /dev/null +++ b/www/py-dj50-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-dj50-django-prometheus/Makefile b/www/py-dj50-django-prometheus/Makefile new file mode 100644 index 000000000000..e011be6d8d23 --- /dev/null +++ b/www/py-dj50-django-prometheus/Makefile @@ -0,0 +1,37 @@ +PORTNAME= django-prometheus +PORTVERSION= 2.3.1 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj50- + +MAINTAINER= kai@FreeBSD.org +COMMENT= Export Django monitoring metrics for Prometheus.io +WWW= https://github.com/korfuri/django-prometheus + +LICENSE= APACHE20 + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest-runner>0:devel/py-pytest-runner@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django50>=3.2:www/py-django50@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}prometheus-client>=0.7:net-mgmt/py-prometheus-client@${PY_FLAVOR} + +USES= python:3.10+ +USE_PYTHON= autoplist distutils pytest + +TEST_ENV= PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} + +NO_ARCH= yes + +OPTIONS_GROUP= DATABASE CACHE +OPTIONS_GROUP_CACHE= MEMCACHED REDIS +OPTIONS_GROUP_DATABASE= MYSQL PGSQL + +MEMCACHED_DESC= Memcached distributed memory caching support + +MEMCACHED_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}python-memcached>=0:databases/py-python-memcached@${PY_FLAVOR} +MYSQL_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}mysqlclient>=0:databases/py-mysqlclient@${PY_FLAVOR} +PGSQL_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}psycopg2>=0:databases/py-psycopg2@${PY_FLAVOR} +REDIS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dj50-django-redis>=4.8:www/py-dj50-django-redis@${PY_FLAVOR} + +.include diff --git a/www/py-dj50-django-prometheus/distinfo b/www/py-dj50-django-prometheus/distinfo new file mode 100644 index 000000000000..4f11977cb57e --- /dev/null +++ b/www/py-dj50-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-dj50-django-prometheus/pkg-descr b/www/py-dj50-django-prometheus/pkg-descr new file mode 100644 index 000000000000..0962e7b87336 --- /dev/null +++ b/www/py-dj50-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-dj50-django-redis/Makefile b/www/py-dj50-django-redis/Makefile new file mode 100644 index 000000000000..a745ce1bb942 --- /dev/null +++ b/www/py-dj50-django-redis/Makefile @@ -0,0 +1,33 @@ +PORTNAME= django-redis +PORTVERSION= 5.4.0 +CATEGORIES= www databases python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj50- + +MAINTAINER= kai@FreeBSD.org +COMMENT= Full featured Redis cache/session backend for Django +WWW= https://github.com/jazzband/django-redis + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE + +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django50>=3.2:www/py-django50@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}redis>=3: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 distutils pytest + +TEST_ENV= DJANGO_SETTINGS_MODULE=settings.sqlite \ + PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} + +CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME} + +NO_ARCH= yes + +TEST_WRKSRC= ${WRKSRC}/tests + +.include diff --git a/www/py-dj50-django-redis/distinfo b/www/py-dj50-django-redis/distinfo new file mode 100644 index 000000000000..ef02bb27e20d --- /dev/null +++ b/www/py-dj50-django-redis/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1698348853 +SHA256 (django-redis-5.4.0.tar.gz) = 6a02abaa34b0fea8bf9b707d2c363ab6adc7409950b2db93602e6cb292818c42 +SIZE (django-redis-5.4.0.tar.gz) = 52567 diff --git a/www/py-dj50-django-redis/pkg-descr b/www/py-dj50-django-redis/pkg-descr new file mode 100644 index 000000000000..ab566f948f78 --- /dev/null +++ b/www/py-dj50-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-dj50-django-rich/Makefile b/www/py-dj50-django-rich/Makefile new file mode 100644 index 000000000000..a5bf0654cdf5 --- /dev/null +++ b/www/py-dj50-django-rich/Makefile @@ -0,0 +1,27 @@ +PORTNAME= django-rich +PORTVERSION= 1.9.0 +CATEGORIES= www python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj50- +DISTNAME= django_rich-${PORTVERSION} + +MAINTAINER= kai@FreeBSD.org +COMMENT= Extensions for using Rich with Django +WWW= https://github.com/adamchainz/django-rich + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PY_SETUPTOOLS} \ + ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django50>=3.2:www/py-django50@${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-dj50-django-rich/distinfo b/www/py-dj50-django-rich/distinfo new file mode 100644 index 000000000000..a11239e0ca48 --- /dev/null +++ b/www/py-dj50-django-rich/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1719292487 +SHA256 (django_rich-1.9.0.tar.gz) = 1f8970ac28df5f181a03222559b5d2cf462ba1408a582e7bddbf1956bc4ee643 +SIZE (django_rich-1.9.0.tar.gz) = 59031 diff --git a/www/py-dj50-django-rich/pkg-descr b/www/py-dj50-django-rich/pkg-descr new file mode 100644 index 000000000000..694881e2c958 --- /dev/null +++ b/www/py-dj50-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 *** 402 LINES SKIPPED ***