sphinx theme used by the weblate ecosystem

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-furo?expand=0&rev=1
This commit is contained in:
2024-11-06 10:56:20 +00:00
committed by Git OBS Bridge
commit 363b736517
8 changed files with 282 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.osc

View File

@@ -0,0 +1,14 @@
yarn run v1.22.22
$ /tmp/node_modules/.bin/license-checker --summary
├─ MIT: 236
├─ ISC: 31
├─ BSD-2-Clause: 15
├─ BSD-3-Clause: 7
├─ Apache-2.0: 5
├─ CC0-1.0: 3
├─ Python-2.0: 1
├─ CC-BY-4.0: 1
├─ CC-BY-3.0: 1
└─ (MIT AND CC-BY-3.0): 1
Done in 0.38s.

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7ed99712cafbaac288226617e1d88a69225ab2c0e9405adedf7643187d3e4325
size 17697684

3
furo-2024.8.6.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b63e4cee8abfc3136d3bc03a3d45a76a850bada4d6374d24c1716b0e01394a01
size 1661506

70
prepare_vendor.sh Normal file
View File

@@ -0,0 +1,70 @@
#!/bin/bash
set -eux
PKG_URL="$(awk '
/^Source0?:/ {url = $2}
/^Version:/ {version = $2}
END { sub(/%{version}/, version, url); print url}' *.spec)"
PKG_TARBALL=$(basename $PKG_URL)
PKG_NAME=$(rpmspec -q --queryformat="%{NAME}" *.spec --srpm | sed 's/^python-//')
PKG_VERSION=$(rpmspec -q --queryformat="%{VERSION}" *.spec --srpm)
PKG_SRCDIR="${PKG_NAME}-${PKG_VERSION}"
PKG_DIR="$PWD"
PKG_TMPDIR=$(mktemp --tmpdir -d ${PKG_NAME}-XXXXXXXX)
PKG_PATH="$PKG_TMPDIR/$PKG_SRCDIR/"
echo "URL: $PKG_URL"
echo "TARBALL: $PKG_TARBALL"
echo "NAME: $PKG_NAME"
echo "VERSION: $PKG_VERSION"
echo "PATH: $PKG_PATH"
cleanup_tmpdir() {
popd 2>/dev/null
rm -rf $PKG_TMPDIR
rm -rf /tmp/yarn--*
}
trap cleanup_tmpdir SIGINT
cleanup_and_exit() {
cleanup_tmpdir
if test "$1" = 0 -o -z "$1" ; then
exit 0
else
exit $1
fi
}
if [ ! -w "$PKG_TARBALL" ]; then
wget "$PKG_URL"
fi
mkdir -p $PKG_TMPDIR
tar -xf $PKG_TARBALL -C $PKG_TMPDIR
cd $PKG_PATH
export YARN_CACHE_FOLDER="$PWD/.package-cache"
echo ">>>>>> Install npm modules"
rm package-lock.json
yarn install
if [ $? -ne 0 ]; then
echo "ERROR: yarn install failed"
cleanup_and_exit 1
fi
echo ">>>>>> Package vendor files"
rm -f $PKG_DIR/${PKG_NAME}-${PKG_VERSION}-vendor.tar.xz
XZ_OPT="-9e -T$(nproc)" tar cJf $PKG_DIR/${PKG_NAME}-${PKG_VERSION}-vendor.tar.xz .package-cache
if [ $? -ne 0 ]; then
cleanup_and_exit 1
fi
yarn add license-checker
yarn license-checker --summary | sed "s#$PKG_PATH#/tmp/#g" > $PKG_DIR/${PKG_NAME}-${PKG_VERSION}-vendor-licenses.txt
cd -
rm -rf .package-cache node_modules
cleanup_and_exit 0

9
python-furo.changes Normal file
View File

@@ -0,0 +1,9 @@
-------------------------------------------------------------------
Tue Nov 5 21:23:06 UTC 2024 - Matej Cepl <mcepl@cepl.eu>
- Completing packaging based on the Fedora package.
-------------------------------------------------------------------
Mon Nov 4 11:00:53 UTC 2024 - Markéta Machová <mmachova@suse.com>
- Initial packaging (v2024.8.6), needed by translate-toolkit

159
python-furo.spec Normal file
View File

@@ -0,0 +1,159 @@
#
# spec file for package python-furo
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: python-furo
Version: 2024.8.6
Release: 0
Summary: Clean customisable Sphinx documentation theme
# This project is MIT. Other files bundled with the documentation have the
# following licenses:
# - searchindex.js: BSD-2-Clause
# - _sources/kitchen-sink/*.rst.txt: CC-BY-SA-4.0
# - _sphinx_design_static/*: MIT
# - _static/basic.css: BSD-2-Clause
# - _static/check-solid.svg: MIT
# - _static/clipboard.min.js: MIT
# - _static/copy*: MIT
# - _static/debug.css: MIT
# - _static/demo*.png: MIT
# - _static/design*: MIT
# - _static/doctools.js: BSD-2-Clause
# - _static/file.png: BSD-2-Clause
# - _static/language_data.js: BSD-2-Clause
# - _static/minus.png: BSD-2-Clause
# - _static/pied-piper-admonition.css: MIT
# - _static/plus.png: BSD-2-Clause
# - _static/pygments.css: BSD-2-Clause
# - _static/readthedocs-dummy.js: MIT
# - _static/searchtools.js: BSD-2-Clause
# - _static/skeleton.css: MIT
# - _static/sphinx-design.min.css: MIT
# - _static/sphinx_highlight.js: BSD-2-Clause
# - _static/tabs.*: MIT
License: MIT
URL: https://pradyunsg.me/furo/
Source0: https://files.pythonhosted.org/packages/source/f/furo/furo-%{version}.tar.gz
# Source1 and Source2 created with ./prepare_vendor.sh
Source1: furo-%{version}-vendor.tar.xz
Source2: furo-%{version}-vendor-licenses.txt
BuildRequires: %{python_module devel}
BuildRequires: %{python_module doc}
BuildRequires: %{python_module myst-parser}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module sphinx-design}
BuildRequires: %{python_module sphinx-inline-tabs}
BuildRequires: %{python_module sphinx-theme-builder >= 0.2.0a10}
BuildRequires: %{python_module sphinxcontrib-copybutton}
BuildRequires: fdupes
BuildRequires: make
BuildRequires: nodejs
BuildRequires: nodejs-packaging
BuildRequires: npm-default
BuildRequires: python-rpm-macros
BuildRequires: rpmdevtools
BuildRequires: yarn
Requires: python-Sphinx >= 6.0
Requires: python-beautifulsoup4
Requires: python-pygments >= 2.7
Requires: python-sphinx-basic-ng >= 1.0.0.beta2
BuildArch: noarch
# SECTION test requirements
BuildRequires: %{python_module Sphinx >= 6.0}
BuildRequires: %{python_module beautifulsoup4}
BuildRequires: %{python_module nodeenv}
BuildRequires: %{python_module pygments >= 2.7}
BuildRequires: %{python_module sphinx-basic-ng >= 1.0.0.beta2}
BuildRequires: %{python_module urllib3}
# /SECTION
%python_subpackages
%description
Furo is a Sphinx theme, which is:
- Intentionally minimal --- the most important thing is the content, not
the scaffolding around it.
- Responsive --- adapting perfectly to the available screen space, to
work on all sorts of devices.
- Customizable --- change the color palette, font families, logo and
more!
- Easy to navigate --- with carefully-designed sidebar navigation and
inter-page links.
- Good looking content --- through clear typography and well-stylized
elements.
- Good looking search --- helps readers find what they want quickly.
- Biased for smaller docsets --- intended for smaller documentation
sets, where presenting the entire hierarchy in the sidebar is not
overwhelming.}
%package -n %{name}-doc
Summary: Documentation files for %{name}
Group: Documentation/Other
%description -n %{name}-doc
HTML Documentation and examples for %{name}.
%prep
%autosetup -p1 -a1 -n furo-%{version}
cp -p %{SOURCE2} .
# Don't ship version control files
find . -name .gitignore -delete
# Substitute the installed nodejs version for the requested version
sed -i 's,^\(node-version = \)".*",\1"%{nodejs_version}",' pyproject.toml
# Use local objects.inv for intersphinx
sed -e 's|\("https://docs\.python\.org/3", \)None|\1"%{_docdir}/python3-docs/html/objects.inv"|' \
-e 's|\("https://www\.sphinx-doc\.org/en/master", \)None|\1"%{_docdir}/python-sphinx-doc/html/objects.inv"|' \
-i docs/conf.py
%build
export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1
export YARN_CACHE_FOLDER="$PWD/.package-cache"
yarn install --offline
nodeenv --node=system --prebuilt --clean-src $PWD/.nodeenv
%pyproject_wheel
%install
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
# Build documentation
export PYTHONPATH=%{buildroot}%{python3_sitelib}
sphinx-build -b html docs html
rm -rf html/{.buildinfo,.doctrees}
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
# The tests require web access. If any tests show up that can be run without a
# network, do this:
#%%pytest -v
%files %{python_files}
%doc README.md
%license LICENSE
%{python_sitelib}/furo
%{python_sitelib}/furo-%{version}.dist-info
%files -n %{name}-doc
%doc README.md html/
%license LICENSE
%changelog