diff --git a/pkgs/development/python-modules/sphinx-design/default.nix b/pkgs/development/python-modules/sphinx-design/default.nix index dad95e81b4a3..f9131eb92294 100644 --- a/pkgs/development/python-modules/sphinx-design/default.nix +++ b/pkgs/development/python-modules/sphinx-design/default.nix @@ -1,34 +1,68 @@ { lib, buildPythonPackage, - fetchPypi, + fetchFromGitHub, + pythonOlder, + + # build-system flit-core, + + # dependencies sphinx, + + # optional-dependencies + furo, + pydata-sphinx-theme, + sphinx-rtd-theme, + sphinx-book-theme, + + # tests + defusedxml, + pytest-regressions, + pytestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "sphinx-design"; - version = "0.6.1"; - + version = "0.7.0"; pyproject = true; - src = fetchPypi { - inherit version; - pname = "sphinx_design"; - hash = "sha256-tE7qNxk4bQTXZcGoJXysorPm+EIdezpedCwP1F+E5jI="; + disabled = pythonOlder "3.10"; + + src = fetchFromGitHub { + owner = "executablebooks"; + repo = "sphinx-design"; + tag = "v${finalAttrs.version}"; + hash = "sha256-NlAAIw8X2gW2ejeSHcFrxj7Jl6OgnpZIXPK16yzxxRQ="; }; - nativeBuildInputs = [ flit-core ]; + build-system = [ flit-core ]; - propagatedBuildInputs = [ sphinx ]; + dependencies = [ sphinx ]; + + optional-dependencies = { + theme-furo = [ furo ]; + theme-pydata = [ pydata-sphinx-theme ]; + theme-rtd = [ sphinx-rtd-theme ]; + theme-sbt = [ sphinx-book-theme ]; + # TODO: theme-im = [ sphinx-immaterial ]; + }; + + pythonRelaxDeps = [ "sphinx" ]; + + nativeCheckInputs = [ + defusedxml + pytest-regressions + pytestCheckHook + ]; pythonImportsCheck = [ "sphinx_design" ]; meta = { description = "Sphinx extension for designing beautiful, view size responsive web components"; homepage = "https://github.com/executablebooks/sphinx-design"; - changelog = "https://github.com/executablebooks/sphinx-design/releases/tag/v${version}"; + changelog = "https://github.com/executablebooks/sphinx-design/releases/tag/v${finalAttrs.version}"; license = lib.licenses.mit; maintainers = [ ]; }; -} +})