summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-08-08 18:00:16 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-08-08 18:00:16 +0000
commit3fda5f51bc5c3b1f1c2b5bd9abd5ed62d14b7193 (patch)
treefc74b44be1979ab6a7092b74c9b76a43b6ed13ba /dev-python
parent248da0627ee82f64b5580d6b69f328b948ba5c45 (diff)
downloadbaldeagleos-repo-3fda5f51bc5c3b1f1c2b5bd9abd5ed62d14b7193.tar.gz
baldeagleos-repo-3fda5f51bc5c3b1f1c2b5bd9abd5ed62d14b7193.tar.xz
baldeagleos-repo-3fda5f51bc5c3b1f1c2b5bd9abd5ed62d14b7193.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/PyQt6/PyQt6-6.7.1-r1.ebuild2
-rw-r--r--dev-python/aiohttp/Manifest1
-rw-r--r--dev-python/aiohttp/aiohttp-3.10.1-r1.ebuild (renamed from dev-python/aiohttp/aiohttp-3.10.0.ebuild)20
-rw-r--r--dev-python/aiohttp/aiohttp-3.10.1.ebuild120
-rw-r--r--dev-python/aiohttp/files/aiohttp-3.10.1-py313.patch97
-rw-r--r--dev-python/django/django-4.2.15.ebuild2
-rw-r--r--dev-python/django/django-5.0.8.ebuild2
-rw-r--r--dev-python/django/django-5.1.ebuild2
-rw-r--r--dev-python/django/files/django-5.1-more-pypy3.patch51
9 files changed, 164 insertions, 133 deletions
diff --git a/dev-python/PyQt6/PyQt6-6.7.1-r1.ebuild b/dev-python/PyQt6/PyQt6-6.7.1-r1.ebuild
index 3c748c407345..0df8eb5950a7 100644
--- a/dev-python/PyQt6/PyQt6-6.7.1-r1.ebuild
+++ b/dev-python/PyQt6/PyQt6-6.7.1-r1.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="https://www.riverbankcomputing.com/software/pyqt/"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv"
# defaults match what is provided with qtbase by default (except testlib),
# reduces the need to set flags but does increase build time a fair amount
IUSE="
diff --git a/dev-python/aiohttp/Manifest b/dev-python/aiohttp/Manifest
index b704a1b5b814..3e2d58e2405d 100644
--- a/dev-python/aiohttp/Manifest
+++ b/dev-python/aiohttp/Manifest
@@ -1,3 +1,2 @@
-DIST aiohttp-3.10.0.tar.gz 7517100 BLAKE2B ce37d40e94ef836ae63a56b1b01251a34a07c469120393f8006964f54eea5f27cd4277fb0f69174cf652e52fbb0d77cda53ffe41c785922717defde2df873dd9 SHA512 69c8eaed5738c11ea994b64dcf75cbc5950b1cc4705ac40df80ad3311dceb1d25c15019527e32e9345a4677882e103a7c25dedc0dc99d874102a73771d6cfde9
DIST aiohttp-3.10.1.tar.gz 7517572 BLAKE2B 4400cbda0997f3602ace4aae7ba153dcb515d49d8d3431fab087ebba3126d8fa82121998b1d8e36e2b86c9144a5c124ac16c12520cd47fea7956e6c04e2b4e55 SHA512 59f743ce7821b46da531eb576bbf20409407726b6ba78be9615f715ab2404cc3668120d2ec1566dcab7017ba36bf1753a3365b81097da53685c93ba013c3c94a
DIST aiohttp-3.9.5.tar.gz 7504841 BLAKE2B f051ee88d45952219f72d542f1c6d0cc33c699c6c5fb5dbe3bc054ee4d0e03121b219c8c8524fd1236a8b878329b0997b8afe07d6c66074102d4a2052a8738ff SHA512 da11468a2f131275593395b052700a99cf79055a32d48327dca0f58547ad30add8cd0a375dbd831e2f06fe7a739183251e4ad69c16f3d141799bbed45a8a5dc4
diff --git a/dev-python/aiohttp/aiohttp-3.10.0.ebuild b/dev-python/aiohttp/aiohttp-3.10.1-r1.ebuild
index 91db7746668f..6080d0a82f73 100644
--- a/dev-python/aiohttp/aiohttp-3.10.0.ebuild
+++ b/dev-python/aiohttp/aiohttp-3.10.1-r1.ebuild
@@ -40,6 +40,7 @@ BDEPEND="
dev-python/freezegun[${PYTHON_USEDEP}]
www-servers/gunicorn[${PYTHON_USEDEP}]
dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
dev-python/pytest-xdist[${PYTHON_USEDEP}]
dev-python/re-assert[${PYTHON_USEDEP}]
$(python_gen_cond_dep '
@@ -57,6 +58,12 @@ EPYTEST_XDIST=1
distutils_enable_tests pytest
src_prepare() {
+ local PATCHES=(
+ # https://github.com/aio-libs/aiohttp/pull/8623
+ # https://github.com/aio-libs/aiohttp/pull/8648
+ "${FILESDIR}/${P}-py313.patch"
+ )
+
# increase the timeout a little
sed -e '/abs=/s/0.001/0.01/' -i tests/test_helpers.py || die
# xfail_strict fails on py3.10
@@ -101,20 +108,11 @@ python_test() {
# sigh
local -x AIOHTTP_NO_EXTENSIONS=1
;;
- python3.13)
- EPYTEST_DESELECT+=(
- # buggy test
- # https://github.com/aio-libs/aiohttp/issues/8551
- tests/test_web_urldispatcher.py::test_access_mock_special_resource
- # new test (so not a regression)
- # https://github.com/aio-libs/aiohttp/issues/8565
- tests/test_web_urldispatcher.py::test_access_symlink_loop
- )
- ;;
esac
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
local -x PYTEST_PLUGINS=pytest_mock,xdist.plugin
rm -rf aiohttp || die
- epytest -m "not internal and not dev_mode"
+ epytest -m "not internal and not dev_mode" \
+ -p rerunfailures --reruns=5
}
diff --git a/dev-python/aiohttp/aiohttp-3.10.1.ebuild b/dev-python/aiohttp/aiohttp-3.10.1.ebuild
deleted file mode 100644
index beb1b04100b2..000000000000
--- a/dev-python/aiohttp/aiohttp-3.10.1.ebuild
+++ /dev/null
@@ -1,120 +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_{8,9,10,11,12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="HTTP client/server for asyncio"
-HOMEPAGE="
- https://github.com/aio-libs/aiohttp/
- https://pypi.org/project/aiohttp/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv ~sparc ~x86"
-IUSE="test-rust"
-
-RDEPEND="
- >=dev-python/aiodns-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/aiohappyeyeballs-2.3.0[${PYTHON_USEDEP}]
- >=dev-python/aiosignal-1.1.2[${PYTHON_USEDEP}]
- >=dev-python/attrs-17.3.0[${PYTHON_USEDEP}]
- dev-python/brotlicffi[${PYTHON_USEDEP}]
- >=dev-python/frozenlist-1.1.1[${PYTHON_USEDEP}]
- >=dev-python/multidict-4.5.0[${PYTHON_USEDEP}]
- >=dev-python/yarl-1.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- <dev-python/async-timeout-5[${PYTHON_USEDEP}]
- >=dev-python/async-timeout-4.0[${PYTHON_USEDEP}]
- ' 3.10)
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- test? (
- dev-python/freezegun[${PYTHON_USEDEP}]
- www-servers/gunicorn[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/re-assert[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/time-machine[${PYTHON_USEDEP}]
- ' 'python3*')
- test-rust? (
- dev-python/trustme[${PYTHON_USEDEP}]
- )
- )
-"
-
-DOCS=( CHANGES.rst CONTRIBUTORS.txt README.rst )
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- # increase the timeout a little
- sed -e '/abs=/s/0.001/0.01/' -i tests/test_helpers.py || die
- # xfail_strict fails on py3.10
- sed -i -e '/--cov/d' -e '/xfail_strict/d' setup.cfg || die
- sed -i -e 's:-Werror::' Makefile || die
-
- distutils-r1_src_prepare
-}
-
-python_configure_all() {
- # workaround missing files
- mkdir tools || die
- > requirements/cython.txt || die
- > tools/gen.py || die
- chmod +x tools/gen.py || die
- # force rehashing first
- emake requirements/.hash/cython.txt.hash
- > .update-pip || die
- > .install-cython || die
- emake cythonize
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- # proxy is not packaged
- tests/test_proxy_functional.py
- # python_on_whales is not packaged
- tests/autobahn/test_autobahn.py
- )
-
- local EPYTEST_DESELECT=(
- # Internet
- tests/test_client_session.py::test_client_session_timeout_zero
- # broken by irrelevant deprecation warnings
- tests/test_circular_imports.py::test_no_warnings
- )
-
- case ${EPYTHON} in
- pypy3)
- # upstream unconditionally blocks building C extensions
- # on PyPy3 but the test suite needs an explicit switch,
- # sigh
- local -x AIOHTTP_NO_EXTENSIONS=1
- ;;
- python3.13)
- EPYTEST_DESELECT+=(
- # buggy test
- # https://github.com/aio-libs/aiohttp/issues/8551
- tests/test_web_urldispatcher.py::test_access_mock_special_resource
- # new test (so not a regression)
- # https://github.com/aio-libs/aiohttp/issues/8565
- tests/test_web_urldispatcher.py::test_access_symlink_loop
- )
- ;;
- esac
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=pytest_mock,xdist.plugin
- rm -rf aiohttp || die
- epytest -m "not internal and not dev_mode"
-}
diff --git a/dev-python/aiohttp/files/aiohttp-3.10.1-py313.patch b/dev-python/aiohttp/files/aiohttp-3.10.1-py313.patch
new file mode 100644
index 000000000000..03299a43a3c5
--- /dev/null
+++ b/dev-python/aiohttp/files/aiohttp-3.10.1-py313.patch
@@ -0,0 +1,97 @@
+From 02961d854c8f4277219699cd66970d1e90b371d4 Mon Sep 17 00:00:00 2001
+From: Steve Repsher <steverep@users.noreply.github.com>
+Date: Wed, 7 Aug 2024 07:51:50 -0400
+Subject: [PATCH] Fix monkey patches for pathlib changes in Python 3.13 (#8619)
+
+(cherry picked from commit d1c8dfbb11ea9989446e295fcee350255d5461c0)
+---
+ CHANGES/8551.contrib.rst | 1 +
+ tests/test_web_urldispatcher.py | 8 ++++----
+ 2 files changed, 5 insertions(+), 4 deletions(-)
+ create mode 100644 CHANGES/8551.contrib.rst
+
+diff --git a/tests/test_web_urldispatcher.py b/tests/test_web_urldispatcher.py
+index a799f4ba146..de44ea0648c 100644
+--- a/tests/test_web_urldispatcher.py
++++ b/tests/test_web_urldispatcher.py
+@@ -434,10 +434,10 @@ def mock_iterdir(self: pathlib.Path) -> Generator[pathlib.Path, None, None]:
+ raise PermissionError()
+ return real_iterdir(self)
+
+- def mock_is_dir(self: pathlib.Path) -> bool:
++ def mock_is_dir(self: pathlib.Path, **kwargs: Any) -> bool:
+ if my_dir.samefile(self.parent):
+ raise PermissionError()
+- return real_is_dir(self)
++ return real_is_dir(self, **kwargs)
+
+ monkeypatch.setattr("pathlib.Path.iterdir", mock_iterdir)
+ monkeypatch.setattr("pathlib.Path.is_dir", mock_is_dir)
+@@ -554,8 +554,8 @@ async def test_access_mock_special_resource(
+ real_result = my_special.stat()
+ real_stat = pathlib.Path.stat
+
+- def mock_stat(self: pathlib.Path) -> os.stat_result:
+- s = real_stat(self)
++ def mock_stat(self: pathlib.Path, **kwargs: Any) -> os.stat_result:
++ s = real_stat(self, **kwargs)
+ if os.path.samestat(s, real_result):
+ mock_mode = S_IFIFO | S_IMODE(s.st_mode)
+ s = os.stat_result([mock_mode] + list(s)[1:])
+From 75ff8e12d0c95af9347bb16de785d028930f7228 Mon Sep 17 00:00:00 2001
+From: Steve Repsher <steverep@users.noreply.github.com>
+Date: Thu, 8 Aug 2024 10:55:35 -0400
+Subject: [PATCH] Fix response to circular symlinks with Python v3.13 (#8642)
+
+Co-authored-by: J. Nick Koston <nick@koston.org>
+(cherry picked from commit e494277110e40fb5c1cc65a1558dfea7d8ae7ca8)
+---
+ CHANGES/8565.bugfix.rst | 1 +
+ aiohttp/web_fileresponse.py | 4 +++-
+ aiohttp/web_urldispatcher.py | 9 +++++----
+ 3 files changed, 9 insertions(+), 5 deletions(-)
+ create mode 100644 CHANGES/8565.bugfix.rst
+
+diff --git a/aiohttp/web_fileresponse.py b/aiohttp/web_fileresponse.py
+index 7fc5b3d787f..d8bbbe08993 100644
+--- a/aiohttp/web_fileresponse.py
++++ b/aiohttp/web_fileresponse.py
+@@ -191,7 +191,9 @@ async def prepare(self, request: "BaseRequest") -> Optional[AbstractStreamWriter
+ file_path, st, file_encoding = await loop.run_in_executor(
+ None, self._get_file_path_stat_encoding, accept_encoding
+ )
+- except FileNotFoundError:
++ except OSError:
++ # Most likely to be FileNotFoundError or OSError for circular
++ # symlinks in python >= 3.13, so respond with 404.
+ self.set_status(HTTPNotFound.status_code)
+ return await super().prepare(request)
+
+diff --git a/aiohttp/web_urldispatcher.py b/aiohttp/web_urldispatcher.py
+index 688946626fd..558fb7d0c9b 100644
+--- a/aiohttp/web_urldispatcher.py
++++ b/aiohttp/web_urldispatcher.py
+@@ -80,9 +80,9 @@
+ BaseDict = dict
+
+ CIRCULAR_SYMLINK_ERROR = (
+- OSError
++ (OSError,)
+ if sys.version_info < (3, 10) and sys.platform.startswith("win32")
+- else RuntimeError
++ else (RuntimeError,) if sys.version_info < (3, 13) else ()
+ )
+
+ YARL_VERSION: Final[Tuple[int, ...]] = tuple(map(int, yarl_version.split(".")[:2]))
+@@ -694,8 +694,9 @@ def _resolve_path_to_response(self, unresolved_path: Path) -> StreamResponse:
+ else:
+ file_path = unresolved_path.resolve()
+ file_path.relative_to(self._directory)
+- except (ValueError, CIRCULAR_SYMLINK_ERROR) as error:
+- # ValueError for relative check; RuntimeError for circular symlink.
++ except (ValueError, *CIRCULAR_SYMLINK_ERROR) as error:
++ # ValueError is raised for the relative check. Circular symlinks
++ # raise here on resolving for python < 3.13.
+ raise HTTPNotFound() from error
+
+ # if path is a directory, return the contents if permitted. Note the
diff --git a/dev-python/django/django-4.2.15.ebuild b/dev-python/django/django-4.2.15.ebuild
index 72f9686776a6..cef75a49e781 100644
--- a/dev-python/django/django-4.2.15.ebuild
+++ b/dev-python/django/django-4.2.15.ebuild
@@ -57,6 +57,8 @@ BDEPEND="
PATCHES=(
"${FILESDIR}"/django-4.0-bashcomp.patch
"${WORKDIR}"/django-4.2.8-pypy3.patch
+ # https://code.djangoproject.com/ticket/35661
+ "${FILESDIR}"/django-5.1-more-pypy3.patch
)
distutils_enable_sphinx docs --no-autodoc
diff --git a/dev-python/django/django-5.0.8.ebuild b/dev-python/django/django-5.0.8.ebuild
index b983c77cd40d..4a9ff84cb7fb 100644
--- a/dev-python/django/django-5.0.8.ebuild
+++ b/dev-python/django/django-5.0.8.ebuild
@@ -59,6 +59,8 @@ PATCHES=(
"${WORKDIR}"/django-5.0-pypy3.patch
# https://github.com/django/django/commit/3426a5c33c36266af42128ee9eca4921e68ea876
"${FILESDIR}"/django-5.0.6-py313.patch
+ # https://code.djangoproject.com/ticket/35661
+ "${FILESDIR}"/django-5.1-more-pypy3.patch
)
distutils_enable_sphinx docs --no-autodoc
diff --git a/dev-python/django/django-5.1.ebuild b/dev-python/django/django-5.1.ebuild
index 0b53a7c5d8d6..f7956e77f1ee 100644
--- a/dev-python/django/django-5.1.ebuild
+++ b/dev-python/django/django-5.1.ebuild
@@ -56,6 +56,8 @@ BDEPEND="
PATCHES=(
"${FILESDIR}"/django-4.0-bashcomp.patch
+ # https://code.djangoproject.com/ticket/35661
+ "${FILESDIR}"/django-5.1-more-pypy3.patch
)
distutils_enable_sphinx docs --no-autodoc
diff --git a/dev-python/django/files/django-5.1-more-pypy3.patch b/dev-python/django/files/django-5.1-more-pypy3.patch
new file mode 100644
index 000000000000..27663898cc55
--- /dev/null
+++ b/dev-python/django/files/django-5.1-more-pypy3.patch
@@ -0,0 +1,51 @@
+From d9aeb23edb6cc861360ffbb59a45beccafe55dcb Mon Sep 17 00:00:00 2001
+From: Mariusz Felisiak <felisiak.mariusz@gmail.com>
+Date: Thu, 8 Aug 2024 08:13:29 +0200
+Subject: [PATCH] [5.1.x] Fixed #35661 -- Fixed
+ test_too_many_digits_to_rander() test crash on PyPy.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Thanks Michał Górny for the report.
+
+Backport of 7fb15ad5bcae05324ee8913e4b2c6c982e8f2de0 from main.
+---
+ .../template_tests/filter_tests/test_floatformat.py | 12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/tests/template_tests/filter_tests/test_floatformat.py b/tests/template_tests/filter_tests/test_floatformat.py
+index 3d6c34a55232..6183f6a0691d 100644
+--- a/tests/template_tests/filter_tests/test_floatformat.py
++++ b/tests/template_tests/filter_tests/test_floatformat.py
+@@ -4,6 +4,7 @@
+ from django.test import SimpleTestCase
+ from django.utils import translation
+ from django.utils.safestring import mark_safe
++from django.utils.version import PYPY
+
+ from ..utils import setup
+
+@@ -181,12 +182,21 @@ def test_too_many_digits_to_render(self):
+ "-1E10000000000000000",
+ "1e10000000000000000",
+ "-1e10000000000000000",
+- "1" + "0" * 1_000_000,
+ ]
+ for value in cases:
+ with self.subTest(value=value):
+ self.assertEqual(floatformat(value), value)
+
++ def test_too_many_digits_to_render_very_long(self):
++ value = "1" + "0" * 1_000_000
++ if PYPY:
++ # PyPy casts decimal parts to int, which reaches the integer string
++ # conversion length limit (default 4300 digits, CVE-2020-10735).
++ with self.assertRaises(ValueError):
++ floatformat(value)
++ else:
++ self.assertEqual(floatformat(value), value)
++
+ def test_float_dunder_method(self):
+ class FloatWrapper:
+ def __init__(self, value):