From 2df5e172c84440d24469483489ca22ec9d4e1ca0 Mon Sep 17 00:00:00 2001 From: "Andreas Billmeier (@Home/mbp)" Date: Sat, 28 Oct 2023 15:23:48 +0200 Subject: [PATCH] dev-python/sqlalchemy: add 2.0.21 Signed-off-by: Andreas Billmeier --- README.md | 4 +- dev-python/sqlalchemy/Manifest | 2 + .../sqlalchemy/sqlalchemy-2.0.21.ebuild | 111 ++++++++++++++++++ 3 files changed, 115 insertions(+), 2 deletions(-) create mode 100644 dev-python/sqlalchemy/sqlalchemy-2.0.21.ebuild diff --git a/README.md b/README.md index b6a11a693..51de01c66 100644 --- a/README.md +++ b/README.md @@ -612,11 +612,11 @@ A daily compile test is run at Github with Python 3.9 to catch general faults. E ## Licenses This repository itself is released under GPL-3 (like most Gentoo repositories), all work on the depending components under the licenses they came from. Perhaps you came here because I filed an issue at your component about a bad or missing license. It is easy to [assign a license](https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/adding-a-license-to-a-repository). During cleanups and license investigations I have been asked often which license to choose. I am not a lawyer, but I can offer the following table, counted over this repository, perhaps this helps your decision. If a package has more than one license listed, all of them are counted. -There are 1840 Ebuilds in total, 1829 of them have in total 1844 (40 different) licenses assigned. +There are 1842 Ebuilds in total, 1831 of them have in total 1846 (40 different) licenses assigned. |License| Ebuilds using it| |-------|-----| -|MIT|1071| +|MIT|1073| |Apache-2.0|380| |GPL-3|116| |BSD|104| diff --git a/dev-python/sqlalchemy/Manifest b/dev-python/sqlalchemy/Manifest index f45a2eb4d..aa3be8e54 100644 --- a/dev-python/sqlalchemy/Manifest +++ b/dev-python/sqlalchemy/Manifest @@ -1,7 +1,9 @@ DIST SQLAlchemy-2.0.15.tar.gz 9296612 BLAKE2B 45abdb9010b854e52762d9c84a471e92ece2b212620a74d161b19ef7c6bce3d9ad39b3075c4f32749774884e3ffe255f82028dd6a6375e269d2827cbf18c35e7 SHA512 a1b9301f4a81428ac36b9280840a27433fcfb97dec2a04888e6e53cc33104c82972147e2b840a929e05af0edb47ee496a7ed5171201332aad374ce64baef414d +DIST SQLAlchemy-2.0.21.tar.gz 9454220 BLAKE2B 67009f20349280b36c9b5664d5dc0c76ae35e5e2d8929cc8f848e862e4689dd695db5fc7fb10c1548a59f0a7f892f7573d969cdd4a6d400c89c23b35a5be3a31 SHA512 5fb0e3711445c6aa95d6facac098a05f0d20f9dacc4e9abe12057e0def7cfe07c73c2b43f1b8c7868e67e20e76f0b1da19eba10de87394db22d1d9a28ae23715 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.21.ebuild 3962 BLAKE2B 0e0afe117c8c7ca3e1da26edbf33a628758e68ea346cc0bb889048c74cfe8e7d1bfce05a2ec6cbce2a13c850120ffe905e992a355d8f3919ec5383a5ce4b4d65 SHA512 5756af0e3699eab96f248f313a1ce41dfaa31807d43ed197b8e38550404312428a11752f751441d30c141cfed192a31d1304f37b0e73f4d16f47989a49f89755 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 diff --git a/dev-python/sqlalchemy/sqlalchemy-2.0.21.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.0.21.ebuild new file mode 100644 index 000000000..ed6eb3f70 --- /dev/null +++ b/dev-python/sqlalchemy/sqlalchemy-2.0.21.ebuild @@ -0,0 +1,111 @@ +# 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 multiprocessing 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) + dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + ) +" + +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 + ) + ;; + 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 \ + -p xdist -n "$(makeopts_jobs)" --dist=worksteal +} + +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 +}