Gentoo Archives: gentoo-commits

From: "Michał Górny" <mgorny@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/sqlalchemy/
Date: Sun, 19 Mar 2023 19:03:49
Message-Id: 1679252620.c022883875bb9d79638ceacb15c8330923b75686.mgorny@gentoo
1 commit: c022883875bb9d79638ceacb15c8330923b75686
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Sun Mar 19 17:42:23 2023 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Sun Mar 19 19:03:40 2023 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c0228838
7
8 dev-python/sqlalchemy: Bump to 2.0.7
9
10 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
11
12 dev-python/sqlalchemy/Manifest | 1 +
13 dev-python/sqlalchemy/sqlalchemy-2.0.7.ebuild | 107 ++++++++++++++++++++++++++
14 2 files changed, 108 insertions(+)
15
16 diff --git a/dev-python/sqlalchemy/Manifest b/dev-python/sqlalchemy/Manifest
17 index da3a809467da..6987319ed455 100644
18 --- a/dev-python/sqlalchemy/Manifest
19 +++ b/dev-python/sqlalchemy/Manifest
20 @@ -4,3 +4,4 @@ DIST SQLAlchemy-2.0.3.tar.gz 9229747 BLAKE2B b70116a8f9f24ed2b41aa7ebbe8a004371f
21 DIST SQLAlchemy-2.0.4.tar.gz 9250723 BLAKE2B c3cec648a527e7beb349b2bbb6924a4e794a1fe4d1563ba7573afdc28ed24fce149c5b3c08fa419e85713b68080b2a805e1999e312f59ed7fae55f9aee6a966e SHA512 098004c594ff00a47a66850b0661f673e4d7a6f168fce72ca37a65ecfe04b3d291b9a6fb9393f7671c9a7c5c128ab6ba2035d18cef28736df1207e689cd8c412
22 DIST SQLAlchemy-2.0.5.tar.gz 9285821 BLAKE2B e0af62e05801a30d915ff4a852dc30ab61b8d5ddc632cddef549bb2d548f5a2c4056519c9ddcf690587736d415973bde9042b6cd022f874e1dc3c143ef0a6add SHA512 642f6665ca8a3aa2c30bc9e14f8e65f9baa0a678f88637e784ee8606cece92d876f8d2e639dfd462261f0c790c2f0851e3490b4c84dbaa21028df93f354b68a4
23 DIST SQLAlchemy-2.0.6.tar.gz 9294603 BLAKE2B ea8c7f23199c62898764656e82673f6b9c5ac8108feba49c2b74a4c3b278b2ac7ed5f9e5f2ad1b59c70b451440c9376dde19bd283c4c585029957386d56589a9 SHA512 2742f2dd7424118f34a70d3b17157d16976f422459c698ab042c08a5099c275cc8bebdb1f811fd783bd1b024e9f27925e1a72cac818dd16c807e1553a766f25c
24 +DIST SQLAlchemy-2.0.7.tar.gz 9298301 BLAKE2B abedb2805cad489e68fdec383eaf1bc65ef92777230317911a9351fce7c9159f746629197f7443a37495c23cd8d3cdd1015d8417f00227f28b8af1468a8327ef SHA512 94f5c4262741986456a9de435a81d9df8d5eed16417cc8c07321cb28030c99ea347c33a2054f2961e3b794bd5f75da19b0879675e2c1106fc5030382895caf75
25
26 diff --git a/dev-python/sqlalchemy/sqlalchemy-2.0.7.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.0.7.ebuild
27 new file mode 100644
28 index 000000000000..0ac2428370ce
29 --- /dev/null
30 +++ b/dev-python/sqlalchemy/sqlalchemy-2.0.7.ebuild
31 @@ -0,0 +1,107 @@
32 +# Copyright 1999-2023 Gentoo Authors
33 +# Distributed under the terms of the GNU General Public License v2
34 +
35 +EAPI=8
36 +
37 +DISTUTILS_USE_PEP517=setuptools
38 +PYTHON_COMPAT=( pypy3 python3_{9..11} )
39 +PYTHON_REQ_USE="sqlite?"
40 +
41 +inherit distutils-r1 optfeature pypi
42 +
43 +MY_PN="SQLAlchemy"
44 +DESCRIPTION="Python SQL toolkit and Object Relational Mapper"
45 +HOMEPAGE="
46 + https://www.sqlalchemy.org/
47 + https://pypi.org/project/SQLAlchemy/
48 + https://github.com/sqlalchemy/sqlalchemy/
49 +"
50 +SRC_URI="$(pypi_sdist_url --no-normalize "${MY_PN}")"
51 +S="${WORKDIR}/${MY_PN}-${PV}"
52 +
53 +LICENSE="MIT"
54 +SLOT="0"
55 +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"
56 +IUSE="examples +sqlite test"
57 +
58 +RDEPEND="
59 + >=dev-python/typing-extensions-4.2.0[${PYTHON_USEDEP}]
60 +"
61 +BDEPEND="
62 + test? (
63 + $(python_gen_impl_dep sqlite)
64 + )
65 +"
66 +
67 +distutils_enable_tests pytest
68 +
69 +src_prepare() {
70 + sed -i -e '/greenlet/d' setup.cfg || die
71 + distutils-r1_src_prepare
72 +}
73 +
74 +python_test() {
75 + local EPYTEST_IGNORE=(
76 + test/ext/mypy/test_mypy_plugin_py3k.py
77 + # hardcode call counts specific to Python versions
78 + test/aaa_profiling
79 + )
80 + local EPYTEST_DESELECT=(
81 + # warning tests are unreliable
82 + test/base/test_warnings.py
83 + # TODO
84 + test/orm/test_versioning.py::ServerVersioningTest_sqlite+pysqlite_3_40_1::test_sql_expr_w_mods_bump
85 + test/sql/test_resultset.py::CursorResultTest_sqlite+pysqlite_3_41_0::test_pickle_rows_other_process
86 + )
87 + local sqlite_version=$(sqlite3 --version | cut -d' ' -f1)
88 + [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
89 + test/ext/test_associationproxy.py::ProxyHybridTest::test_msg_fails_on_cls_access
90 + test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_multi_elem_varg
91 + test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_one_elem_varg
92 + test/engine/test_processors.py::PyDateProcessorTest::test_date_invalid_string
93 + test/engine/test_processors.py::PyDateProcessorTest::test_datetime_invalid_string
94 + test/engine/test_processors.py::PyDateProcessorTest::test_time_invalid_string
95 + "test/dialect/test_sqlite.py::TestTypes_sqlite+pysqlite_${sqlite_version//./_}::test_cant_parse_datetime_message"
96 + "test/dialect/test_suite.py::ReturningGuardsTest_sqlite+pysqlite_${sqlite_version//./_}"::test_{delete,insert,update}_single
97 + test/base/test_utils.py::ImmutableDictTest::test_pep584
98 + )
99 + if ! has_version "dev-python/greenlet[${PYTHON_USEDEP}]"; then
100 + EPYTEST_DESELECT+=(
101 + test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_execution
102 + test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_run_sync
103 + "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[False-True]"
104 + "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[True-True]"
105 + "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True-_exclusions0]"
106 + )
107 + fi
108 +
109 + # upstream's test suite is horribly hacky; it relies on disabling
110 + # the warnings plugin and turning warnings into errors; this also
111 + # means that any DeprecationWarnings from third-party plugins cause
112 + # everything to explode
113 + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
114 + local -x PYTEST_PLUGINS=
115 + # upstream automagically depends on xdist when it is importable
116 + if has_version "dev-python/pytest-xdist[${PYTHON_USEDEP}]"; then
117 + PYTEST_PLUGINS+=xdist.plugin
118 + fi
119 + epytest
120 +}
121 +
122 +python_install_all() {
123 + if use examples; then
124 + docompress -x "/usr/share/doc/${PF}/examples"
125 + dodoc -r examples
126 + fi
127 +
128 + distutils-r1_python_install_all
129 +}
130 +
131 +pkg_postinst() {
132 + optfeature "asyncio support" dev-python/greenlet
133 + optfeature "MySQL support" \
134 + dev-python/mysqlclient \
135 + dev-python/pymysql \
136 + dev-python/mysql-connector-python
137 + optfeature "postgresql support" dev-python/psycopg:2
138 +}