git: d025e5c68e7e - main - databases/py-databases: add port: Async database support for Python
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 30 Dec 2021 02:59:07 UTC
The branch main has been updated by tagattie:
URL: https://cgit.FreeBSD.org/ports/commit/?id=d025e5c68e7e9a9634fc8f2dc3d7ba129c148d20
commit d025e5c68e7e9a9634fc8f2dc3d7ba129c148d20
Author: Goran Mekić <meka@tilda.center>
AuthorDate: 2021-12-30 02:19:13 +0000
Commit: Hiroki Tagato <tagattie@FreeBSD.org>
CommitDate: 2021-12-30 02:58:27 +0000
databases/py-databases: add port: Async database support for Python
Databases gives you simple asyncio support for a range of databases.
It allows you to make queries using the powerful SQLAlchemy Core expression
language, and provides support for PostgreSQL, MySQL, and SQLite.
Databases is suitable for integrating against any async Web framework, such as
Starlette, Sanic, Responder, Quart, aiohttp, Tornado, or FastAPI.
WWW: https://github.com/encode/databases
PR: 257313
Reported by: Goran Mekić <meka@tilda.center> (new maintainer)
Reviewed by: koobs
---
databases/Makefile | 1 +
databases/py-databases/Makefile | 51 +++++++++++++++++++++++++++++
databases/py-databases/distinfo | 3 ++
databases/py-databases/files/patch-setup.py | 11 +++++++
databases/py-databases/pkg-descr | 9 +++++
5 files changed, 75 insertions(+)
diff --git a/databases/Makefile b/databases/Makefile
index 8243c1fa738f..d36d4dea764e 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -775,6 +775,7 @@
SUBDIR += py-cassandra-driver
SUBDIR += py-caterva
SUBDIR += py-couchdb
+ SUBDIR += py-databases
SUBDIR += py-dbf
SUBDIR += py-dbutils
SUBDIR += py-fakeredis
diff --git a/databases/py-databases/Makefile b/databases/py-databases/Makefile
new file mode 100644
index 000000000000..376f5dbac05a
--- /dev/null
+++ b/databases/py-databases/Makefile
@@ -0,0 +1,51 @@
+PORTNAME= databases
+DISTVERSION= 0.5.3
+CATEGORIES= databases python
+MASTER_SITES= CHEESESHOP
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= meka@tilda.center
+COMMENT= Async database support for Python
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE.md
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlalchemy14>=0:databases/py-sqlalchemy14@${PY_FLAVOR}
+TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}aiomysql>0:databases/py-aiomysql@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}aiopg>0:databases/py-aiopg@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}async_timeout>0:devel/py-async_timeout@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}asyncpg>0:databases/py-asyncpg@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest>=0:devel/py-pytest@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}starlette>=0:www/py-starlette@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}typing-extensions>0:devel/py-typing-extensions@${PY_FLAVOR}
+
+USES= python:3.6+
+USE_PYTHON= autoplist concurrent distutils
+
+# USE_GITHUB= yes
+# GH_ACCOUNT= encode
+
+NO_ARCH= yes
+
+OPTIONS_GROUP= DATABASES
+OPTIONS_GROUP_DATABASES= MYSQL PGSQL SQLITE
+OPTIONS_DEFAULT= SQLITE
+DATABASES_DESC= Database Support
+
+MYSQL_USES= mysql
+MYSQL_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}aiomysql>0:databases/py-aiomysql@${PY_FLAVOR}
+PGSQL_USES= pgsql
+PGSQL_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}aiopg>0:databases/py-aiopg@${PY_FLAVOR}
+SQLITE_USES= sqlite
+SQLITE_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}aiosqlite>0:databases/py-aiosqlite@${PY_FLAVOR}
+
+# do-test:
+# cd ${WRKSRC} && ${SETENV} ${TEST_ENV} TEST_DATABASE_URLS="sqlite:///testsuite" ${PYTHON_CMD} -m pytest -v -rs -o addopts=
+
+.include <bsd.port.pre.mk>
+
+.if ${PYTHON_REL} < 30700
+RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}aiocontextvars>=0:devel/py-aiocontextvars@${PY_FLAVOR}
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/databases/py-databases/distinfo b/databases/py-databases/distinfo
new file mode 100644
index 000000000000..c4eb89faba27
--- /dev/null
+++ b/databases/py-databases/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1640769505
+SHA256 (databases-0.5.3.tar.gz) = b69d74ee0b47fa30bb6e76db0c58da998e973393259d29215d8fb29352162bd6
+SIZE (databases-0.5.3.tar.gz) = 15152
diff --git a/databases/py-databases/files/patch-setup.py b/databases/py-databases/files/patch-setup.py
new file mode 100644
index 000000000000..2e6e2f595899
--- /dev/null
+++ b/databases/py-databases/files/patch-setup.py
@@ -0,0 +1,11 @@
+--- setup.py.orig 2021-09-05 21:12:23 UTC
++++ setup.py
+@@ -47,7 +47,7 @@ setup(
+ author_email="tom@tomchristie.com",
+ packages=get_packages("databases"),
+ package_data={"databases": ["py.typed"]},
+- data_files=[("", ["LICENSE.md"])],
++ # data_files=[("", ["LICENSE.md"])],
+ install_requires=['sqlalchemy>=1.4,<1.5', 'aiocontextvars;python_version<"3.7"'],
+ extras_require={
+ "postgresql": ["asyncpg"],
diff --git a/databases/py-databases/pkg-descr b/databases/py-databases/pkg-descr
new file mode 100644
index 000000000000..d02c2a8a5026
--- /dev/null
+++ b/databases/py-databases/pkg-descr
@@ -0,0 +1,9 @@
+Databases gives you simple asyncio support for a range of databases.
+
+It allows you to make queries using the powerful SQLAlchemy Core expression
+language, and provides support for PostgreSQL, MySQL, and SQLite.
+
+Databases is suitable for integrating against any async Web framework, such as
+Starlette, Sanic, Responder, Quart, aiohttp, Tornado, or FastAPI.
+
+WWW: https://github.com/encode/databases