Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / applications / version-management / git-machete / default.nix
bloba4d1ffb090f0800b5a21ab942a450a36f03ca08a
1 { lib
2 , buildPythonApplication
3 , pytest-mock
4 , pytestCheckHook
5 , fetchFromGitHub
6 , installShellFiles
7 , git
8 , nix-update-script
9 , testers
10 , git-machete
13 buildPythonApplication rec {
14   pname = "git-machete";
15   version = "3.17.9";
17   src = fetchFromGitHub {
18     owner = "virtuslab";
19     repo = pname;
20     rev = "v${version}";
21     hash = "sha256-oU4c57XU/DLGjOl/CyCt6oG3QaB2xnrOEg+sUAd7sww=";
22   };
24   nativeBuildInputs = [ installShellFiles ];
26   nativeCheckInputs = [
27     git
28     pytest-mock
29     pytestCheckHook
30   ];
32   postInstall = ''
33     installShellCompletion --bash --name git-machete completion/git-machete.completion.bash
34     installShellCompletion --zsh --name _git-machete completion/git-machete.completion.zsh
35     installShellCompletion --fish completion/git-machete.fish
36   '';
38   postInstallCheck = ''
39     test "$($out/bin/git-machete version)" = "git-machete version ${version}"
40   '';
42   passthru = {
43     updateScript = nix-update-script { };
44   };
46   meta = with lib; {
47     homepage = "https://github.com/VirtusLab/git-machete";
48     description = "Git repository organizer and rebase/merge workflow automation tool";
49     changelog = "https://github.com/VirtusLab/git-machete/releases/tag/v${version}";
50     license = licenses.mit;
51     maintainers = with maintainers; [ blitz ];
52   };