diff --git a/2091.patch b/2091.patch deleted file mode 100644 index 4cafad9..0000000 --- a/2091.patch +++ /dev/null @@ -1,311 +0,0 @@ -From e1f763310e99d4c048d86c76b61073f3822aa981 Mon Sep 17 00:00:00 2001 -From: "pre-commit-ci[bot]" - <66853113+pre-commit-ci[bot]@users.noreply.github.com> -Date: Mon, 6 Jan 2025 17:40:47 +0000 -Subject: [PATCH 1/6] [pre-commit.ci] pre-commit autoupdate hooks -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -updates: -- [github.com/pycontribs/mirrors-prettier: v3.3.3 → v3.4.2](https://github.com/pycontribs/mirrors-prettier/compare/v3.3.3...v3.4.2) -- [github.com/astral-sh/ruff-pre-commit: v0.8.1 → v0.8.6](https://github.com/astral-sh/ruff-pre-commit/compare/v0.8.1...v0.8.6) -- [github.com/asottile/pyupgrade: v3.19.0 → v3.19.1](https://github.com/asottile/pyupgrade/compare/v3.19.0...v3.19.1) -- [github.com/Riverside-Healthcare/djLint: v1.36.3 → v1.36.4](https://github.com/Riverside-Healthcare/djLint/compare/v1.36.3...v1.36.4) -- [github.com/thibaudcolas/pre-commit-stylelint: v16.11.0 → v16.12.0](https://github.com/thibaudcolas/pre-commit-stylelint/compare/v16.11.0...v16.12.0) ---- - .pre-commit-config.yaml | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml -index 0d7c67c84..209a6d3e2 100644 ---- a/.pre-commit-config.yaml -+++ b/.pre-commit-config.yaml -@@ -13,7 +13,7 @@ default_language_version: - - repos: - - repo: "https://github.com/pycontribs/mirrors-prettier" -- rev: v3.3.3 -+ rev: v3.4.2 - hooks: - - id: prettier - # Exclude the HTML, since it doesn't understand Jinja2 -@@ -22,20 +22,20 @@ repos: - exclude: .+\.html|webpack\.config\.js|tests/test_a11y/ - - - repo: "https://github.com/astral-sh/ruff-pre-commit" -- rev: "v0.8.1" -+ rev: "v0.8.6" - hooks: - - id: ruff - args: [--exit-non-zero-on-fix] - - id: ruff-format - - - repo: "https://github.com/asottile/pyupgrade" -- rev: v3.19.0 -+ rev: v3.19.1 - hooks: - - id: pyupgrade - args: [--py37-plus] - - - repo: "https://github.com/Riverside-Healthcare/djLint" -- rev: v1.36.3 -+ rev: v1.36.4 - hooks: - - id: djlint-jinja - types_or: ["html"] -@@ -56,7 +56,7 @@ repos: - - id: remove-metadata - - - repo: "https://github.com/thibaudcolas/pre-commit-stylelint" -- rev: v16.11.0 -+ rev: v16.12.0 - hooks: - - id: stylelint - # automatically fix .scss files where possible - -From 3e5aa9b4137445b288d6b287b36c8785c8c861b9 Mon Sep 17 00:00:00 2001 -From: "pre-commit-ci[bot]" - <66853113+pre-commit-ci[bot]@users.noreply.github.com> -Date: Mon, 6 Jan 2025 17:41:49 +0000 -Subject: [PATCH 2/6] [pre-commit.ci] Automatic linting and formatting fixes - ---- - .../styles/abstracts/_accessibility.scss | 6 +++-- - .../assets/styles/variables/_color.scss | 24 +++++++------------ - .../assets/styles/variables/_fonts.scss | 6 ++--- - 3 files changed, 15 insertions(+), 21 deletions(-) - -diff --git a/src/pydata_sphinx_theme/assets/styles/abstracts/_accessibility.scss b/src/pydata_sphinx_theme/assets/styles/abstracts/_accessibility.scss -index bc5cf74b7..53aa6aef0 100644 ---- a/src/pydata_sphinx_theme/assets/styles/abstracts/_accessibility.scss -+++ b/src/pydata_sphinx_theme/assets/styles/abstracts/_accessibility.scss -@@ -70,8 +70,10 @@ - $rgb-col: map.merge( - $rgb-col, - ( -- $channel: -- math.pow(math.div((math.div($value, 255) + 0.055), 1.055), 2.4), -+ $channel: math.pow( -+ math.div((math.div($value, 255) + 0.055), 1.055), -+ 2.4 -+ ), - ) - ); - } -diff --git a/src/pydata_sphinx_theme/assets/styles/variables/_color.scss b/src/pydata_sphinx_theme/assets/styles/variables/_color.scss -index 6553f0b24..5efe04989 100644 ---- a/src/pydata_sphinx_theme/assets/styles/variables/_color.scss -+++ b/src/pydata_sphinx_theme/assets/styles/variables/_color.scss -@@ -26,8 +26,7 @@ - /* Assign base colors for the PyData theme */ - $color-palette: ( - // Primary color -- "teal": -- ( -+ "teal": ( - "50": #f4fbfc, - "100": #e9f6f8, - "200": #d0ecf1, -@@ -40,8 +39,7 @@ $color-palette: ( - "900": #021b1f, - ), - // Secondary color -- "violet": -- ( -+ "violet": ( - "50": #f4eefb, - "100": #e0c7ff, - "200": #d5b4fd, -@@ -54,8 +52,7 @@ $color-palette: ( - "900": #1e0e39, - ), - // Neutrals -- "gray": -- ( -+ "gray": ( - "50": #f9f9fa, - "100": #f3f4f5, - "200": #e5e7ea, -@@ -68,8 +65,7 @@ $color-palette: ( - "900": #14181e, - ), - // Accent color -- "pink": -- ( -+ "pink": ( - "50": #fcf8fd, - "100": #fcf0fa, - "200": #f8dff5, -@@ -161,8 +157,7 @@ $pst-semantic-colors: ( - "bg-dark": #002f17, - ), - // This is based on the warning color -- "attention": -- ( -+ "attention": ( - "light": var(--pst-color-warning), - "bg-light": var(--pst-color-warning-bg), - "dark": var(--pst-color-warning), -@@ -229,15 +224,13 @@ $pst-semantic-colors: ( - // DEPTH COLORS - you can see the elevation colours and shades - // in the Figma file https://www.figma.com/file/rUrrHGhUBBIAAjQ82x6pz9/PyData-Design-system---proposal-for-implementation-(2)?node-id=1492%3A922&t=sQeQZehkOzposYEg-1 - // background: color of the canvas / the furthest back layer -- "background": -- ( -+ "background": ( - "light": #{map-deep-get($color-palette, "foundation", "white")}, - "dark": #{map-deep-get($color-palette, "foundation", "black")}, - ), - // on-background: provides slight contrast against background - // (by use of shadows in light theme) -- "on-background": -- ( -+ "on-background": ( - "light": #{map-deep-get($color-palette, "foundation", "white")}, - "dark": #{map-deep-get($color-palette, "gray", "800")}, - ), -@@ -246,8 +239,7 @@ $pst-semantic-colors: ( - "dark": #{map-deep-get($color-palette, "gray", "700")}, - ), - // on_surface: object on top of surface object (without shadows) -- "on-surface": -- ( -+ "on-surface": ( - "light": #{map-deep-get($color-palette, "gray", "800")}, - "dark": $foundation-light-gray, - ), -diff --git a/src/pydata_sphinx_theme/assets/styles/variables/_fonts.scss b/src/pydata_sphinx_theme/assets/styles/variables/_fonts.scss -index 5b76b37ed..9a16122ea 100644 ---- a/src/pydata_sphinx_theme/assets/styles/variables/_fonts.scss -+++ b/src/pydata_sphinx_theme/assets/styles/variables/_fonts.scss -@@ -33,9 +33,9 @@ html { - - // Font family - // These are adapted from https://systemfontstack.com/ */ -- --pst-font-family-base-system: -apple-system, "BlinkMacSystemFont", "Segoe UI", -- "Helvetica Neue", "Arial", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", -- "Segoe UI Symbol"; -+ --pst-font-family-base-system: -apple-system, "BlinkMacSystemFont", -+ "Segoe UI", "Helvetica Neue", "Arial", sans-serif, "Apple Color Emoji", -+ "Segoe UI Emoji", "Segoe UI Symbol"; - --pst-font-family-monospace-system: "SFMono-Regular", "Menlo", "Consolas", - "Monaco", "Liberation Mono", "Lucida Console", monospace; - --pst-font-family-base: var(--pst-font-family-base-system); - -From 402b8613ffbf5248471b94437592f05b98257592 Mon Sep 17 00:00:00 2001 -From: Daniel McCloy -Date: Wed, 8 Jan 2025 10:54:28 -0600 -Subject: [PATCH 3/6] update caniuse-lite - ---- - package-lock.json | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -diff --git a/package-lock.json b/package-lock.json -index fef417f7c..5688e1834 100644 ---- a/package-lock.json -+++ b/package-lock.json -@@ -709,9 +709,9 @@ - } - }, - "node_modules/caniuse-lite": { -- "version": "1.0.30001609", -- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001609.tgz", -- "integrity": "sha512-JFPQs34lHKx1B5t1EpQpWH4c+29zIyn/haGsbpfq3suuV9v56enjFt23zqijxGTMwy1p/4H2tjnQMY+p1WoAyA==", -+ "version": "1.0.30001690", -+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001690.tgz", -+ "integrity": "sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==", - "dev": true, - "funding": [ - { -@@ -726,7 +726,8 @@ - "type": "github", - "url": "https://github.com/sponsors/ai" - } -- ] -+ ], -+ "license": "CC-BY-4.0" - }, - "node_modules/chalk": { - "version": "4.1.2", - -From f43024ded15bf55ea61e2bbaec8612d8b8631645 Mon Sep 17 00:00:00 2001 -From: Daniel McCloy -Date: Wed, 8 Jan 2025 11:01:22 -0600 -Subject: [PATCH 4/6] improve test - ---- - tests/test_build.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/tests/test_build.py b/tests/test_build.py -index 7a005fa4a..170a29a83 100644 ---- a/tests/test_build.py -+++ b/tests/test_build.py -@@ -891,8 +891,8 @@ def test_pygments_fallbacks(sphinx_build_factory, style_names, keyword_colors) - - # see if our warnings worked - if style_names[0].startswith("fake"): - assert len(warnings) == 2 -- re.match(r"Color theme fake_foo.*tango", warnings[0]) -- re.match(r"Color theme fake_bar.*monokai", warnings[1]) -+ assert re.search(r"Highlighting style fake_foo.*tango", warnings[0]) -+ assert re.search(r"Highlighting style fake_bar.*monokai", warnings[1]) - else: - assert warnings == [""] - # test that the rendered HTML has highlighting spans - -From 513729664b1c2c51c68d2c6086a9f05cea1976c1 Mon Sep 17 00:00:00 2001 -From: Daniel McCloy -Date: Wed, 8 Jan 2025 11:23:46 -0600 -Subject: [PATCH 5/6] show info why test fails - ---- - tests/test_build.py | 8 +++----- - 1 file changed, 3 insertions(+), 5 deletions(-) - -diff --git a/tests/test_build.py b/tests/test_build.py -index 170a29a83..0d2f861f7 100644 ---- a/tests/test_build.py -+++ b/tests/test_build.py -@@ -907,11 +907,9 @@ def test_pygments_fallbacks(sphinx_build_factory, style_names, keyword_colors) - - lines = css_file.readlines() - assert lines[0].startswith('html[data-theme="light"]') - for mode, color in dict(zip(["light", "dark"], keyword_colors)).items(): -- regexp = re.compile( -- r'html\[data-theme="' + mode + r'"\].*\.k .*color: ' + color -- ) -- matches = [regexp.match(line) is not None for line in lines] -- assert sum(matches) == 1 -+ regexp = re.compile(rf'html\[data-theme="{mode}"\].*\.k .*color:\s?{color}') -+ matches = [regexp.search(line) is not None for line in lines] -+ assert sum(matches) == 1, f"expected {mode}: {color}\n" + "\n".join(lines) - - - def test_deprecated_build_html(sphinx_build_factory, file_regression) -> None: - -From d73887b5c73e805b28d8c7cd865c8f8e58a85745 Mon Sep 17 00:00:00 2001 -From: Daniel McCloy -Date: Wed, 8 Jan 2025 11:28:43 -0600 -Subject: [PATCH 6/6] ignorecase - ---- - tests/test_build.py | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/tests/test_build.py b/tests/test_build.py -index 0d2f861f7..8444da330 100644 ---- a/tests/test_build.py -+++ b/tests/test_build.py -@@ -907,7 +907,10 @@ def test_pygments_fallbacks(sphinx_build_factory, style_names, keyword_colors) - - lines = css_file.readlines() - assert lines[0].startswith('html[data-theme="light"]') - for mode, color in dict(zip(["light", "dark"], keyword_colors)).items(): -- regexp = re.compile(rf'html\[data-theme="{mode}"\].*\.k .*color:\s?{color}') -+ regexp = re.compile( -+ r'html\[data-theme="' + mode + r'"\].*\.k .*color:\s?' + color, -+ re.IGNORECASE, -+ ) - matches = [regexp.search(line) is not None for line in lines] - assert sum(matches) == 1, f"expected {mode}: {color}\n" + "\n".join(lines) - diff --git a/pydata-sphinx-theme-0.16.1-vendor-licenses.txt b/pydata-sphinx-theme-0.15.4-vendor-licenses.txt similarity index 69% rename from pydata-sphinx-theme-0.16.1-vendor-licenses.txt rename to pydata-sphinx-theme-0.15.4-vendor-licenses.txt index fa65162..dbeeeab 100644 --- a/pydata-sphinx-theme-0.16.1-vendor-licenses.txt +++ b/pydata-sphinx-theme-0.15.4-vendor-licenses.txt @@ -1,17 +1,16 @@ yarn run v1.22.22 $ /tmp/node_modules/.bin/license-checker --summary -├─ MIT: 267 -├─ ISC: 32 +├─ MIT: 263 +├─ ISC: 36 ├─ BSD-2-Clause: 15 -├─ BSD-3-Clause: 7 -├─ Apache-2.0: 6 +├─ BSD-3-Clause: 6 +├─ Apache-2.0: 4 ├─ CC0-1.0: 2 ├─ (CC-BY-4.0 AND OFL-1.1 AND MIT): 1 ├─ MPL-2.0: 1 ├─ CC-BY-4.0: 1 -├─ (WTFPL OR MIT): 1 ├─ CC-BY-3.0: 1 ├─ (MIT AND CC-BY-3.0): 1 └─ 0BSD: 1 -Done in 0.61s. +Done in 0.65s. diff --git a/python-pydata-sphinx-theme-fontawesome.patch b/python-pydata-sphinx-theme-fontawesome.patch index 5eda863..d4763ac 100644 --- a/python-pydata-sphinx-theme-fontawesome.patch +++ b/python-pydata-sphinx-theme-fontawesome.patch @@ -1,33 +1,77 @@ ---- pydata-sphinx-theme-0.16.1/src/pydata_sphinx_theme/assets/scripts/fontawesome.js.orig 2024-12-17 03:38:01.000000000 -0700 -+++ pydata-sphinx-theme-0.16.1/src/pydata_sphinx_theme/assets/scripts/fontawesome.js 2024-12-17 09:09:44.347458128 -0700 -@@ -1,4 +1,4 @@ - // TODO: @trallard might end up moving this to the main JS file - // Define the custom behavior of the page +--- pydata-sphinx-theme-0.14.0/webpack.config.js.orig 2023-09-15 00:05:14.000000000 -0600 ++++ pydata-sphinx-theme-0.14.0/webpack.config.js 2023-09-15 08:31:37.188931403 -0600 +@@ -29,12 +29,8 @@ exec(`pybabel compile -d ${localePath} - + * Paths for various assets (sources and destinations) + */ --import "@fortawesome/fontawesome-free/js/all.min.js"; -+import "/usr/share/fontawesome/js/all.min.js"; ---- pydata-sphinx-theme-0.16.1/src/pydata_sphinx_theme/assets/styles/pydata-sphinx-theme.scss.orig 2024-12-17 03:38:01.000000000 -0700 -+++ pydata-sphinx-theme-0.16.1/src/pydata_sphinx_theme/assets/styles/pydata-sphinx-theme.scss 2024-12-17 09:10:32.401619489 -0700 -@@ -7,10 +7,10 @@ - @import "~bootstrap/scss/bootstrap"; +-const vendorVersions = {fontAwesome: require("@fortawesome/fontawesome-free/package.json").version}; +- + const scriptPath = resolve(__dirname, "src/pydata_sphinx_theme/assets/scripts"); + const staticPath = resolve(__dirname,"src/pydata_sphinx_theme/theme/pydata_sphinx_theme/static"); +-const vendorPath = resolve(staticPath, "vendor"); +-const faPath = {fontAwesome: resolve(vendorPath, "fontawesome", vendorVersions.fontAwesome)}; - // Import FontAwesome from _node_modules --@import "~@fortawesome/fontawesome-free/scss/fontawesome"; --@import "~@fortawesome/fontawesome-free/scss/solid"; --@import "~@fortawesome/fontawesome-free/scss/regular"; --@import "~@fortawesome/fontawesome-free/scss/brands"; -+@import "/usr/share/fontawesome/scss/fontawesome"; -+@import "/usr/share/fontawesome/scss/solid"; -+@import "/usr/share/fontawesome/scss/regular"; -+@import "/usr/share/fontawesome/scss/brands"; + /******************************************************************************* + * functions to load the assets in the html head +@@ -60,15 +56,15 @@ const theme_scripts = [ + "scripts/pydata-sphinx-theme.js", + ]; + const fa_stylesheets = [ +- `vendor/fontawesome/${vendorVersions.fontAwesome}/css/all.min.css`, ++ `file:///usr/share/fontawsome/css/all.min.css`, + ]; + const fa_scripts = [ +- `vendor/fontawesome/${vendorVersions.fontAwesome}/js/all.min.js`, ++ `file:///usr/share/fontawesome/js/all.min.js`, + ]; + const fa_fonts = [ +- `vendor/fontawesome/${vendorVersions.fontAwesome}/webfonts/fa-solid-900.woff2`, +- `vendor/fontawesome/${vendorVersions.fontAwesome}/webfonts/fa-brands-400.woff2`, +- `vendor/fontawesome/${vendorVersions.fontAwesome}/webfonts/fa-regular-400.woff2`, ++ `file:///usr/share/fonts/fontawesome-6-free-solid-fonts/Font Awesome 6 Free-Solid-900.otf`, ++ `file:///usr/share/fonts/fontawesome-6-brands-fonts/Font Awesome 6 Brands-Regular-400.otf`, ++ `file:///usr/share/fonts/fontawesome-6-free-fonts/Font Awesome 6 Free-Regular-400.otf`, + ]; - // Variables - @import "variables/layout"; ---- pydata-sphinx-theme-0.16.1/src/pydata_sphinx_theme/assets/styles/variables/_fonts.scss.orig 2024-12-17 03:38:01.000000000 -0700 -+++ pydata-sphinx-theme-0.16.1/src/pydata_sphinx_theme/assets/styles/variables/_fonts.scss 2024-12-17 09:10:57.682173950 -0700 -@@ -44,4 +44,4 @@ html { - } + /******************************************************************************* +@@ -120,31 +116,6 @@ const htmlWebpackPlugin = new HtmlWebpac + templateContent: macroTemplate, + }); - $line-height-body: 1.65; --$fa-font-path: "vendor/fontawesome/webfonts/"; -+$fa-font-path: "/usr/share/fontawesome/webfonts/"; +-const copyPlugin = new CopyPlugin({ // fontawesome +- patterns: [ +- { +- context: "./node_modules/@fortawesome/fontawesome-free", +- from: "LICENSE.txt", +- to: resolve(faPath.fontAwesome, "LICENSE.txt"), +- }, +- { +- context: "./node_modules/@fortawesome/fontawesome-free/css", +- from: "all.min.css", +- to: resolve(faPath.fontAwesome, "css"), +- }, +- { +- context: "./node_modules/@fortawesome/fontawesome-free/js", +- from: "all.min.js", +- to: resolve(faPath.fontAwesome, "js"), +- }, +- { +- context: "./node_modules/@fortawesome/fontawesome-free", +- from: "webfonts", +- to: resolve(faPath.fontAwesome, "webfonts"), +- }, +- ] +-}); +- + module.exports = { + mode: "production", + devtool: "source-map", +@@ -164,7 +135,7 @@ module.exports = { + ], + }], + }, +- plugins: [htmlWebpackPlugin, copyPlugin, new MiniCssExtractPlugin({ ++ plugins: [htmlWebpackPlugin, new MiniCssExtractPlugin({ + filename: "styles/[name].css" + })], + experiments: { diff --git a/python-pydata-sphinx-theme.spec b/python-pydata-sphinx-theme.spec index 163a622..d4a5877 100644 --- a/python-pydata-sphinx-theme.spec +++ b/python-pydata-sphinx-theme.spec @@ -1,28 +1,25 @@ # Documentation can no longer be built in Fedora due to missing python modules: -# ablog and sphinx-togglebutton +# ablog, myst-nb, sphinx-togglebutton # This also means that doctests cannot be run. %bcond docs 0 %global giturl https://github.com/pydata/pydata-sphinx-theme Name: python-pydata-sphinx-theme -Version: 0.16.1 +Version: 0.15.4 Release: %autorelease Summary: Bootstrap-based Sphinx theme from the PyData community # This project is BSD-3-Clause. # The bundled bootstrap JavaScript library is MIT. License: BSD-3-Clause AND MIT +BuildArch: noarch URL: https://pydata-sphinx-theme.readthedocs.io/ VCS: git:%{giturl}.git Source0: %{giturl}/archive/v%{version}/pydata-sphinx-theme-%{version}.tar.gz # Source1 and Source2 created with ./prepare_vendor.sh Source1: pydata-sphinx-theme-%{version}-vendor.tar.xz Source2: pydata-sphinx-theme-%{version}-vendor-licenses.txt - -# Compatibility with Pygments 2.19+ -Patch: https://github.com/pydata/pydata-sphinx-theme/pull/2091.patch - %if %{with docs} # Generating image files requires network access. Instead, we scrape these from # https://pydata-sphinx-theme.readthedocs.io/en/latest/_images. See @@ -32,34 +29,30 @@ Source3: pydata-gallery.tar.xz # Fedora-only patch: unbundle the fontawesome fonts Patch: %{name}-fontawesome.patch -BuildArch: noarch -BuildSystem: pyproject -BuildOption(install): -L pydata_sphinx_theme -BuildOption(generate_buildrequires): -x test%{?with_docs:,doc} - -BuildRequires: babel BuildRequires: fontawesome-fonts-all -BuildRequires: fontawesome-fonts-web BuildRequires: gcc-c++ BuildRequires: make BuildRequires: nodejs-devel BuildRequires: nodejs-npm +BuildRequires: python3-devel +BuildRequires: %{py3_dist pytest-regressions} BuildRequires: yarnpkg -Provides: bundled(js-bootstrap) = 5.3.8 +Provides: bundled(js-bootstrap) = 5.3.3 %if %{without docs} Obsoletes: %{name}-doc < 0.13.0-1 %endif -%global _description %{expand:This package contains a Sphinx extension for creating document components +%global _description %{expand: +This package contains a Sphinx extension for creating document components optimized for HTML+CSS. -- The panels directive creates panels of content in a grid layout, utilizing - both the Bootstrap 5 grid system, and cards layout. +- The panels directive creates panels of content in a grid layout, + utilizing both the Bootstrap 4 grid system, and cards layout. -- The link-button directive creates a clickable button, linking to a URL or - reference, and can also be used to make an entire panel clickable. +- The link-button directive creates a clickable button, linking to a URL + or reference, and can also be used to make an entire panel clickable. - The dropdown directive creates content that can be toggled. @@ -69,21 +62,13 @@ optimized for HTML+CSS. See https://pydata-sphinx-theme.readthedocs.io/ for documentation.} -%description -%_description +%description %_description %package -n python3-pydata-sphinx-theme Summary: Bootstrap-based Sphinx theme from the PyData community Requires: fontawesome-fonts-all -Requires: fontawesome-fonts-web -Provides: bundled(js-bootstrap) = 5.3.7 -%if %{without docs} -Obsoletes: %{name}-doc < 0.13.0-1 -%endif - -%description -n python3-pydata-sphinx-theme -%_description +%description -n python3-pydata-sphinx-theme %_description %if %{with docs} %package doc @@ -95,8 +80,6 @@ Documentation for pydata-sphinx-theme. %prep %autosetup -n pydata-sphinx-theme-%{version} -p1 -a1 - -%conf cp -p %{SOURCE2} . %if %{with docs} @@ -107,36 +90,26 @@ sed -i 's,https://pydata-sphinx-theme\.readthedocs\.io/en/latest/,,' docs/conf.p %endif # Substitute the installed nodejs version for the requested version -%global nodejs_version %(%{_bindir}/node -v | sed s/v//) sed -i 's,^\(node-version = \)".*",\1"%{nodejs_version}",' pyproject.toml -%generate_buildrequires -p # The Fedora sphinx package does not provide sphinx[test] sed -i 's/\(sphinx\)\[test\]/\1/' pyproject.toml -# Do not run code coverage tools -sed -i 's/, "pytest-cov"//' pyproject.toml -%build -p +%generate_buildrequires +%pyproject_buildrequires -x test%{?with_docs:,doc} + +%build export YARN_CACHE_FOLDER="$PWD/.package-cache" yarn install --offline nodeenv --node=system --prebuilt --clean-src $PWD/.nodeenv -%install -a -%define instdir %{buildroot}%{python3_sitelib}/pydata_sphinx_theme -%define themedir %{instdir}/theme/pydata_sphinx_theme/static -sed -i '/\.gitignore/d' %{pyproject_files} -rm %{themedir}/.gitignore +%pyproject_wheel -# More work is required to fully unbundle the fontawesome fonts -sed -i 's,pydata_sphinx_theme/\.\./\.\./\.\./\.\./\.\.,,g' \ - %{themedir}/scripts/fontawesome.js.map \ - %{themedir}/styles/pydata-sphinx-theme.css.map -sed -e 's,url.*fa-solid-900\.woff2.*format("truetype"),local("fontawesome-free-fonts/Font Awesome 6 Free-Solid-900") format("opentype"),g' \ - -e 's,url.*fa-regular-400\.woff2.*format("truetype"),local("fontawesome-free-fonts/Font Awesome 6 Free-Regular-400") format("opentype"),g' \ - -e 's,url.*fa-brands-400\.woff2.*format("truetype"),local("fontawesome-brands-fonts/Font Awesome 6 Brands-Regular-400") format("opentype"),g' \ - -i %{themedir}/styles/pydata-sphinx-theme.css -sed -i '/vendor/d' %{pyproject_files} -rm -fr %{themedir}/vendor +%install +%pyproject_install +%pyproject_save_files pydata_sphinx_theme +sed -i '/\.gitignore/d' %{pyproject_files} +rm %{buildroot}%{python3_sitelib}/pydata_sphinx_theme/theme/pydata_sphinx_theme/static/.gitignore %if %{with docs} # We need an installed tree before documentation building works properly @@ -147,7 +120,8 @@ cd - %endif %check -%pytest -v +# Translation does not work correctly in an uninstalled tree +%pytest -k 'not test_translations' %files -n python3-pydata-sphinx-theme -f %{pyproject_files} %doc README.md diff --git a/sources b/sources index 9561b12..d4609d7 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (pydata-sphinx-theme-0.16.1.tar.gz) = a72d5be0dfdd11ffac8ed60521121053343869234b7fc1a5d2ac3b5a78cc3b00afdb7875608bd7cdb455d1bfa92dfdffcf541310aed211f6eb49a6ce29f2c045 -SHA512 (pydata-sphinx-theme-0.16.1-vendor.tar.xz) = 601ccbd08a688fbc46635e72c05e4ce134286b0f4a6ab45e8cb8ccdc3bc1f407dc0e12508343c4eb240e9d0f8adb25b4734f2f472a4036fddc29eb63130bd4a7 +SHA512 (pydata-sphinx-theme-0.15.4.tar.gz) = 5cdedfa182a75c0735773627bbe738f31b36bc812051d4848676b33acf3b2a55d2bd59b1171c4deb4e7c29e8968bcade1f1abfa901c3c4dc8caeaf9e47cbba28 +SHA512 (pydata-sphinx-theme-0.15.4-vendor.tar.xz) = 444db95e25c739247478e579a16dd358af1d26c4775883518140fd5b9aebace9c537a0536810bb5bda6cec916b1826a08237e7c902cc9b262e78d816f234b9b6