diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-03-28 18:13:17 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-03-28 18:13:17 +0000 |
| commit | 5c2e8b0dbdfde27f6def9ee5585c6611860d93da (patch) | |
| tree | 65eba61d6c6648ab27e4f09f3c2c47bea5cf19ba /dev-python/sqlalchemy | |
| parent | d96489883573aa2e8ac36d1957b2515f322d5c9b (diff) | |
| download | baldeagleos-repo-5c2e8b0dbdfde27f6def9ee5585c6611860d93da.tar.gz baldeagleos-repo-5c2e8b0dbdfde27f6def9ee5585c6611860d93da.tar.xz baldeagleos-repo-5c2e8b0dbdfde27f6def9ee5585c6611860d93da.zip | |
Adding metadata
Diffstat (limited to 'dev-python/sqlalchemy')
| -rw-r--r-- | dev-python/sqlalchemy/Manifest | 1 | ||||
| -rw-r--r-- | dev-python/sqlalchemy/sqlalchemy-2.0.40.ebuild | 117 |
2 files changed, 118 insertions, 0 deletions
diff --git a/dev-python/sqlalchemy/Manifest b/dev-python/sqlalchemy/Manifest index a2244df12ee7..be55fe031926 100644 --- a/dev-python/sqlalchemy/Manifest +++ b/dev-python/sqlalchemy/Manifest @@ -1,3 +1,4 @@ DIST sqlalchemy-1.4.54.tar.gz 8470350 BLAKE2B 0d97beb4edde38455c03dfc1238655d1cb63aa6e042b941913ec68dca3654de07087ab967f208fda495f048a5068ced70d642c4b8b80ab32e5346fcefa3bf9bc SHA512 e7ea4920d81914d362134a3c6fd4a2dd4fdb75f6ce17358528d568e2b2ac0ee711a71f6beb894e61d6d1e4e5833034ebde651d73a13f873c682f780e1831b427 DIST sqlalchemy-2.0.38.tar.gz 9634782 BLAKE2B c1fa85895e3c39cf3abd28ebddec9cd6e764eeafa35b1e86a11836504552b9602d7d3582d0eb0f10ed3481501e56a068e6d563c399b22bf756465a6d5255ab23 SHA512 244df15b30a2d585aa9cb1d89b7460b1e75871a5e41579a23743bbfe40ece9c5c24308e317ccb7686ba7599a2e02a61f61077da6e1ab8567e4e31d61d4d77380 DIST sqlalchemy-2.0.39.tar.gz 9644602 BLAKE2B 42dcad5ca88fd1f4b1194759aa98dc4a3ac28f6cf9d8edb21ce6a77051c45c6579b3184d0832f6a33b40157483a72f67c92feab6f2fa1b7087e7fc950a6233a2 SHA512 42d23acb4d98f03dde97d9d1e43387fc6bd331ee54a6503a2b4b047aab38d24ccb905ea6a7026619e36782c631e54287011f6daf360e7f5c69a00c395e15f149 +DIST sqlalchemy-2.0.40.tar.gz 9664299 BLAKE2B b053b502532d31470e0ceaf1ebe7494d988eb8d74b433d45f9037d2b982355bda4aba9defe681d219cc03ba8e040c6641a749d7a291f03ceb64edb2dc4a02e63 SHA512 7a1db1d61cd80283e339ef92b7e27146ea060db8dc7028b2584df9f9f68a4887bbb2a6b4b4af5ca66c7d132659c7a2d0b47ac2d25ce84fad73ee2dae7808e122 diff --git a/dev-python/sqlalchemy/sqlalchemy-2.0.40.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.0.40.ebuild new file mode 100644 index 000000000000..f08809a40288 --- /dev/null +++ b/dev-python/sqlalchemy/sqlalchemy-2.0.40.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2025 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=( python3_{9,10,11,12,13} pypy3 ) +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 ~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.11) + EPYTEST_DESELECT+=( + # TODO + test/orm/test_utils.py::ContextualWarningsTest::test_autoflush_implicit + test/orm/test_utils.py::ContextualWarningsTest::test_configure_mappers_explicit + "test/sql/test_resultset.py::CursorResultTest_sqlite+pysqlite_${sqlite_version//./_}::test_new_row_no_dict_behaviors" + ) + ;& + 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 +} |
