168 lines
5.1 KiB
RPMSpec
168 lines
5.1 KiB
RPMSpec
Name: python-pydata-sphinx-theme
|
|
Version: 0.8.1
|
|
Release: 2%{?dist}
|
|
Summary: Bootstrap-based Sphinx theme from the PyData community
|
|
|
|
# This project is BSD.
|
|
# The bundled bootstrap and kickass JavaScript libraries are MIT.
|
|
License: BSD 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-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 %{srcname}
|
|
|
|
%description doc
|
|
Documentation for %{srcname}.
|
|
|
|
%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
|
|
|
|
%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 May 13 2022 Jerry James <loganjerry@gmail.com> - 0.8.1-2
|
|
- Bring back the doc subpackage
|
|
|
|
* Tue Apr 12 2022 Jerry James <loganjerry@gmail.com> - 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 <releng@fedoraproject.org> - 0.7.2-2
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
|
|
|
* Thu Nov 11 2021 Jerry James <loganjerry@gmail.com> - 0.7.2-1
|
|
- Version 0.7.2
|
|
|
|
* Sat Oct 2 2021 Jerry James <loganjerry@gmail.com> - 0.7.1-1
|
|
- Version 0.7.1
|
|
- Drop upstreamed -sphinx4.1 and -docutils patches
|
|
|
|
* Wed Sep 22 2021 Jerry James <loganjerry@gmail.com> - 0.6.3-2
|
|
- Add upstream -docutils patch to fix FTI (bz 2006934)
|
|
|
|
* Tue Jul 13 2021 Jerry James <loganjerry@gmail.com> - 0.6.3-1
|
|
- Initial RPM
|