mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-09 19:13:26 +03:00

Previously, it was in nativeBuildInputs which caused tests to run while cross compiling. This attempts to run host python on the build machine.
86 lines
1.7 KiB
Nix
86 lines
1.7 KiB
Nix
{
|
|
lib,
|
|
python3,
|
|
runCommand,
|
|
}:
|
|
|
|
let
|
|
python = python3.override {
|
|
self = python;
|
|
packageOverrides = final: prev: {
|
|
markdown-it-py = prev.markdown-it-py.overridePythonAttrs (_: {
|
|
doCheck = false;
|
|
});
|
|
mdit-py-plugins = prev.mdit-py-plugins.overridePythonAttrs (_: {
|
|
doCheck = false;
|
|
});
|
|
};
|
|
};
|
|
in
|
|
|
|
python.pkgs.buildPythonApplication rec {
|
|
pname = "nixos-render-docs";
|
|
version = "0.0";
|
|
format = "pyproject";
|
|
|
|
src = lib.cleanSourceWith {
|
|
filter =
|
|
name: type:
|
|
lib.cleanSourceFilter name type
|
|
&& !(
|
|
type == "directory"
|
|
&& builtins.elem (baseNameOf name) [
|
|
".pytest_cache"
|
|
".mypy_cache"
|
|
"__pycache__"
|
|
]
|
|
);
|
|
src = ./src;
|
|
};
|
|
|
|
nativeCheckInputs = [
|
|
python.pkgs.pytestCheckHook
|
|
];
|
|
|
|
build-system = [
|
|
python.pkgs.setuptools
|
|
];
|
|
|
|
propagatedBuildInputs = with python.pkgs; [
|
|
markdown-it-py
|
|
mdit-py-plugins
|
|
];
|
|
|
|
pytestFlagsArray = [
|
|
"-vvrP"
|
|
"tests/"
|
|
];
|
|
|
|
# NOTE this is a CI test rather than a build-time test because we want to keep the
|
|
# build closures small. mypy has an unreasonably large build closure for docs builds.
|
|
passthru.tests.typing =
|
|
runCommand "${pname}-mypy"
|
|
{
|
|
nativeBuildInputs = [
|
|
(python3.withPackages (
|
|
ps: with ps; [
|
|
mypy
|
|
pytest
|
|
markdown-it-py
|
|
mdit-py-plugins
|
|
]
|
|
))
|
|
];
|
|
}
|
|
''
|
|
mypy --strict ${src}
|
|
touch $out
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "Renderer for NixOS manual and option docs";
|
|
mainProgram = "nixos-render-docs";
|
|
license = licenses.mit;
|
|
maintainers = [ ];
|
|
};
|
|
}
|