diff --git a/pkgs/applications/version-management/git-repo/default.nix b/pkgs/applications/version-management/git-repo/default.nix index 001aa0c5b09..886efefa8bb 100644 --- a/pkgs/applications/version-management/git-repo/default.nix +++ b/pkgs/applications/version-management/git-repo/default.nix @@ -1,24 +1,41 @@ -{ stdenv, fetchurl, python }: +{ stdenv, fetchFromGitHub, makeWrapper +, python, git, gnupg1compat, less }: -stdenv.mkDerivation { - name = "git-repo-1.23"; - src = fetchurl { - # I could not find a versioned url for the 1.21 version. In case - # the sha mismatches, check the homepage for new version and sha. - url = "http://commondatastorage.googleapis.com/git-repo-downloads/repo"; - sha256 = "1i8xymxh630a7d5nkqi49nmlwk77dqn36vsygpyhri464qwz0iz1"; +stdenv.mkDerivation rec { + name = "git-repo-${version}"; + version = "1.12.37"; + + src = fetchFromGitHub { + owner = "android"; + repo = "tools_repo"; + rev = "v${version}"; + sha256 = "0qp7jqhblv7xblfgpcq4n18dyjdv8shz7r60c3vnjxx2fngkj2jd"; }; - unpackPhase = "true"; + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ python git gnupg1compat less ]; + installPhase = '' mkdir -p $out/bin - sed -e 's,!/usr/bin/env python,!${python}/bin/python,' < $src > $out/bin/repo - chmod +x $out/bin/repo + cp $src/repo $out/bin/repo ''; - meta = { - homepage = "http://source.android.com/source/downloading.html"; + postFixup = '' + wrapProgram $out/bin/repo --prefix PATH ":" \ + "${stdenv.lib.makeBinPath [ git gnupg1compat less ]}" + ''; + + meta = with stdenv.lib; { description = "Android's repo management tool"; - platforms = stdenv.lib.platforms.unix; + longDescription = '' + Repo is a Python script based on Git that helps manage many Git + repositories, does the uploads to revision control systems, and automates + parts of the development workflow. Repo is not meant to replace Git, only + to make it easier to work with Git. + ''; + homepage = "https://android.googlesource.com/tools/repo"; + license = licenses.asl20; + maintainers = [ maintainers.primeos ]; + platforms = platforms.unix; }; }