1{
2 lib,
3 buildPythonPackage,
4 pythonOlder,
5 fetchPypi,
6 sphinx,
7 beautifulsoup4,
8 sphinx-basic-ng,
9}:
10
11buildPythonPackage rec {
12 pname = "furo";
13 version = "2024.8.6";
14 format = "wheel";
15
16 disabled = pythonOlder "3.8";
17
18 src = fetchPypi {
19 inherit pname version format;
20 dist = "py3";
21 python = "py3";
22 hash = "sha256-bNl8WLR4E9NhnmPpCBFpiA++Mx8MqIPIcf8fPxGBT1w=";
23 };
24
25 pythonRelaxDeps = [ "sphinx" ];
26
27 propagatedBuildInputs = [
28 sphinx
29 beautifulsoup4
30 sphinx-basic-ng
31 ];
32
33 installCheckPhase = ''
34 # furo was built incorrectly if this directory is empty
35 # Ignore the hidden file .gitignore
36 cd "$out/lib/python"*
37 if [ "$(ls 'site-packages/furo/theme/furo/static/' | wc -l)" -le 0 ]; then
38 echo 'static directory must not be empty'
39 exit 1
40 fi
41 cd -
42 '';
43
44 pythonImportsCheck = [ "furo" ];
45
46 meta = with lib; {
47 description = "Clean customizable documentation theme for Sphinx";
48 homepage = "https://github.com/pradyunsg/furo";
49 changelog = "https://github.com/pradyunsg/furo/blob/${version}/docs/changelog.md";
50 license = licenses.mit;
51 maintainers = with maintainers; [ Luflosi ];
52 };
53}