summaryrefslogtreecommitdiff
path: root/dev-python/sqlalchemy
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/sqlalchemy')
-rw-r--r--dev-python/sqlalchemy/Manifest2
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-2.0.33.ebuild109
2 files changed, 111 insertions, 0 deletions
diff --git a/dev-python/sqlalchemy/Manifest b/dev-python/sqlalchemy/Manifest
index ba2747f36630..efc1a55dbffe 100644
--- a/dev-python/sqlalchemy/Manifest
+++ b/dev-python/sqlalchemy/Manifest
@@ -1,5 +1,7 @@
DIST SQLAlchemy-1.4.53.tar.gz 8468030 BLAKE2B fd03cd7a1a8f26b22d33cee038e6e15c59ba24e32a4465e3e3cda74583a333e627b732f5532aaa2c0fc3356a96dab8efbc4f6a51275315f78451d63a4ec20bbf SHA512 2a33b2c0348efbf312994394da3dac0f86be60e9e0929ce96117a02f49d9e06388ec5b016c1bf229f89d5ee561cbdcf8526b9c33428b7041923cd5d73d87a88c
DIST SQLAlchemy-2.0.32.tar.gz 9546691 BLAKE2B b6b28fa513e9dc6066db210cee8cbc94dd7c5dfd4f391d4a0ac6987241213afa547458b99df6373b2d1771e264fcedd1186fbd5a483382a7d09185f0f2fa9052 SHA512 12ac1804ba2ad9218d5307f4da87bf7c78b75525bd4b32770e77326eff6fc2ea679e595a1d367f8def3ab7e02ca954622ff16490c277ba6b8edca21efda7da62
+DIST sqlalchemy-2.0.33.tar.gz 9555649 BLAKE2B cc76c9cd61805089bc32d49c183a4b8d2be1f8def08fdbf7c516174c3bae7baf8fa6c99e5e059e93f6c1b76244b3e319e3aa2e65f38a8ebb2378d21e02cd6f27 SHA512 d6b830897216cab8df4f337e21634b7df9aa722294ee9945a28a549d8c423716146b2f7b9bb23c276f413c3b8c388c3502fa6301fe4d1cedc5266a687e571a47
EBUILD sqlalchemy-1.4.53.ebuild 3437 BLAKE2B 47754cd23746113310cc0042cce769cd923205a62874521b53f9cc7bdbe0dcc3e2a384c2ca7c1c060b657e28872be4d7500d74946efae43006cfcd0949b0f57e SHA512 83519c2618215d5d35560277a30927693209f532816fa4912f8dd73b7881f98b81c4cc18ecf6d8d9e6a979b4b9610f6d4784167800ed758b112a4a9d95946b9a
EBUILD sqlalchemy-2.0.32.ebuild 4103 BLAKE2B 4245146921d68f774ead6ffff0792805d9d68c2f3569468656fa081fef6c242b44089a1864b11ffcc3b9e8490222d2bdf6570d4123c0dd336845be736c700614 SHA512 72ae29f5bd28952f6382079066f01139f48956460e75cb8090b27d8e1f8b00ae63ce6f59b5506dafc9dc04f662924ff0db707f74db885b412619af0ea8b681e4
+EBUILD sqlalchemy-2.0.33.ebuild 3888 BLAKE2B 7951c115547d526015ffb9c647d5846bcad1b230458b0d677e346dccb5fd9a1a01235662bf8451ae4a53f4298f96e10b2ee2906b25918c4a5038b5555939cd28 SHA512 d0329e1e8793a24ea5fb8e6f3e695173bc55a1763563547572894dc4b6ff29e9ef3556c36064f69e6646f3098e58a71308ce8d9e3e9480519286115318f6fa34
MISC metadata.xml 444 BLAKE2B 5fbfcf8f16e52ab5bb691b0b33a8491d94e42a80409114cd9b306af7d4b0eb8b6660fabc663adee53080c635217961301b78df536995b91afe9288d255f73d62 SHA512 b432b65ed3033d34ac0784d007909eb838b309b6a4785eebb1a3f808e43dfc41c786cd55e4dd048776c65127aac170bdd9fb9e5a8ae63accb5f65e300bca9676
diff --git a/dev-python/sqlalchemy/sqlalchemy-2.0.33.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.0.33.ebuild
new file mode 100644
index 000000000000..c0927a51cf26
--- /dev/null
+++ b/dev-python/sqlalchemy/sqlalchemy-2.0.33.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN=SQLAlchemy
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+PYTHON_REQ_USE="sqlite?"
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Python SQL toolkit and Object Relational Mapper"
+HOMEPAGE="
+ https://www.sqlalchemy.org/
+ https://pypi.org/project/SQLAlchemy/
+ https://github.com/sqlalchemy/sqlalchemy/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="examples +sqlite test"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4.6.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_impl_dep sqlite)
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/greenlet/d' setup.cfg || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ test/ext/mypy/test_mypy_plugin_py3k.py
+ test/typing/test_mypy.py
+ # hardcode call counts specific to Python versions
+ test/aaa_profiling
+ )
+ local EPYTEST_DESELECT=(
+ # warning tests are unreliable
+ test/base/test_warnings.py
+ )
+ local sqlite_version=$(sqlite3 --version | cut -d' ' -f1)
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ test/ext/test_associationproxy.py::ProxyHybridTest::test_msg_fails_on_cls_access
+ test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_multi_elem_varg
+ test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_one_elem_varg
+ test/engine/test_processors.py::PyDateProcessorTest::test_date_invalid_string
+ test/engine/test_processors.py::PyDateProcessorTest::test_datetime_invalid_string
+ test/engine/test_processors.py::PyDateProcessorTest::test_time_invalid_string
+ "test/dialect/test_sqlite.py::TestTypes_sqlite+pysqlite_${sqlite_version//./_}::test_cant_parse_datetime_message"
+ "test/dialect/test_suite.py::ReturningGuardsTest_sqlite+pysqlite_${sqlite_version//./_}"::test_{delete,insert,update}_single
+ test/base/test_utils.py::ImmutableDictTest::test_pep584
+ 'test/sql/test_compare.py::HasCacheKeySubclass::test_init_args_in_traversal[_MemoizedSelectEntities]'
+ )
+ ;;
+ esac
+ if ! has_version "dev-python/greenlet[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_execution
+ test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_run_sync
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[False-True]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[True-True]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[has_terminate-is_asyncio]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[not_has_terminate-is_asyncio]"
+ "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True-_exclusions0]"
+ "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True]"
+ )
+ fi
+
+ # upstream's test suite is horribly hacky; it relies on disabling
+ # the warnings plugin and turning warnings into errors; this also
+ # means that any DeprecationWarnings from third-party plugins cause
+ # everything to explode
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p rerunfailures --reruns=10 --reruns-delay=2
+}
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ dodoc -r examples
+ fi
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "asyncio support" dev-python/greenlet
+ optfeature "MySQL support" \
+ dev-python/mysqlclient \
+ dev-python/pymysql
+ optfeature "postgresql support" dev-python/psycopg:2
+}