dev-python/sqlalchemy: re-add 2.0.15 (from main)

This commit is contained in:
Andreas Billmeier 2023-10-07 20:17:04 +02:00 committed by Andreas Billmeier
parent 974d4661e9
commit 0826e9b99d
Signed by: onkelbeh
GPG Key ID: E6DB12C8C550F3C0
2 changed files with 120 additions and 0 deletions

View File

@ -1,5 +1,7 @@
DIST SQLAlchemy-2.0.15.tar.gz 9296612 BLAKE2B 45abdb9010b854e52762d9c84a471e92ece2b212620a74d161b19ef7c6bce3d9ad39b3075c4f32749774884e3ffe255f82028dd6a6375e269d2827cbf18c35e7 SHA512 a1b9301f4a81428ac36b9280840a27433fcfb97dec2a04888e6e53cc33104c82972147e2b840a929e05af0edb47ee496a7ed5171201332aad374ce64baef414d
DIST SQLAlchemy-2.0.6.tar.gz 9294603 BLAKE2B ea8c7f23199c62898764656e82673f6b9c5ac8108feba49c2b74a4c3b278b2ac7ed5f9e5f2ad1b59c70b451440c9376dde19bd283c4c585029957386d56589a9 SHA512 2742f2dd7424118f34a70d3b17157d16976f422459c698ab042c08a5099c275cc8bebdb1f811fd783bd1b024e9f27925e1a72cac818dd16c807e1553a766f25c
DIST SQLAlchemy-2.0.7.tar.gz 9298301 BLAKE2B abedb2805cad489e68fdec383eaf1bc65ef92777230317911a9351fce7c9159f746629197f7443a37495c23cd8d3cdd1015d8417f00227f28b8af1468a8327ef SHA512 94f5c4262741986456a9de435a81d9df8d5eed16417cc8c07321cb28030c99ea347c33a2054f2961e3b794bd5f75da19b0879675e2c1106fc5030382895caf75
EBUILD sqlalchemy-2.0.15.ebuild 4436 BLAKE2B 77796ed0443719c1b79b497dbc8551e8f8dde1e23f4fbe20e4fbc01d14e01fad08ab9cb302b00b4e70eae1782b6d3adbed7fd43ad22c64c82943ab58824a7c60 SHA512 f770a447e78b4d4167fc8cd5c0ebbde1cffe46a0dd0444f5c0c0003c09e59c012b85ca357ba40c027618067c3e6fd3a9c91a0318324891075e20f97951e5e4e1
EBUILD sqlalchemy-2.0.6.ebuild 4115 BLAKE2B 732396e66a45172770ad3e08f768004fec31e44c967b0987a1d42613678ea57d188e7ef742f0dfb71ec15771363dac6fffd71f485491689a9a436f7f0e2b9759 SHA512 fc6c7ccc60ca1bd0b97633c6a227214ccbf0f89bf1cbecee42f4e25e606308a4824039a1aabd10031e46f75ed08ebaacad1cb68ba2bc234c8b8af360db85d7b4
EBUILD sqlalchemy-2.0.7.ebuild 3942 BLAKE2B 3f99a9f80575d237c7eb94d8db8b0fce1efdcab90d653c845889a89984d4f041ea955f8f99cbcfa57e882316cb50c1070199b93ff5b0d11b73f651d891be2832 SHA512 a3e40ff9719a5a2dd3b9dccd36f8c273aa7525b5d9e7eeef27d3d3ca2de4bd653d1bf6fe457288589112119ca862c95fafd9b5daa90aa8c5231ff541201abf0c
MISC metadata.xml 444 BLAKE2B 5fbfcf8f16e52ab5bb691b0b33a8491d94e42a80409114cd9b306af7d4b0eb8b6660fabc663adee53080c635217961301b78df536995b91afe9288d255f73d62 SHA512 b432b65ed3033d34ac0784d007909eb838b309b6a4785eebb1a3f808e43dfc41c786cd55e4dd048776c65127aac170bdd9fb9e5a8ae63accb5f65e300bca9676

View File

@ -0,0 +1,118 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( pypy3 python3_{10..12} )
PYTHON_REQ_USE="sqlite?"
inherit distutils-r1 optfeature pypi
MY_PN="SQLAlchemy"
DESCRIPTION="Python SQL toolkit and Object Relational Mapper"
HOMEPAGE="
https://www.sqlalchemy.org/
https://pypi.org/project/SQLAlchemy/
https://github.com/sqlalchemy/sqlalchemy/
"
SRC_URI="$(pypi_sdist_url --no-normalize "${MY_PN}")"
S="${WORKDIR}/${MY_PN}-${PV}"
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.2.0[${PYTHON_USEDEP}]
"
BDEPEND="
dev-python/cython[${PYTHON_USEDEP}]
test? (
$(python_gen_impl_dep sqlite)
)
"
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
# hardcode call counts specific to Python versions
test/aaa_profiling
)
local EPYTEST_DESELECT=(
# warning tests are unreliable
test/base/test_warnings.py
# TODO
test/orm/test_versioning.py::ServerVersioningTest_sqlite+pysqlite_3_40_1::test_sql_expr_w_mods_bump
test/sql/test_resultset.py::CursorResultTest_sqlite+pysqlite_3_41_0::test_pickle_rows_other_process
)
local sqlite_version=$(sqlite3 --version | cut -d' ' -f1)
[[ ${EPYTHON} == 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_pool.py::QueuePoolTest::test_recycle_pool_no_race
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
)
[[ ${EPYTHON} == python3.12 ]] && EPYTEST_DESELECT+=(
# see https://github.com/sqlalchemy/sqlalchemy/issues/9819
test/base/test_result.py::ResultTupleTest::test_slices_arent_in_mappings
)
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
local -x PYTEST_PLUGINS=
# upstream automagically depends on xdist when it is importable
# note that we can't use xdist because it causes nodes to randomly
# crash on init
if has_version "dev-python/pytest-xdist[${PYTHON_USEDEP}]"; then
PYTEST_PLUGINS+=xdist.plugin
fi
epytest
}
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
}