diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2024-11-03 18:06:39 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2024-11-03 18:06:39 +0000 |
| commit | 6e05d1975e752fbf6155c3bfb25d3e1568aa2f51 (patch) | |
| tree | bd196bc000080dab81e93a6622b498c1268bc081 /dev-python | |
| parent | e3ed3745b7fe34b748f6937d8f75a4a1f9b51291 (diff) | |
| download | baldeagleos-repo-6e05d1975e752fbf6155c3bfb25d3e1568aa2f51.tar.gz baldeagleos-repo-6e05d1975e752fbf6155c3bfb25d3e1568aa2f51.tar.xz baldeagleos-repo-6e05d1975e752fbf6155c3bfb25d3e1568aa2f51.zip | |
Adding metadata
Diffstat (limited to 'dev-python')
| -rw-r--r-- | dev-python/flask-compress/Manifest | 1 | ||||
| -rw-r--r-- | dev-python/flask-compress/flask-compress-1.15.ebuild | 29 | ||||
| -rw-r--r-- | dev-python/gfloat/gfloat-0.4.ebuild | 29 | ||||
| -rw-r--r-- | dev-python/pillow/files/pillow-11.0.0-wrong-arg.patch | 32 | ||||
| -rw-r--r-- | dev-python/pillow/pillow-11.0.0-r1.ebuild | 149 | ||||
| -rw-r--r-- | dev-python/pylibmc/pylibmc-1.6.3.ebuild | 62 | ||||
| -rw-r--r-- | dev-python/sqlalchemy/Manifest | 2 | ||||
| -rw-r--r-- | dev-python/sqlalchemy/sqlalchemy-1.4.53.ebuild | 107 | ||||
| -rw-r--r-- | dev-python/sqlalchemy/sqlalchemy-1.4.54.ebuild | 2 | ||||
| -rw-r--r-- | dev-python/sqlalchemy/sqlalchemy-2.0.35.ebuild | 109 |
10 files changed, 203 insertions, 319 deletions
diff --git a/dev-python/flask-compress/Manifest b/dev-python/flask-compress/Manifest index 1ff2a53aca45..32764863fca0 100644 --- a/dev-python/flask-compress/Manifest +++ b/dev-python/flask-compress/Manifest @@ -1,2 +1 @@ -DIST flask_compress-1.15.tar.gz 13944 BLAKE2B cdad9f1590b47ce7443d14cba9143f795cf355c2c6991d62ea362744366595b85c5ec8680b448af78c293519b50985a805d275227bf68628039293f72c68c890 SHA512 746fd7fb5efa2098d1aae179823b333ca083e6bb6945400d6a5401df0799a76733a67f8b38f952c59002c07705d7a7b0c6b43fbd291a368f98a363f3121dcd1f DIST flask_compress-1.17.tar.gz 15733 BLAKE2B f548983e03b66cfbec55726ab14b757d3a079842a9de46e294305409bb1f655478567c43b992b79c8e5c46f50f1f044f2bc8602a683f71a944b4c05f0f33df39 SHA512 58d66f7be21117ad2769743c148b7df6981634341d1ffa1c6c71aabd86119364e85a8242297e6f369b02ecf09ccdd3980806e91c869754f917d0bd83ae7b9b5d diff --git a/dev-python/flask-compress/flask-compress-1.15.ebuild b/dev-python/flask-compress/flask-compress-1.15.ebuild deleted file mode 100644 index 7f1afa891a09..000000000000 --- a/dev-python/flask-compress/flask-compress-1.15.ebuild +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYPI_PN="Flask-Compress" -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) - -inherit distutils-r1 pypi - -DESCRIPTION="Compress responses in your Flask app with gzip" -HOMEPAGE=" - https://github.com/colour-science/flask-compress/ - https://pypi.org/project/Flask-Compress/ -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="amd64 arm64 x86" - -# brotli on cpython, brotlicffi on pypy3 -RDEPEND=" - app-arch/brotli[python,${PYTHON_USEDEP}] - dev-python/flask[${PYTHON_USEDEP}] - dev-python/zstandard[${PYTHON_USEDEP}] -" - -distutils_enable_tests pytest diff --git a/dev-python/gfloat/gfloat-0.4.ebuild b/dev-python/gfloat/gfloat-0.4.ebuild index 0246f3a2be4b..1953a0b2e106 100644 --- a/dev-python/gfloat/gfloat-0.4.ebuild +++ b/dev-python/gfloat/gfloat-0.4.ebuild @@ -17,6 +17,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" KEYWORDS="~amd64 ~arm ~arm64 ~x86" +IUSE="test-rust" RDEPEND=" dev-python/more-itertools[${PYTHON_USEDEP}] @@ -25,16 +26,28 @@ RDEPEND=" BDEPEND=" test? ( dev-python/ml-dtypes[${PYTHON_USEDEP}] + test-rust? ( + dev-python/nbval[${PYTHON_USEDEP}] + ) ) " distutils_enable_tests pytest -EPYTEST_IGNORE=( - # require jax - docs/source/03-value-tables.ipynb - docs/source/04-benchmark.ipynb - test/test_jax.py - # requires mx (possibly git version), torch - test/test_microxcaling.py -) +python_test() { + local EPYTEST_IGNORE=( + # require jax + docs/source/03-value-tables.ipynb + docs/source/04-benchmark.ipynb + test/test_jax.py + # requires mx (possibly git version), torch + test/test_microxcaling.py + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + if has_version "dev-python/nbval[${PYTHON_USEDEP}]"; then + epytest -p nbval + else + epytest -o addopts= + fi +} diff --git a/dev-python/pillow/files/pillow-11.0.0-wrong-arg.patch b/dev-python/pillow/files/pillow-11.0.0-wrong-arg.patch new file mode 100644 index 000000000000..3337b8c4be23 --- /dev/null +++ b/dev-python/pillow/files/pillow-11.0.0-wrong-arg.patch @@ -0,0 +1,32 @@ +From 180c1d1ef0c0ef12e0c56adfe10c7779dff3b55f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> +Date: Sun, 3 Nov 2024 16:35:54 +0100 +Subject: [PATCH] Revert "Corrected passing TIFF_LONG to libtiff" + +This is the wrong solution to the problem at hand, and results +in passing an int64_t where libtiff expects uint32_t. This seems +to miraculously work on most of our platforms but it is clearly wrong, +and it breaks ppc32. + +Bug: https://github.com/python-pillow/Pillow/issues/8522 +Reverts: b1b0353d17bcdca99cfcb2ea48c6af7861fb43ba +--- + src/encode.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/encode.c b/src/encode.c +index 1a4cd489d..ba350c39a 100644 +--- a/src/encode.c ++++ b/src/encode.c +@@ -929,7 +929,7 @@ PyImaging_LibTiffEncoderNew(PyObject *self, PyObject *args) { + ); + } else if (type == TIFF_LONG) { + status = ImagingLibTiffSetField( +- &encoder->state, (ttag_t)key_int, PyLong_AsLongLong(value) ++ &encoder->state, (ttag_t)key_int, (UINT32)PyLong_AsLong(value) + ); + } else if (type == TIFF_SSHORT) { + status = ImagingLibTiffSetField( +-- +2.47.0 + diff --git a/dev-python/pillow/pillow-11.0.0-r1.ebuild b/dev-python/pillow/pillow-11.0.0-r1.ebuild new file mode 100644 index 000000000000..3479d095b1d3 --- /dev/null +++ b/dev-python/pillow/pillow-11.0.0-r1.ebuild @@ -0,0 +1,149 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +# setuptools wrapper +DISTUTILS_USE_PEP517=standalone +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) +PYTHON_REQ_USE='tk?,threads(+)' + +inherit distutils-r1 toolchain-funcs virtualx + +MY_PN=Pillow +MY_P=${MY_PN}-${PV} + +DESCRIPTION="Python Imaging Library (fork)" +HOMEPAGE=" + https://python-pillow.org/ + https://github.com/python-pillow/Pillow/ + https://pypi.org/project/pillow/ +" +SRC_URI=" + https://github.com/python-pillow/Pillow/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" +S="${WORKDIR}/${MY_P}" + +LICENSE="HPND" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" +IUSE="examples imagequant +jpeg jpeg2k lcms test tiff tk truetype webp xcb zlib" +REQUIRED_USE="test? ( jpeg jpeg2k lcms tiff truetype )" +RESTRICT="!test? ( test )" + +DEPEND=" + imagequant? ( media-gfx/libimagequant:= ) + jpeg? ( media-libs/libjpeg-turbo:= ) + jpeg2k? ( media-libs/openjpeg:2= ) + lcms? ( media-libs/lcms:2= ) + tiff? ( media-libs/tiff:=[jpeg,zlib] ) + truetype? ( media-libs/freetype:2= ) + webp? ( media-libs/libwebp:= ) + xcb? ( x11-libs/libxcb ) + zlib? ( sys-libs/zlib:= ) +" +RDEPEND=" + ${DEPEND} + dev-python/olefile[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + dev-python/wheel[${PYTHON_USEDEP}] + virtual/pkgconfig + test? ( + dev-python/defusedxml[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] + dev-python/pytest-timeout[${PYTHON_USEDEP}] + || ( + media-gfx/imagemagick[png] + media-gfx/graphicsmagick[png] + ) + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +PATCHES=( + # https://github.com/python-pillow/pillow/pull/7634 + "${FILESDIR}/${PN}-10.2.0-cross.patch" + # https://github.com/python-pillow/Pillow/issues/8522 + "${FILESDIR}/${P}-wrong-arg.patch" +) + +usepil() { + usex "${1}" enable disable +} + +python_configure_all() { + cat >> setup.cfg <<-EOF || die + [build_ext] + debug = True + disable_platform_guessing = True + $(usepil truetype)_freetype = True + $(usepil jpeg)_jpeg = True + $(usepil jpeg2k)_jpeg2000 = True + $(usepil lcms)_lcms = True + $(usepil tiff)_tiff = True + $(usepil imagequant)_imagequant = True + $(usepil webp)_webp = True + $(usepil xcb)_xcb = True + $(usepil zlib)_zlib = True + EOF + if use truetype; then + # these dependencies are implicitly disabled by USE=-truetype + # and we can't pass both disable_* and vendor_* + # https://bugs.gentoo.org/935124 + cat >> setup.cfg <<-EOF || die + vendor_raqm = False + vendor_fribidi = False + EOF + fi + + tc-export PKG_CONFIG +} + +src_test() { + virtx distutils-r1_src_test +} + +python_test() { + local EPYTEST_DESELECT=( + # TODO (is clipboard unreliable in Xvfb?) + Tests/test_imagegrab.py::TestImageGrab::test_grabclipboard + # requires xz-utils[extra-filters]? + Tests/test_file_libtiff.py::TestFileLibTiff::test_lzma + ) + + case ${ARCH} in + ppc) + EPYTEST_DESELECT+=( + # https://github.com/python-pillow/Pillow/issues/7008 + # (we've reverted the upstream patch because it was worse + # than the original issue) + Tests/test_file_libtiff.py::TestFileLibTiff::test_exif_ifd + ) + ;; + esac + + "${EPYTHON}" selftest.py --installed || die "selftest failed with ${EPYTHON}" + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + # leak tests are fragile and broken under xdist + epytest -k "not leak" -p timeout || die "Tests failed with ${EPYTHON}" +} + +python_install() { + python_doheader src/libImaging/*.h + distutils-r1_python_install +} + +python_install_all() { + if use examples ; then + docinto example + dodoc docs/example/* + docompress -x /usr/share/doc/${PF}/example + fi + distutils-r1_python_install_all +} diff --git a/dev-python/pylibmc/pylibmc-1.6.3.ebuild b/dev-python/pylibmc/pylibmc-1.6.3.ebuild deleted file mode 100644 index 4a0f352d096d..000000000000 --- a/dev-python/pylibmc/pylibmc-1.6.3.ebuild +++ /dev/null @@ -1,62 +0,0 @@ -# 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 -PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) - -inherit distutils-r1 - -DESCRIPTION="Libmemcached wrapper written as a Python extension" -HOMEPAGE=" - https://sendapatch.se/projects/pylibmc/ - https://pypi.org/project/pylibmc/ - https://github.com/lericson/pylibmc/ -" -SRC_URI=" - https://github.com/lericson/pylibmc/archive/${PV}.tar.gz - -> ${P}.gh.tar.gz -" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" - -DEPEND=" - >=dev-libs/libmemcached-0.32 -" -RDEPEND="${DEPEND}" -BDEPEND=" - test? ( - net-misc/memcached - ) -" - -PATCHES=( - "${FILESDIR}/pylibmc-1.6.1-fix-test-failures-r1.patch" -) - -distutils_enable_sphinx docs -distutils_enable_tests pytest - -# needed for docs -export PYLIBMC_DIR=. - -src_test() { - local -x MEMCACHED_PORT=11219 - memcached -d -p "${MEMCACHED_PORT}" -u nobody -l localhost \ - -P "${T}/m.pid" || die - distutils-r1_src_test - kill "$(<"${T}/m.pid")" || die -} - -python_test() { - local EPYTEST_DESELECT=( - # these require "AmazonElastiCache" running - tests/test_autoconf.py - ) - - epytest --doctest-modules --doctest-glob='doctests.txt' src/pylibmc tests -} diff --git a/dev-python/sqlalchemy/Manifest b/dev-python/sqlalchemy/Manifest index eef5dd1d4a3b..bff967ef62a0 100644 --- a/dev-python/sqlalchemy/Manifest +++ b/dev-python/sqlalchemy/Manifest @@ -1,4 +1,2 @@ -DIST SQLAlchemy-1.4.53.tar.gz 8468030 BLAKE2B fd03cd7a1a8f26b22d33cee038e6e15c59ba24e32a4465e3e3cda74583a333e627b732f5532aaa2c0fc3356a96dab8efbc4f6a51275315f78451d63a4ec20bbf SHA512 2a33b2c0348efbf312994394da3dac0f86be60e9e0929ce96117a02f49d9e06388ec5b016c1bf229f89d5ee561cbdcf8526b9c33428b7041923cd5d73d87a88c DIST sqlalchemy-1.4.54.tar.gz 8470350 BLAKE2B 0d97beb4edde38455c03dfc1238655d1cb63aa6e042b941913ec68dca3654de07087ab967f208fda495f048a5068ced70d642c4b8b80ab32e5346fcefa3bf9bc SHA512 e7ea4920d81914d362134a3c6fd4a2dd4fdb75f6ce17358528d568e2b2ac0ee711a71f6beb894e61d6d1e4e5833034ebde651d73a13f873c682f780e1831b427 -DIST sqlalchemy-2.0.35.tar.gz 9562798 BLAKE2B dfb59e91b782999572ec88e3bedd57e8aba87d3f04a7c0a29f5ea6361c61bf1f62edb94bb20c188f6fbc9cb7e7dfd7c67039066d6aaa78be10697d61d1bb31a2 SHA512 1de85847bf6f391c68c5d2fea7b690fe3deeaa8712ba086cc23244f25528dfdfd9ad6f2642f9981816896b225547ac5ac01c9fb2c707e9f47c1918e13dbcdc19 DIST sqlalchemy-2.0.36.tar.gz 9574485 BLAKE2B 31fb7375041f354b940a5b8beee8886cbb66cb0a4b4dcad8f9bdb9ebfeb673cdc6ce7335d9fa7bbc443e3dafb0337106e0ca0c6a8ccf3df55bde3e6e310dcbc6 SHA512 480fa9893d20806127f6b060726210e32989af92439ff445066aebfc931453eb8c05b5f8497582fcdb897f8e9e70243f092f46e06d7dfe49301ab71ada4eebda diff --git a/dev-python/sqlalchemy/sqlalchemy-1.4.53.ebuild b/dev-python/sqlalchemy/sqlalchemy-1.4.53.ebuild deleted file mode 100644 index 8698da211e2f..000000000000 --- a/dev-python/sqlalchemy/sqlalchemy-1.4.53.ebuild +++ /dev/null @@ -1,107 +0,0 @@ -# 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 -PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) -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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="examples +sqlite test" - -BDEPEND=" - test? ( - $(python_gen_impl_dep sqlite) - ) -" - -distutils_enable_tests pytest - -EPYTEST_IGNORE=( - # hardcode call counts specific to Python versions - test/aaa_profiling -) - -src_prepare() { - sed -i -e '/greenlet/d' setup.cfg || die - distutils-r1_src_prepare -} - -python_test() { - local EPYTEST_DESELECT=( - # warning tests are unreliable - test/base/test_warnings.py - - # TODO - 'test/orm/test_cache_key.py::EmbeddedSubqTest::test_cache_key_gen[memory-_exclusions1]' - - # deprecations - test/engine/test_parseconnect.py::TestRegNewDBAPI::test_wrapper_hooks - test/engine/test_parseconnect.py::URLTest::test_component_set - test/engine/test_parseconnect.py::URLTest::test_password_custom_obj - test/engine/test_parseconnect.py::URLTest::test_update_query_dict - test/engine/test_parseconnect.py::URLTest::test_update_query_string - ) - local sqlite_version=$(sqlite3 --version | cut -d' ' -f1) - [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=( - test/ext/test_associationproxy.py::ProxyHybridTest::test_msg_fails_on_cls_access - # https://github.com/sqlalchemy/sqlalchemy/issues/8762 - test/orm/test_query.py::YieldTest_sqlite+pysqlite_${sqlite_version//./_}::test_yield_per_close_on_interrupted_iteration_legacy - ) - 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::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True-_exclusions0]" - ) - 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 -} diff --git a/dev-python/sqlalchemy/sqlalchemy-1.4.54.ebuild b/dev-python/sqlalchemy/sqlalchemy-1.4.54.ebuild index 99abb23c5f5b..1cee1f15071e 100644 --- a/dev-python/sqlalchemy/sqlalchemy-1.4.54.ebuild +++ b/dev-python/sqlalchemy/sqlalchemy-1.4.54.ebuild @@ -20,7 +20,7 @@ HOMEPAGE=" 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" +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" BDEPEND=" diff --git a/dev-python/sqlalchemy/sqlalchemy-2.0.35.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.0.35.ebuild deleted file mode 100644 index befd6d283acd..000000000000 --- a/dev-python/sqlalchemy/sqlalchemy-2.0.35.ebuild +++ /dev/null @@ -1,109 +0,0 @@ -# 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=( 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) - 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 -} |
