diff --git a/pkgs/development/python-modules/versioningit/default.nix b/pkgs/development/python-modules/versioningit/default.nix new file mode 100644 index 000000000000..74cccb73cb5b --- /dev/null +++ b/pkgs/development/python-modules/versioningit/default.nix @@ -0,0 +1,68 @@ +{ lib +, buildPythonPackage +, pythonOlder +, fetchPypi +, importlib-metadata +, packaging +, setuptools +, tomli +, pytestCheckHook +, build +, pydantic +, pytest-mock +, git +, mercurial +}: + +buildPythonPackage rec { + pname = "versioningit"; + version = "2.0.1"; + disabled = pythonOlder "3.8"; + format = "pyproject"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-gJfiYNm99nZYW9gTO/e1//rDeox2KWJVtC2Gy1EqsuM="; + }; + + propagatedBuildInputs = [ + packaging + setuptools + tomli + ] ++ lib.optionals (pythonOlder "3.10") [ + importlib-metadata + ]; + + checkInputs = [ + pytestCheckHook + build + pydantic + pytest-mock + git + mercurial + ]; + + disabledTests = [ + # wants to write to the Nix store + "test_editable_mode" + ]; + + preCheck = '' + substituteInPlace tox.ini \ + --replace "--cov=versioningit" "" \ + --replace "--cov-config=tox.ini" "" \ + --replace "--no-cov-on-fail" "" + ''; + + pythonImportsCheck = [ + "versioningit" + ]; + + meta = with lib; { + description = "setuptools plugin for determining package version from VCS"; + homepage = "https://github.com/jwodder/versioningit"; + changelog = "https://versioningit.readthedocs.io/en/latest/changelog.html"; + license = licenses.mit; + maintainers = with maintainers; [ DeeUnderscore ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index eb4600bcaaec..7f9b56ac5b81 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11526,6 +11526,8 @@ in { versionfinder = callPackage ../development/python-modules/versionfinder { }; + versioningit = callPackage ../development/python-modules/versioningit { }; + versiontag = callPackage ../development/python-modules/versiontag { }; versiontools = callPackage ../development/python-modules/versiontools { };