nixpkgs/pkgs/development/python-modules/mkdocs/default.nix
2022-01-24 09:48:26 -05:00

91 lines
1.8 KiB
Nix

{
# eval time deps
lib
, buildPythonPackage
, fetchFromGitHub
, fetchpatch
, pythonOlder
# runtime deps
, click
, ghp-import
, importlib-metadata
, jinja2
, markdown
, mergedeep
, packaging
, pyyaml
, pyyaml-env-tag
, watchdog
# testing deps
, Babel
, mock
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "mkdocs";
version = "1.2.3";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = version;
sha256 = "sha256-LBw2ftGyeNvARQ8xiYUho8BiQh+aIEqROP51gKvNxEo=";
};
patches = [
(fetchpatch {
url = "https://github.com/mkdocs/mkdocs/commit/c93fc91e4dc0ef33e2ea418aaa32b0584a8d354a.patch";
sha256 = "sha256-7uLIuQOt6KU/+iS9cwhXkWPAHzZkQdMyNBxSMut5WK4=";
excludes = [ "tox.ini" ];
})
];
propagatedBuildInputs = [
click
jinja2
markdown
mergedeep
pyyaml
pyyaml-env-tag
ghp-import
importlib-metadata
watchdog
packaging
];
checkInputs = [
Babel
mock
];
checkPhase = ''
set -euo pipefail
runHook preCheck
python -m unittest discover -v -p '*tests.py' mkdocs --top-level-directory .
runHook postCheck
'';
pythonImportsCheck = [ "mkdocs" ];
meta = with lib; {
description = "Project documentation with Markdown / static website generator";
longDescription = ''
MkDocs is a fast, simple and downright gorgeous static site generator that's
geared towards building project documentation. Documentation source files
are written in Markdown, and configured with a single YAML configuration file.
MkDocs can also be used to generate general-purpose websites.
'';
homepage = "http://mkdocs.org/";
license = licenses.bsd2;
platforms = platforms.unix;
maintainers = with maintainers; [ rkoe ];
};
}