summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatoro Mahri <matoro_gentoo@matoro.tk>2023-11-23 18:45:06 -0500
committerSam James <sam@gentoo.org>2023-11-24 09:30:25 +0000
commitc478fe42f9141e9900d3ebc35db8fd3549dce511 (patch)
treec8ab68a0af92dbda3ce60b68275af89988e2ae5b /dev-python/sphinxcontrib-jquery
parentmedia-libs/sdl-gfx: Keyword 2.0.26-r1 mips, #917782 (diff)
downloadgentoo-c478fe42f9141e9900d3ebc35db8fd3549dce511.tar.gz
gentoo-c478fe42f9141e9900d3ebc35db8fd3549dce511.tar.bz2
gentoo-c478fe42f9141e9900d3ebc35db8fd3549dce511.zip
dev-python/sphinxcontrib-jquery: add patch for sphinx compat
See: https://github.com/sphinx-contrib/jquery/pull/28 Closes: https://bugs.gentoo.org/911837 Signed-off-by: Matoro Mahri <matoro_gentoo@matoro.tk> Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-python/sphinxcontrib-jquery')
-rw-r--r--dev-python/sphinxcontrib-jquery/files/sphinxcontrib-jquery-4.1-backport-pr28.patch102
-rw-r--r--dev-python/sphinxcontrib-jquery/sphinxcontrib-jquery-4.1.ebuild2
2 files changed, 104 insertions, 0 deletions
diff --git a/dev-python/sphinxcontrib-jquery/files/sphinxcontrib-jquery-4.1-backport-pr28.patch b/dev-python/sphinxcontrib-jquery/files/sphinxcontrib-jquery-4.1-backport-pr28.patch
new file mode 100644
index 000000000000..b9b10eb793c7
--- /dev/null
+++ b/dev-python/sphinxcontrib-jquery/files/sphinxcontrib-jquery-4.1-backport-pr28.patch
@@ -0,0 +1,102 @@
+https://bugs.gentoo.org/911837
+https://github.com/sphinx-contrib/jquery/pull/28
+
+From ac97ce5202b05ddb6bf4e5b77151a8964b6bf632 Mon Sep 17 00:00:00 2001
+From: Dmitry Shachnev <mitya57@gmail.com>
+Date: Mon, 31 Jul 2023 15:22:24 +0300
+Subject: [PATCH 1/3] Make the tests pass with Sphinx 7.1
+
+Fixes #25.
+---
+ .github/workflows/test.yml | 5 ++++-
+ tests/test_jquery_installed.py | 12 ++++++++----
+ 2 files changed, 12 insertions(+), 5 deletions(-)
+
+diff --git a/tests/test_jquery_installed.py b/tests/test_jquery_installed.py
+index a402bd4..08c25ba 100644
+--- a/tests/test_jquery_installed.py
++++ b/tests/test_jquery_installed.py
+@@ -38,12 +38,14 @@ def test_jquery_installed_sphinx_ge_60_use_sri(blank_app):
+ out_dir = blank_app(confoverrides={"extensions": ["sphinxcontrib.jquery"], "jquery_use_sri": True})
+
+ text = out_dir.joinpath("index.html").read_text(encoding="utf-8")
++ checksum = '?v=5d32c60e' if sphinx.version_info[:2] >= (7, 1) else ''
+ assert ('<script '
+ 'integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" '
+- 'src="_static/jquery.js"></script>') in text
++ f'src="_static/jquery.js{checksum}"></script>') in text
++ checksum = '?v=2cd50e6c' if sphinx.version_info[:2] >= (7, 1) else ''
+ assert ('<script '
+ 'integrity="sha384-lSZeSIVKp9myfKbDQ3GkN/KHjUc+mzg17VKDN4Y2kUeBSJioB9QSM639vM9fuY//" '
+- 'src="_static/_sphinx_javascript_frameworks_compat.js"></script>') in text
++ f'src="_static/_sphinx_javascript_frameworks_compat.js{checksum}"></script>') in text
+
+ static_dir = out_dir / '_static'
+ assert static_dir.joinpath('jquery.js').is_file()
+@@ -56,10 +58,12 @@ def test_jquery_installed_sphinx_ge_60(blank_app):
+ out_dir = blank_app(confoverrides={"extensions": ["sphinxcontrib.jquery"]})
+
+ text = out_dir.joinpath("index.html").read_text(encoding="utf-8")
++ checksum = '?v=5d32c60e' if sphinx.version_info[:2] >= (7, 1) else ''
+ assert ('<script '
+- 'src="_static/jquery.js"></script>') in text
++ f'src="_static/jquery.js{checksum}"></script>') in text
++ checksum = '?v=2cd50e6c' if sphinx.version_info[:2] >= (7, 1) else ''
+ assert ('<script '
+- 'src="_static/_sphinx_javascript_frameworks_compat.js"></script>') in text
++ f'src="_static/_sphinx_javascript_frameworks_compat.js{checksum}"></script>') in text
+
+ static_dir = out_dir / '_static'
+ assert static_dir.joinpath('jquery.js').is_file()
+
+From 3318a82854fccec528cd73e12ab2ab96d8e71064 Mon Sep 17 00:00:00 2001
+From: Karolina Surma <ksurma@redhat.com>
+Date: Thu, 2 Nov 2023 10:44:24 +0100
+Subject: [PATCH 2/3] Enable testing with Sphinx 7.2+
+
+Since Sphinx is heading towards the standard Path objects, there's
+no need to monkeypatch the attributes anymore: the Path.resolve()
+method does the relevant work for us.
+---
+ tests/test_jquery_installed.py | 15 ++++++++++++---
+ 1 file changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/tests/test_jquery_installed.py b/tests/test_jquery_installed.py
+index 08c25ba..32012e3 100644
+--- a/tests/test_jquery_installed.py
++++ b/tests/test_jquery_installed.py
+@@ -4,11 +4,18 @@
+
+ import pytest
+ import sphinx
+-from sphinx.testing.path import path
+ from sphinx.testing.util import SphinxTestApp
++from packaging.version import parse
+
+ from sphinxcontrib.jquery import _FILES, _ROOT_DIR # NoQA
+
++last_with_legacy = parse("7.1.2")
++if parse(sphinx.__version__) > last_with_legacy:
++ test_path = Path
++else:
++ from sphinx.testing.path import path
++ test_path = path
++
+
+ def run_blank_app(srcdir, **kwargs):
+ Path(srcdir, "conf.py").write_text("", encoding="ascii")
+@@ -26,9 +33,11 @@ def run_blank_app(srcdir, **kwargs):
+ @pytest.fixture(scope="function")
+ def blank_app(tmpdir, monkeypatch):
+ def inner(**kwargs):
+- return run_blank_app(path(tmpdir), **kwargs)
++ return run_blank_app(test_path(tmpdir), **kwargs)
+
+- monkeypatch.setattr("sphinx.application.abspath", lambda x: x)
++ # Sphinx 7.2.x doesn't have abspath
++ if hasattr(sphinx.application, "abspath"):
++ monkeypatch.setattr("sphinx.application.abspath", lambda x: x)
+ yield inner
+
+
+
diff --git a/dev-python/sphinxcontrib-jquery/sphinxcontrib-jquery-4.1.ebuild b/dev-python/sphinxcontrib-jquery/sphinxcontrib-jquery-4.1.ebuild
index 1b08a94fffb4..6a63a04482f9 100644
--- a/dev-python/sphinxcontrib-jquery/sphinxcontrib-jquery-4.1.ebuild
+++ b/dev-python/sphinxcontrib-jquery/sphinxcontrib-jquery-4.1.ebuild
@@ -24,4 +24,6 @@ RDEPEND="
dev-python/sphinx[${PYTHON_USEDEP}]
"
+PATCHES=( "${FILESDIR}/${PN}-4.1-backport-pr28.patch" )
+
distutils_enable_tests pytest