python3Packages.furo: 2024.8.6 -> 2025.7.19

https://github.com/pradyunsg/furo/blob/2025.7.19/docs/changelog.md

This commit was automatically generated using update-python-libraries.

Changed files
+52 -25
pkgs
development
python-modules
+52 -25
pkgs/development/python-modules/furo/default.nix
···
{
lib,
+
buildNpmPackage,
buildPythonPackage,
-
pythonOlder,
-
fetchPypi,
-
sphinx,
+
fetchFromGitHub,
+
flit-core,
+
accessible-pygments,
beautifulsoup4,
+
pygments,
+
sphinx,
sphinx-basic-ng,
}:
-
buildPythonPackage rec {
+
let
pname = "furo";
-
version = "2024.8.6";
-
format = "wheel";
+
version = "2025.07.19";
+
+
src = fetchFromGitHub {
+
owner = "pradyunsg";
+
repo = "furo";
+
tag = version;
+
hash = "sha256-pIF5zrh5YbkuSkrateEB/tDULSNbeVn2Qx+Fm3nOYGE=";
+
};
+
+
web = buildNpmPackage {
+
pname = "${pname}-web";
+
inherit version src;
-
disabled = pythonOlder "3.8";
+
npmDepsHash = "sha256-dcdHoyqF9zC/eKtEqMho7TK2E1KIvoXo0iwSPTzj+Kw=";
-
src = fetchPypi {
-
inherit pname version format;
-
dist = "py3";
-
python = "py3";
-
hash = "sha256-bNl8WLR4E9NhnmPpCBFpiA++Mx8MqIPIcf8fPxGBT1w=";
+
installPhase = ''
+
pushd src/furo/theme/furo/static
+
mkdir $out
+
cp -rv scripts styles $out/
+
popd
+
'';
};
+
in
+
+
buildPythonPackage rec {
+
inherit pname version src;
+
pyproject = true;
+
+
postPatch = ''
+
# build with boring backend that does not manage a node env
+
substituteInPlace pyproject.toml \
+
--replace-fail "sphinx-theme-builder >= 0.2.0a10" "flit-core" \
+
--replace-fail "sphinx_theme_builder" "flit_core.buildapi"
+
+
pushd src/furo/theme/furo/static
+
cp -rv ${web}/{scripts,styles} .
+
popd
+
'';
+
+
build-system = [ flit-core ];
pythonRelaxDeps = [ "sphinx" ];
-
propagatedBuildInputs = [
-
sphinx
+
dependencies = [
+
accessible-pygments
beautifulsoup4
+
pygments
+
sphinx
sphinx-basic-ng
];
-
installCheckPhase = ''
-
# furo was built incorrectly if this directory is empty
-
# Ignore the hidden file .gitignore
-
cd "$out/lib/python"*
-
if [ "$(ls 'site-packages/furo/theme/furo/static/' | wc -l)" -le 0 ]; then
-
echo 'static directory must not be empty'
-
exit 1
-
fi
-
cd -
-
'';
+
pythonImportsCheck = [ "furo" ];
-
pythonImportsCheck = [ "furo" ];
+
passthru = {
+
inherit web;
+
};
meta = with lib; {
description = "Clean customizable documentation theme for Sphinx";