64 lines
1.5 KiB
Nix
64 lines
1.5 KiB
Nix
{
|
||
lib,
|
||
fetchurl,
|
||
buildPythonPackage,
|
||
flit-core,
|
||
pillow,
|
||
python,
|
||
pythonOlder,
|
||
}:
|
||
|
||
# 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.
|
||
|
||
let
|
||
self = buildPythonPackage rec {
|
||
pname = "docutils";
|
||
version = "0.21.2";
|
||
pyproject = true;
|
||
|
||
src = fetchurl {
|
||
url = "mirror://sourceforge/docutils/docutils-${version}.tar.gz";
|
||
hash = "sha256-OmsYcy7fGC2qPNEndbuzOM9WkUaPke7rEJ3v9uv6mG8=";
|
||
};
|
||
|
||
build-system = [ flit-core ];
|
||
|
||
# infinite recursion via sphinx and pillow
|
||
doCheck = false;
|
||
passthru.tests.pytest = self.overridePythonAttrs { doCheck = true; };
|
||
|
||
nativeCheckInputs = [ pillow ];
|
||
|
||
checkPhase = ''
|
||
runHook preCheck
|
||
${python.interpreter} test/alltests.py
|
||
runHook postCheck
|
||
'';
|
||
|
||
# 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
|
||
'';
|
||
|
||
pythonImportsCheck = [ "docutils" ];
|
||
|
||
meta = {
|
||
description = "Python Documentation Utilities";
|
||
homepage = "http://docutils.sourceforge.net/";
|
||
changelog = "https://sourceforge.net/projects/docutils/files/docutils/${version}";
|
||
license = with lib.licenses; [
|
||
publicDomain
|
||
bsd2
|
||
psfl
|
||
gpl3Plus
|
||
];
|
||
maintainers = with lib.maintainers; [ jherland ];
|
||
mainProgram = "docutils";
|
||
};
|
||
};
|
||
in
|
||
self
|