nixpkgs/pkgs/development/python-modules/pdoc/default.nix
stuebinm ff1a94e523 treewide: add meta.mainProgram to packages with a single binary
The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
2024-03-19 03:14:51 +01:00

67 lines
1.3 KiB
Nix

{ lib
, buildPythonPackage
, pythonOlder
, fetchFromGitHub
, setuptools
, jinja2
, pdoc-pyo3-sample-library
, pygments
, markupsafe
, astunparse
, pytestCheckHook
, hypothesis
}:
buildPythonPackage rec {
pname = "pdoc";
version = "14.4.0";
disabled = pythonOlder "3.8";
pyproject = true;
src = fetchFromGitHub {
owner = "mitmproxy";
repo = "pdoc";
rev = "v${version}";
hash = "sha256-2k9uIK6TvoGtVqnh97g9f5QvjhyZlznRvYdw5sPaeVE=";
};
nativeBuildInputs = [
setuptools
];
propagatedBuildInputs = [
jinja2
pygments
markupsafe
] ++ lib.optional (pythonOlder "3.9") astunparse;
nativeCheckInputs = [
pytestCheckHook
hypothesis
pdoc-pyo3-sample-library
];
disabledTestPaths = [
# "test_snapshots" tries to match generated output against stored snapshots,
# which are highly sensitive to dep versions.
"test/test_snapshot.py"
];
pytestFlagsArray = [
''-m "not slow"'' # skip slow tests
];
__darwinAllowLocalNetworking = true;
pythonImportsCheck = [ "pdoc" ];
meta = with lib; {
changelog = "https://github.com/mitmproxy/pdoc/blob/${src.rev}/CHANGELOG.md";
homepage = "https://pdoc.dev/";
description = "API Documentation for Python Projects";
mainProgram = "pdoc";
license = licenses.unlicense;
maintainers = with maintainers; [ pbsds ];
};
}