about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/version-management/gitflow/default.nix
blob: de291113daeac4c09dfbc72daea4fc4687667ced (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
{ lib, stdenv, fetchFromGitHub, makeWrapper, getopt, git, coreutils }:

stdenv.mkDerivation rec {
  pname = "gitflow";
  version = "1.12.3";

  src = fetchFromGitHub {
    owner = "petervanderdoes";
    repo = pname;
    rev = version;
    sha256 = "sha256-kHirHG/bfsU6tKyQ0khNSTyChhzHfzib+HyA3LOtBI8=";
  };

  nativeBuildInputs = [ makeWrapper ];

  preBuild = ''
    makeFlagsArray+=(prefix="$out")
  '';

  postInstall = ''
    wrapProgram $out/bin/git-flow \
      --set FLAGS_GETOPT_CMD ${getopt}/bin/getopt \
      --suffix PATH : ${git}/bin \
      --prefix PATH : ${coreutils}/bin
  '';

  meta = with lib; {
    homepage = "https://github.com/petervanderdoes/gitflow";
    description = "Extend git with the Gitflow branching model";
    mainProgram = "git-flow";
    longDescription = ''
      A set of scripts that provide high-level repository operations
      for managing feature/release/hotfix branches in a Git repository,
      particularly suited to be utilised to follow Vincent Driessen's
      branching model.
    '';
    license = licenses.bsd2;
    platforms = platforms.all;
    maintainers = with maintainers; [ offline ];
  };
}