nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pythonOlder,
6
7 # build-system
8 flit-core,
9
10 # dependencies
11 sphinx,
12
13 # optional-dependencies
14 furo,
15 pydata-sphinx-theme,
16 sphinx-rtd-theme,
17 sphinx-book-theme,
18
19 # tests
20 defusedxml,
21 pytest-regressions,
22 pytestCheckHook,
23}:
24
25buildPythonPackage (finalAttrs: {
26 pname = "sphinx-design";
27 version = "0.7.0";
28 pyproject = true;
29
30 src = fetchFromGitHub {
31 owner = "executablebooks";
32 repo = "sphinx-design";
33 tag = "v${finalAttrs.version}";
34 hash = "sha256-NlAAIw8X2gW2ejeSHcFrxj7Jl6OgnpZIXPK16yzxxRQ=";
35 };
36
37 build-system = [ flit-core ];
38
39 dependencies = [ sphinx ];
40
41 optional-dependencies = {
42 theme-furo = [ furo ];
43 theme-pydata = [ pydata-sphinx-theme ];
44 theme-rtd = [ sphinx-rtd-theme ];
45 theme-sbt = [ sphinx-book-theme ];
46 # TODO: theme-im = [ sphinx-immaterial ];
47 };
48
49 pythonRelaxDeps = [ "sphinx" ];
50
51 nativeCheckInputs = [
52 defusedxml
53 pytest-regressions
54 pytestCheckHook
55 ];
56
57 pythonImportsCheck = [ "sphinx_design" ];
58
59 meta = {
60 description = "Sphinx extension for designing beautiful, view size responsive web components";
61 homepage = "https://github.com/executablebooks/sphinx-design";
62 changelog = "https://github.com/executablebooks/sphinx-design/releases/tag/v${finalAttrs.version}";
63 license = lib.licenses.mit;
64 maintainers = [ ];
65 };
66})