dev-python/rich: Sync with Gentoo

It's from Gentoo commit ccf6cc94dbe0c11a99aca1a448bc7a867700739a.

Signed-off-by: Flatcar Buildbot <buildbot@flatcar-linux.org>
This commit is contained in:
Flatcar Buildbot 2026-03-02 07:25:18 +00:00 committed by Krzesimir Nowak
parent 7728babd77
commit 61b919269d
5 changed files with 143 additions and 103 deletions

View File

@ -1,2 +1,4 @@
DIST rich-14.1.0.gh.tar.gz 15070577 BLAKE2B b1ce2783dc3292df250f416812a6bd7d1c6cc2f15a979f50dd6811771de3beb01f4baf8d5b1ec50c2929dd572578daac58e332017e62e60f51b45e34ed5ac953 SHA512 39971d8811b754e708aa422f71a777164aee1ec0b76df3b350b637fdd6c3d3a715ccc36dfce587355b4ec95ce73a8d197da1179be13c7c1d936ba45bd2073a64
DIST rich-14.2.0.gh.tar.gz 15072049 BLAKE2B a44560624c3e3b77f279885935a239b162251087a4a58688c40ec7feb84fd7f4948b5966091231e71067131875c3ad71fd8ee4f5e72d90a872c5dc6f08d1d071 SHA512 8e1f7ee149ceac9074cf60ad1298f2b96cdeeb1f71e1e4181101ab0b0da858d03907998a8667fb73154abf02ae511c595257618bcc3321136df253842f8e4a85
DIST rich-14.3.1.gh.tar.gz 15087781 BLAKE2B c89a1c935db2be86423835ce0f026ec488741cca1de08b32604e89f56ff4f1b7a00758f8bac74a8841803544a49ce5166c786cb8846178288f23ac8f167a8af2 SHA512 7d99cf7a2fa3682d27792d37b39a6ffd5ce403498581b7f19e829c709e49ca01f8a1290b5909eea8323879cccaafdad0301e2de81b4312f0c16751905afbc146
DIST rich-14.3.2.gh.tar.gz 15086838 BLAKE2B 4ed2d676273dcb671b602982709179e7e2d317ce39ee1b882ee3c52c844b0357b6c4ab11e0617dd4db9edcd4865a01975f453b2fde8f97e73bced962467e315e SHA512 68a82b2c19c9ccf475549f5c096b646b40606626d86425ab2b87a18010039fca275ab431d96775a2770530ae975213109d984ed1934127c361c56f705c0dc13a
DIST rich-14.3.3.gh.tar.gz 15087403 BLAKE2B 3d21a0b1e5b5441bdcb9d0051a552ffe771287707bc0ab24d75cea5f6dc14b8fad9daffd0d4b1f0704c96883259d11a0c57701ae7c2628b86157912a1b7fa591 SHA512 61026597c8224f64bb113231dc1e991b7ed471793c72700ca8d52adf5234f96c84de09ec8d175a60582e68d8ff935c507fdb2599d0a567832f739abcb599ef96

View File

@ -1,84 +0,0 @@
https://github.com/Textualize/rich/pull/3622
From 91bbeac3ec8b87790865be974260d44adc8def61 Mon Sep 17 00:00:00 2001
From: Karolina Surma <ksurma@redhat.com>
Date: Tue, 28 Jan 2025 10:03:26 +0100
Subject: [PATCH] Skip tests which are expected to fail with Python 3.14
---
tests/test_inspect.py | 9 +++++++++
tests/test_pretty.py | 5 +++++
2 files changed, 14 insertions(+)
diff --git a/tests/test_inspect.py b/tests/test_inspect.py
index 130e8df12..fd1d26e2c 100644
--- a/tests/test_inspect.py
+++ b/tests/test_inspect.py
@@ -43,6 +43,11 @@
reason="rendered differently on py3.13",
)
+skip_py314 = pytest.mark.skipif(
+ sys.version_info.minor == 14 and sys.version_info.major == 3,
+ reason="rendered differently on py3.14",
+)
+
skip_pypy3 = pytest.mark.skipif(
hasattr(sys, "pypy_version_info"),
reason="rendered differently on pypy3",
@@ -139,6 +144,7 @@ def test_inspect_empty_dict():
assert render({}).startswith(expected)
+@skip_py314
@skip_py313
@skip_py312
@skip_py311
@@ -219,6 +225,7 @@ def test_inspect_integer_with_value():
@skip_py311
@skip_py312
@skip_py313
+@skip_py314
def test_inspect_integer_with_methods_python38_and_python39():
expected = (
"╭──────────────── <class 'int'> ─────────────────╮\n"
@@ -257,6 +264,7 @@ def test_inspect_integer_with_methods_python38_and_python39():
@skip_py311
@skip_py312
@skip_py313
+@skip_py314
def test_inspect_integer_with_methods_python310only():
expected = (
"╭──────────────── <class 'int'> ─────────────────╮\n"
@@ -299,6 +307,7 @@ def test_inspect_integer_with_methods_python310only():
@skip_py310
@skip_py312
@skip_py313
+@skip_py314
def test_inspect_integer_with_methods_python311():
# to_bytes and from_bytes methods on int had minor signature change -
# they now, as of 3.11, have default values for all of their parameters
diff --git a/tests/test_pretty.py b/tests/test_pretty.py
index 90be42f87..29331d9d5 100644
--- a/tests/test_pretty.py
+++ b/tests/test_pretty.py
@@ -38,6 +38,10 @@
sys.version_info.minor == 13 and sys.version_info.major == 3,
reason="rendered differently on py3.13",
)
+skip_py314 = pytest.mark.skipif(
+ sys.version_info.minor == 14 and sys.version_info.major == 3,
+ reason="rendered differently on py3.14",
+)
def test_install() -> None:
@@ -639,6 +643,7 @@ class Nada:
@skip_py311
@skip_py312
@skip_py313
+@skip_py314
def test_attrs_broken() -> None:
@attr.define
class Foo:

View File

@ -1,4 +1,4 @@
# Copyright 2022-2025 Gentoo Authors
# Copyright 2022-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
RDEPEND="
dev-python/colorama[${PYTHON_USEDEP}]
@ -33,11 +33,6 @@ BDEPEND="
)
"
PATCHES=(
# https://github.com/Textualize/rich/pull/3622
"${FILESDIR}"/${PN}-14.0.0-py314.patch
)
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
@ -57,22 +52,11 @@ python_test() {
)
# version-specific output -- the usual deal
case ${EPYTHON} in
pypy3)
EPYTEST_DESELECT+=(
# pypy3.10, to be more precise
tests/test_inspect.py::test_inspect_integer_with_methods_python310only
)
;;
pypy3.11)
EPYTEST_DESELECT+=(
tests/test_inspect.py::test_inspect_integer_with_methods_python311
)
;;
python3.14*)
EPYTEST_DESELECT+=(
# Span vs Style
tests/test_text.py::test_assemble_meta
)
esac
local -x COLUMNS=80

View File

@ -0,0 +1,68 @@
# Copyright 2022-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
PYTHON_COMPAT=( python3_{11..14} pypy3_11 )
inherit distutils-r1 optfeature
DESCRIPTION="Python library for rendering rich text, tables, etc. to the terminal"
HOMEPAGE="
https://github.com/Textualize/rich/
https://pypi.org/project/rich/
"
SRC_URI="
https://github.com/Textualize/rich/archive/v${PV}.tar.gz
-> ${P}.gh.tar.gz
"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
RDEPEND="
dev-python/colorama[${PYTHON_USEDEP}]
>=dev-python/markdown-it-py-2.2.0[${PYTHON_USEDEP}]
>=dev-python/pygments-2.13.0[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
>=dev-python/attrs-21.4.0[${PYTHON_USEDEP}]
)
"
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
python_test() {
local EPYTEST_DESELECT=(
# TODO
tests/test_console.py::test_size_can_fall_back_to_std_descriptors
# TODO: segfault in recursion (PyQt6 interfering?)
tests/test_traceback.py::test_recursive
# TODO: some random dep changes?
tests/test_markdown.py::test_inline_code
tests/test_syntax.py::test_blank_lines
tests/test_syntax.py::test_python_render_simple_indent_guides
# pygments version?
tests/test_syntax.py::test_from_path
tests/test_syntax.py::test_syntax_guess_lexer
)
# version-specific output -- the usual deal
case ${EPYTHON} in
pypy3.11)
EPYTEST_DESELECT+=(
tests/test_inspect.py::test_inspect_integer_with_methods_python311
)
;;
esac
local -x COLUMNS=80
epytest
}
pkg_postinst() {
optfeature "integration with HTML widgets for Jupyter" dev-python/ipywidgets
}

View File

@ -0,0 +1,70 @@
# Copyright 2022-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
PYTHON_COMPAT=( python3_{11..14} pypy3_11 )
inherit distutils-r1 optfeature
DESCRIPTION="Python library for rendering rich text, tables, etc. to the terminal"
HOMEPAGE="
https://github.com/Textualize/rich/
https://pypi.org/project/rich/
"
SRC_URI="
https://github.com/Textualize/rich/archive/v${PV}.tar.gz
-> ${P}.gh.tar.gz
"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
RDEPEND="
dev-python/colorama[${PYTHON_USEDEP}]
>=dev-python/markdown-it-py-2.2.0[${PYTHON_USEDEP}]
>=dev-python/pygments-2.13.0[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
>=dev-python/attrs-21.4.0[${PYTHON_USEDEP}]
)
"
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
python_test() {
local EPYTEST_DESELECT=(
# TODO
tests/test_console.py::test_size_can_fall_back_to_std_descriptors
# TODO: segfault in recursion (PyQt6 interfering?)
tests/test_traceback.py::test_recursive
# TODO: some random dep changes?
tests/test_markdown.py::test_inline_code
tests/test_syntax.py::test_blank_lines
tests/test_syntax.py::test_python_render_simple_indent_guides
# pygments version?
tests/test_syntax.py::test_from_path
tests/test_syntax.py::test_syntax_guess_lexer
# flaky? plain broken?
tests/test_console.py::test_brokenpipeerror
)
# version-specific output -- the usual deal
case ${EPYTHON} in
pypy3.11)
EPYTEST_DESELECT+=(
tests/test_inspect.py::test_inspect_integer_with_methods_python311
)
;;
esac
local -x COLUMNS=80
epytest
}
pkg_postinst() {
optfeature "integration with HTML widgets for Jupyter" dev-python/ipywidgets
}