Name: python-pydata-sphinx-theme Version: 0.9.0 Release: 3%{?dist} 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://github.com/pydata/pydata-sphinx-theme Source0: %{url}/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 # Fedora-only patch: unbundle the fontawesome fonts Patch0: %{name}-fontawesome.patch BuildRequires: fontawesome5-fonts-all BuildRequires: gcc-c++ BuildRequires: make BuildRequires: nodejs-devel BuildRequires: npm BuildRequires: python3-devel BuildRequires: %{py3_dist beautifulsoup4} BuildRequires: %{py3_dist docutils} BuildRequires: %{py3_dist nodeenv} BuildRequires: %{py3_dist packaging} BuildRequires: %{py3_dist pip} BuildRequires: %{py3_dist pytest} BuildRequires: %{py3_dist pytest-regressions} BuildRequires: %{py3_dist setuptools} BuildRequires: %{py3_dist sphinx} BuildRequires: %{py3_dist sphinx-theme-builder} BuildRequires: %{py3_dist wheel} BuildRequires: yarnpkg # Documentation dependencies BuildRequires: %{py3_dist jupyter-sphinx} BuildRequires: %{py3_dist myst-parser} BuildRequires: %{py3_dist numpydoc} BuildRequires: %{py3_dist numpy} BuildRequires: %{py3_dist pandas} BuildRequires: %{py3_dist plotly} BuildRequires: %{py3_dist sphinx-design} BuildRequires: %{py3_dist sphinx-sitemap} BuildRequires: %{py3_dist sphinxext-rediraffe} BuildRequires: %{py3_dist xarray} %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 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 dropdown directive creates content that can be toggled. - The tabbed directive creates tabbed content. - opticon and fa (fontawesome) roles allow for inline icons to be added.} %description %_description %package -n python3-pydata-sphinx-theme Summary: Bootstrap-based Sphinx theme from the PyData community Requires: fontawesome5-fonts-all %description -n python3-pydata-sphinx-theme %_description %package doc Summary: Documentation for pydata-sphinx-theme %description doc Documentation for pydata-sphinx-theme. %prep %autosetup -n pydata-sphinx-theme-%{version} -p1 -a1 cp -p %{SOURCE2} . # Substitute the installed nodejs version for the requested version sed -i 's,^\(node-version = \)".*",\1"%{nodejs_version}",' pyproject.toml # Create a node header tarball so we don't try to download it mkdir -p node-v%{nodejs_version}/include cp -a %{_includedir}/node node-v%{nodejs_version}/include tar czf node-v%{nodejs_version}-headers.tar.gz node-v%{nodejs_version} npm config set tarball $PWD/node-v%{nodejs_version}-headers.tar.gz # ValueError: invalid mode: 'rU' while trying to load binding.gyp # https://bugzilla.redhat.com/show_bug.cgi?id=2099065 sed 's/"rU"/"r"/' -i .package-cache/v6/npm-node-gyp-7.1.2-*-integrity/node_modules/node-gyp/gyp/pylib/gyp/input.py %build export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1 export YARN_CACHE_FOLDER="$PWD/.package-cache" yarn install --offline # Workaround deprecated md4 used in webpack find node_modules/webpack/lib/ -type f -exec sed -i 's/md4/sha256/g' {} + # Humor nodeenv, which wants a binary named nodejs nodejs=$(which nodejs 2> /dev/null || :) if [ -z "$nodejs" ]; then if [ -d ~/bin ]; then PREEXISTING_BIN=1 else PREEXISTING_BIN=0 mkdir ~/bin fi ln -s %{_bindir}/node ~/bin/nodejs fi python3 -m nodeenv --node=system --prebuilt --clean-src $PWD/.nodeenv %pyproject_wheel if [ -z "$nodejs" ]; then if [ "$PREEXISTING_BIN" = 0 ]; then rm -fr ~/bin else rm ~/bin/nodejs fi fi %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 # We need an installed tree before documentation building works properly export PYTHONPATH=%{buildroot}%{python3_sitelib} cd docs sphinx-build -a . _build rm _build/.buildinfo cd - %check %pytest %files -n python3-pydata-sphinx-theme -f %{pyproject_files} %doc README.md %files doc %doc docs/_build/* %license LICENSE %changelog * Fri Jan 20 2023 Fedora Release Engineering - 0.9.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Fri Jan 6 2023 Jerry James - 0.9.0-2 - Fix unexpanded macros in the doc subpackage - Convert License tag to SPDX * Tue Aug 2 2022 Jerry James - 0.9.0-1 - Version 0.9.0 (fixes rhbz#2105307) * Fri Jul 22 2022 Fedora Release Engineering - 0.8.1-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Tue Jun 21 2022 Python Maint - 0.8.1-3 - Rebuilt for Python 3.11 * Fri May 13 2022 Jerry James - 0.8.1-2 - Bring back the doc subpackage * Tue Apr 12 2022 Jerry James - 0.8.1-1 - Version 0.8.1 - Drop the doc subpackage due to missing dependencies - Use yarn to install vendored JavaScript * Fri Jan 21 2022 Fedora Release Engineering - 0.7.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Thu Nov 11 2021 Jerry James - 0.7.2-1 - Version 0.7.2 * Sat Oct 2 2021 Jerry James - 0.7.1-1 - Version 0.7.1 - Drop upstreamed -sphinx4.1 and -docutils patches * Wed Sep 22 2021 Jerry James - 0.6.3-2 - Add upstream -docutils patch to fix FTI (bz 2006934) * Tue Jul 13 2021 Jerry James - 0.6.3-1 - Initial RPM