summaryrefslogtreecommitdiff
path: root/www/py-dj52-django-prometheus
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--www/py-dj52-django-prometheus/Makefile38
-rw-r--r--www/py-dj52-django-prometheus/distinfo3
-rw-r--r--www/py-dj52-django-prometheus/files/patch-pyproject.toml11
-rw-r--r--www/py-dj52-django-prometheus/files/patch-setup.py13
-rw-r--r--www/py-dj52-django-prometheus/pkg-descr14
5 files changed, 79 insertions, 0 deletions
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 <bsd.port.mk>
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.