diff options
Diffstat (limited to 'pkgs/development/python-modules/docutils/default.nix')
-rw-r--r-- | pkgs/development/python-modules/docutils/default.nix | 92 |
1 files changed, 58 insertions, 34 deletions
diff --git a/pkgs/development/python-modules/docutils/default.nix b/pkgs/development/python-modules/docutils/default.nix index 136f679fcf6e2..cdfb53572213d 100644 --- a/pkgs/development/python-modules/docutils/default.nix +++ b/pkgs/development/python-modules/docutils/default.nix @@ -1,41 +1,65 @@ -{ stdenv -, lib -, fetchPypi -, buildPythonPackage -, python -, pythonOlder +{ + stdenv, + lib, + fetchFromRepoOrCz, + buildPythonPackage, + flit-core, + pillow, + python, + pythonOlder, }: -buildPythonPackage rec { - pname = "docutils"; - version = "0.20.1"; +# Note: this package is used to build LLVM’s documentation, which is part of the Darwin stdenv. +# It cannot use `fetchgit` because that would pull curl into the bootstrap, which is disallowed. - disabled = pythonOlder "3.7"; +let + self = buildPythonPackage rec { + pname = "docutils"; + version = "0.21.2"; + pyproject = true; - format = "setuptools"; + disabled = pythonOlder "3.7"; - src = fetchPypi { - inherit pname version; - hash = "sha256-8IpOJ2w6FYOobc4+NKuj/gTQK7ot1R7RYQYkToqSPjs="; - }; + src = fetchFromRepoOrCz { + repo = "docutils"; + rev = "docutils-${version}"; + hash = "sha256-Q+9yW+BYUEvPYV504368JsAoKKoaTZTeKh4tVeiNv5Y="; + }; + + build-system = [ flit-core ]; + + # infinite recursion via sphinx and pillow + doCheck = false; + passthru.tests.pytest = self.overridePythonAttrs { doCheck = true; }; + + nativeCheckInputs = [ pillow ]; + + # Only Darwin needs LANG, but we could set it in general. + # It's done here conditionally to prevent mass-rebuilds. + checkPhase = + lib.optionalString stdenv.isDarwin ''LANG="en_US.UTF-8" LC_ALL="en_US.UTF-8" '' + + '' + ${python.interpreter} test/alltests.py + ''; + + # Create symlinks lacking a ".py" suffix, many programs depend on these names + postFixup = '' + for f in $out/bin/*.py; do + ln -s $(basename $f) $out/bin/$(basename $f .py) + done + ''; - # Only Darwin needs LANG, but we could set it in general. - # It's done here conditionally to prevent mass-rebuilds. - checkPhase = lib.optionalString stdenv.isDarwin ''LANG="en_US.UTF-8" LC_ALL="en_US.UTF-8" '' + '' - ${python.interpreter} test/alltests.py - ''; - - # Create symlinks lacking a ".py" suffix, many programs depend on these names - postFixup = '' - for f in $out/bin/*.py; do - ln -s $(basename $f) $out/bin/$(basename $f .py) - done - ''; - - meta = with lib; { - description = "Python Documentation Utilities"; - homepage = "http://docutils.sourceforge.net/"; - license = with licenses; [ publicDomain bsd2 psfl gpl3Plus ]; - maintainers = with maintainers; [ AndersonTorres ]; + meta = with lib; { + description = "Python Documentation Utilities"; + homepage = "http://docutils.sourceforge.net/"; + license = with licenses; [ + publicDomain + bsd2 + psfl + gpl3Plus + ]; + maintainers = with maintainers; [ AndersonTorres ]; + }; }; -} +in +self |