1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 makeWrapper,
6 getopt,
7 git,
8 coreutils,
9}:
10
11stdenv.mkDerivation rec {
12 pname = "gitflow";
13 version = "1.12.3";
14
15 src = fetchFromGitHub {
16 owner = "petervanderdoes";
17 repo = "gitflow";
18 rev = version;
19 sha256 = "sha256-kHirHG/bfsU6tKyQ0khNSTyChhzHfzib+HyA3LOtBI8=";
20 };
21
22 nativeBuildInputs = [ makeWrapper ];
23
24 preBuild = ''
25 makeFlagsArray+=(prefix="$out")
26 '';
27
28 postInstall = ''
29 wrapProgram $out/bin/git-flow \
30 --set FLAGS_GETOPT_CMD ${getopt}/bin/getopt \
31 --suffix PATH : ${git}/bin \
32 --prefix PATH : ${coreutils}/bin
33 '';
34
35 meta = with lib; {
36 homepage = "https://github.com/petervanderdoes/gitflow";
37 description = "Extend git with the Gitflow branching model";
38 mainProgram = "git-flow";
39 longDescription = ''
40 A set of scripts that provide high-level repository operations
41 for managing feature/release/hotfix branches in a Git repository,
42 particularly suited to be utilised to follow Vincent Driessen's
43 branching model.
44 '';
45 license = licenses.bsd2;
46 platforms = platforms.all;
47 maintainers = with maintainers; [ offline ];
48 };
49}