diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix new file mode 100644 index 000000000000..7fe9883c556d --- /dev/null +++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix @@ -0,0 +1,58 @@ +{ lib, stdenv, fetchFromGitHub, git, makeWrapper, which }: + +stdenv.mkDerivation rec { + pname = "git-subrepo"; + version = "0.4.1"; + + src = fetchFromGitHub { + owner = "ingydotnet"; + repo = "git-subrepo"; + rev = version; + sha256 = "0n10qnc8kyms6cv65k1n5xa9nnwpwbjn9h2cq47llxplawzqgrvp"; + }; + + nativeBuildInputs = [ + makeWrapper + which + ]; + + buildInputs = [ + git + ]; + + makeFlags = [ + "PREFIX=${placeholder "out"}" + "INSTALL_LIB=${placeholder "out"}/bin" + "INSTALL_MAN=${placeholder "out"}/share/man/man1" + ]; + + patches = [ + # Allow zsh completion to work even though we aren't installing from a git + # clone. Also submitted upstream as + # https://github.com/ingydotnet/git-subrepo/pull/420 + ./zsh-completion.patch + ]; + + postInstall = '' + ZSH_COMP_DIR="$out/share/zsh/vendor-completions" + mkdir -p "$ZSH_COMP_DIR" + cp share/zsh-completion/_git-subrepo "$ZSH_COMP_DIR/" + + BASH_COMP_DIR="$out/share/bash-completion/completions" + mkdir -p "$BASH_COMP_DIR" + cp share/completion.bash "$BASH_COMP_DIR/git-subrepo" + ''; + + postFixup = '' + wrapProgram $out/bin/git-subrepo \ + --prefix PATH : "${git}/bin" + ''; + + meta = with lib; { + homepage = "https://github.com/ingydotnet/git-subrepo"; + description = "Git submodule alternative"; + license = licenses.mit; + platforms = platforms.unix ++ platforms.darwin; + maintainers = [ maintainers.ryantrinkle ]; + }; +} |