diff --git a/pkgs/by-name/mi/mike/package.nix b/pkgs/by-name/mi/mike/package.nix new file mode 100644 index 000000000000..797026bcfcd4 --- /dev/null +++ b/pkgs/by-name/mi/mike/package.nix @@ -0,0 +1 @@ +{ python3Packages }: with python3Packages; toPythonApplication mike diff --git a/pkgs/development/python-modules/mike/default.nix b/pkgs/development/python-modules/mike/default.nix index 934c77440529..0d23235e09ad 100644 --- a/pkgs/development/python-modules/mike/default.nix +++ b/pkgs/development/python-modules/mike/default.nix @@ -2,59 +2,80 @@ lib, buildPythonPackage, fetchFromGitHub, - git, + setuptools, importlib-metadata, importlib-resources, jinja2, mkdocs, - pythonOlder, + pyparsing, pyyaml, - unittestCheckHook, + pyyaml-env-tag, verspec, + versionCheckHook, + pytestCheckHook, + git, + shtab, + stdenv, }: buildPythonPackage rec { pname = "mike"; - version = "unstable-2023-05-06"; - format = "setuptools"; - - disabled = pythonOlder "3.7"; + version = "2.1.3"; + pyproject = true; src = fetchFromGitHub { owner = "jimporter"; - repo = pname; - rev = "300593c338b18f61f604d18457c351e166318020"; - hash = "sha256-Sjj2275IJDtLjG6uO9h4FbgxXTMgqD8c/rJj6iOxfuI="; + repo = "mike"; + tag = "v${version}"; + hash = "sha256-eGUkYcPTrXwsZPqyDgHJlEFXzhMnenoZsjeHVGO/9WU="; }; - propagatedBuildInputs = [ + build-system = [ + setuptools + ]; + + dependencies = [ importlib-metadata importlib-resources jinja2 mkdocs + pyparsing pyyaml + pyyaml-env-tag verspec ]; + nativeInstallCheckInputs = [ versionCheckHook ]; + versionCheckProgramArg = "--version"; + doInstallCheck = true; + + __darwinAllowLocalNetworking = true; + nativeCheckInputs = [ + pytestCheckHook git - unittestCheckHook + mkdocs + shtab ]; - preCheck = '' - export PATH=$out/bin:$PATH - ''; - - # Difficult to setup - doCheck = false; + preCheck = + '' + export PATH=$out/bin:$PATH + '' + # "stat" on darwin results in "not permitted" instead of "does not exists" + + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace test/unit/test_git_utils.py \ + --replace-fail "/home/nonexist" "$(mktemp -d)" + ''; pythonImportsCheck = [ "mike" ]; - meta = with lib; { - description = "Manage multiple versions of your MkDocs-powered documentation"; - mainProgram = "mike"; + meta = { + description = "Manage multiple versions of your MkDocs-powered documentation via Git"; homepage = "https://github.com/jimporter/mike"; - license = licenses.bsd3; - maintainers = [ ]; + changelog = "https://github.com/jimporter/mike/blob/v${version}/CHANGES.md"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ marcel ]; + mainProgram = "mike"; }; }