diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/version-management/git-up/default.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/version-management/git-up/default.nix | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/version-management/git-up/default.nix b/nixpkgs/pkgs/applications/version-management/git-up/default.nix new file mode 100644 index 000000000000..7c0e6d53db0a --- /dev/null +++ b/nixpkgs/pkgs/applications/version-management/git-up/default.nix @@ -0,0 +1,56 @@ +{ lib +, pythonPackages +, fetchPypi +, git +}: + +pythonPackages.buildPythonApplication rec { + pname = "git-up"; + version = "2.2.0"; + format = "pyproject"; + + src = fetchPypi { + pname = "git_up"; + inherit version; + hash = "sha256-GTX2IWLQ48yWfPnmtEa9HJ5umQLttqgTlgZQlaWgeE4="; + }; + + nativeBuildInputs = with pythonPackages; [ + poetry-core + ]; + + # git should be on path for tool to work correctly + propagatedBuildInputs = [ + git + ] ++ (with pythonPackages; [ + colorama + gitpython + termcolor + ]); + + nativeCheckInputs = [ + git + pythonPackages.pytestCheckHook + ]; + + # 1. git fails to run as it cannot detect the email address, so we set it + # 2. $HOME is by default not a valid dir, so we have to set that too + # https://github.com/NixOS/nixpkgs/issues/12591 + preCheck = '' + export HOME=$TMPDIR + git config --global user.email "nobody@example.com" + git config --global user.name "Nobody" + ''; + + postInstall = '' + rm -r $out/${pythonPackages.python.sitePackages}/PyGitUp/tests + ''; + + meta = with lib; { + homepage = "https://github.com/msiemens/PyGitUp"; + description = "A git pull replacement that rebases all local branches when pulling"; + license = licenses.mit; + maintainers = with maintainers; [ peterhoeg ]; + platforms = platforms.all; + }; +} |