summaryrefslogtreecommitdiff
path: root/dev-python/textual
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-03-28 07:14:12 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-03-28 07:14:12 +0000
commit092c8f0bee28da7e426bd12abf9919b8459ef84f (patch)
treeca07b70dd2ff9d2c074672ecba68f6994d31ab84 /dev-python/textual
parentb2887c7ab46ed23ad0f71c82db7c9444661c69fc (diff)
downloadbaldeagleos-repo-092c8f0bee28da7e426bd12abf9919b8459ef84f.tar.gz
baldeagleos-repo-092c8f0bee28da7e426bd12abf9919b8459ef84f.tar.xz
baldeagleos-repo-092c8f0bee28da7e426bd12abf9919b8459ef84f.zip
Adding metadata
Diffstat (limited to 'dev-python/textual')
-rw-r--r--dev-python/textual/Manifest1
-rw-r--r--dev-python/textual/textual-8.1.1-r1.ebuild99
-rw-r--r--dev-python/textual/textual-8.2.0.ebuild107
3 files changed, 168 insertions, 39 deletions
diff --git a/dev-python/textual/Manifest b/dev-python/textual/Manifest
index 58bf629c66d5..6e28453ebf54 100644
--- a/dev-python/textual/Manifest
+++ b/dev-python/textual/Manifest
@@ -1 +1,2 @@
DIST textual-8.1.1.gh.tar.gz 30212024 BLAKE2B 897e3d4714aebaaacfed5a84e298a400c3f13224a74d64e958cb9eda1fd368d3ec00b8b6f350e2d229a68299a9007f893979e86f4b09b4ae2e1c39975e46f26e SHA512 335457e9f9b8e44e73e1d7103f9ffb8dd92adc10be906004066659ac5209069bfdb673f78473c21a251a5d891943d56b26b0544fd7365e5d72d4f3d220c73518
+DIST textual-8.2.0.gh.tar.gz 30216630 BLAKE2B 5b68a3c21b93ceac315a38062cf4d3b85d9b36a906fc80684cf6b9645ca7ce02d7216784a8047e502154634375e398ee17918fc4841d29acf88231808c7a152d SHA512 8f4f7f2066fa4baa4dbe84cd0ba73150910423436d1d4cc2536c6bcd8c1f45c826cbc0e567b5497099738b4f35b3790199f4c24e4c2bf17572501661ef3e9488
diff --git a/dev-python/textual/textual-8.1.1-r1.ebuild b/dev-python/textual/textual-8.1.1-r1.ebuild
index cc91ad786d51..416ea220e6aa 100644
--- a/dev-python/textual/textual-8.1.1-r1.ebuild
+++ b/dev-python/textual/textual-8.1.1-r1.ebuild
@@ -18,7 +18,7 @@ SRC_URI="https://github.com/Textualize/textual/archive/refs/tags/v${PV}.tar.gz -
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~arm64"
RDEPEND="
>=dev-python/markdown-it-py-2.1.0[${PYTHON_USEDEP}]
@@ -29,58 +29,79 @@ RDEPEND="
<dev-python/typing-extensions-5[${PYTHON_USEDEP}]
"
+declare -A SYNTAX_LANGS=(
+ ["bash"]="Bash"
+ ["c"]="C"
+ # TODO Missing keyword for ~arm64 in ::gentoo
+ #["cmake"]="CMake"
+ ["cpp"]="C++"
+ ["html"]="HTML"
+ ["javascript"]="JavaScript"
+ ["json"]="JSON"
+ ["lua"]="Lua"
+ # TODO No Python bindings in ::gentoo
+ #["markdown"]="Markdown"
+ ["python"]="Python"
+ # TODO Missing keyword for ~arm64 in ::gentoo
+ #["ruby"]="Ruby"
+ ["rust"]="Rust"
+ # TODO Many other (common) languages are neither in ::gentoo nor ::guru
+)
+
BDEPEND="
test? (
dev-python/httpx[${PYTHON_USEDEP}]
- =dev-python/textual-dev-1.7*[${PYTHON_USEDEP}]
+ =dev-python/textual-dev-1.8*[${PYTHON_USEDEP}]
+ $(printf " dev-libs/tree-sitter-%s[python,${PYTHON_USEDEP}]" "${!SYNTAX_LANGS[@]}")
)
"
DOCS+=( {CHANGELOG,README}.md )
-EPYTEST_PLUGINS=( pytest-asyncio )
+EPYTEST_PLUGINS=(
+ syrupy
+ pytest-{asyncio,textual-snapshot}
+)
EPYTEST_XDIST=1
-EPYTEST_DESELECT=(
- # Those tests ask to press keys
- tests/snapshot_tests/test_snapshots.py
- tests/test_xterm_parser.py::test_escape_sequence_resulting_in_multiple_keypresses
+distutils_enable_tests pytest
- # Need a package that should be optional
- tests/text_area/test_languages.py
+EPYTEST_DESELECT=(
+ # Require unavailable tree-sitter-*[python] grammar packages (v8.1.1)
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[markdown]"
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[toml]"
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[yaml]"
+ "tests/text_area/test_languages.py::test_setting_builtin_language_via_constructor" # markdown
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[css]"
+ "tests/text_area/test_languages.py::test_setting_builtin_language_via_attribute" # markdown
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[go]"
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[regex]"
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[sql]"
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[java]"
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[xml]"
- # Xdist fails thoses
- tests/test_focus.py::test_focus_next_and_previous
- tests/test_focus.py::test_focus_next_wrap_around
- tests/test_focus.py::test_focus_previous_wrap_around
- tests/test_focus.py::test_wrap_around_selector
- tests/test_focus.py::test_no_focus_empty_selector
- tests/test_focus.py::test_focus_next_and_previous_with_type_selector
- tests/test_focus.py::test_focus_next_and_previous_with_str_selector
- tests/test_focus.py::test_focus_next_and_previous_with_str_selector_without_self
- tests/test_focus.py::test_focus_chain
- tests/test_focus.py::test_allow_focus
- tests/test_focus.py::test_focus_next_and_previous_with_type_selector_without_self
+ # These tests do not render correctly per visual inspection of snapshot_report.html (v8.1.1)
+ # TODO Investigate/ask upstream
+ "tests/snapshot_tests/test_snapshots.py::test_richlog_width"
+ "tests/snapshot_tests/test_snapshots.py::test_richlog_min_width"
+ "tests/snapshot_tests/test_snapshots.py::test_richlog_deferred_render_expand"
+ "tests/snapshot_tests/test_snapshots.py::test_welcome"
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_wrapping_and_folding"
- # Needs a fixture that does not exist
- tests/test_progress_bar.py::test_progress_bar_width_1fr
+ # Likely missed in this PR: (v8.1.1)
+ # https://github.com/Textualize/textual/pull/6410#issuecomment-4135017177
+ "tests/test_arrange.py::test_arrange_dock_left"
)
-distutils_enable_tests pytest
-
-# python_test() {
-# if [[ ${EPYTHON} == python3.13 ]]; then
-# EPYTEST_DESELECT+=(
-# # See https://github.com/Textualize/textual/issues/5327
-# "tests/text_area"
-# # Some tests just do not work under python3.13 (more than half of those in this file)
-# tests/test_focus.py
-# )
-# epytest -m 'not syntax' tests
-# else
-# epytest tests
-# fi
-# }
+python_test() {
+ # Tests use @pytest.mark.xdist_group
+ epytest --dist loadgroup
+}
pkg_postinst() {
- optfeature "bindings for python" dev-python/tree-sitter
+ optfeature_header "Install additional packages for syntax highlighting:"
+
+ local lang
+ for lang in "${!SYNTAX_LANGS[@]}"; do
+ optfeature "${SYNTAX_LANGS[${lang}]}" "dev-libs/tree-sitter-${lang}[python]"
+ done
}
diff --git a/dev-python/textual/textual-8.2.0.ebuild b/dev-python/textual/textual-8.2.0.ebuild
new file mode 100644
index 000000000000..416ea220e6aa
--- /dev/null
+++ b/dev-python/textual/textual-8.2.0.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Modern Text User Interface framework"
+HOMEPAGE="
+ https://textual.textualize.io/
+ https://github.com/Textualize/textual
+ https://pypi.org/project/textual/
+"
+SRC_URI="https://github.com/Textualize/textual/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/markdown-it-py-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3.6.0[${PYTHON_USEDEP}]
+ <dev-python/platformdirs-5[${PYTHON_USEDEP}]
+ >=dev-python/rich-14.2.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.4.0[${PYTHON_USEDEP}]
+ <dev-python/typing-extensions-5[${PYTHON_USEDEP}]
+"
+
+declare -A SYNTAX_LANGS=(
+ ["bash"]="Bash"
+ ["c"]="C"
+ # TODO Missing keyword for ~arm64 in ::gentoo
+ #["cmake"]="CMake"
+ ["cpp"]="C++"
+ ["html"]="HTML"
+ ["javascript"]="JavaScript"
+ ["json"]="JSON"
+ ["lua"]="Lua"
+ # TODO No Python bindings in ::gentoo
+ #["markdown"]="Markdown"
+ ["python"]="Python"
+ # TODO Missing keyword for ~arm64 in ::gentoo
+ #["ruby"]="Ruby"
+ ["rust"]="Rust"
+ # TODO Many other (common) languages are neither in ::gentoo nor ::guru
+)
+
+BDEPEND="
+ test? (
+ dev-python/httpx[${PYTHON_USEDEP}]
+ =dev-python/textual-dev-1.8*[${PYTHON_USEDEP}]
+ $(printf " dev-libs/tree-sitter-%s[python,${PYTHON_USEDEP}]" "${!SYNTAX_LANGS[@]}")
+ )
+"
+
+DOCS+=( {CHANGELOG,README}.md )
+
+EPYTEST_PLUGINS=(
+ syrupy
+ pytest-{asyncio,textual-snapshot}
+)
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Require unavailable tree-sitter-*[python] grammar packages (v8.1.1)
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[markdown]"
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[toml]"
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[yaml]"
+ "tests/text_area/test_languages.py::test_setting_builtin_language_via_constructor" # markdown
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[css]"
+ "tests/text_area/test_languages.py::test_setting_builtin_language_via_attribute" # markdown
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[go]"
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[regex]"
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[sql]"
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[java]"
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_language_rendering[xml]"
+
+ # These tests do not render correctly per visual inspection of snapshot_report.html (v8.1.1)
+ # TODO Investigate/ask upstream
+ "tests/snapshot_tests/test_snapshots.py::test_richlog_width"
+ "tests/snapshot_tests/test_snapshots.py::test_richlog_min_width"
+ "tests/snapshot_tests/test_snapshots.py::test_richlog_deferred_render_expand"
+ "tests/snapshot_tests/test_snapshots.py::test_welcome"
+ "tests/snapshot_tests/test_snapshots.py::test_text_area_wrapping_and_folding"
+
+ # Likely missed in this PR: (v8.1.1)
+ # https://github.com/Textualize/textual/pull/6410#issuecomment-4135017177
+ "tests/test_arrange.py::test_arrange_dock_left"
+)
+
+python_test() {
+ # Tests use @pytest.mark.xdist_group
+ epytest --dist loadgroup
+}
+
+pkg_postinst() {
+ optfeature_header "Install additional packages for syntax highlighting:"
+
+ local lang
+ for lang in "${!SYNTAX_LANGS[@]}"; do
+ optfeature "${SYNTAX_LANGS[${lang}]}" "dev-libs/tree-sitter-${lang}[python]"
+ done
+}