diff options
author | Michael Weiss <dev.primeos@gmail.com> | 2017-05-26 15:43:50 +0200 |
---|---|---|
committer | Michael Weiss <dev.primeos@gmail.com> | 2017-05-26 16:04:15 +0200 |
commit | 175ecbab9163fa6d5dc7481c6258301833e02042 (patch) | |
tree | c0dcdaf0baf8a4f71e9bfdf3172f92cb69f1031b /pkgs/applications/version-management/git-repo | |
parent | 00672dec8a1367a1d559660aa7a125b31f3f6562 (diff) | |
download | nixlib-175ecbab9163fa6d5dc7481c6258301833e02042.tar nixlib-175ecbab9163fa6d5dc7481c6258301833e02042.tar.gz nixlib-175ecbab9163fa6d5dc7481c6258301833e02042.tar.bz2 nixlib-175ecbab9163fa6d5dc7481c6258301833e02042.tar.lz nixlib-175ecbab9163fa6d5dc7481c6258301833e02042.tar.xz nixlib-175ecbab9163fa6d5dc7481c6258301833e02042.tar.zst nixlib-175ecbab9163fa6d5dc7481c6258301833e02042.zip |
gitRepo: Improve the packaging
Improvements: - Use a versioned URL - The build won't break anymore (due to a wrong hash) after a new version is being released - It will be possible to build older versions - Add (hopefully all) runtime dependencies (Git, GnuPG and less (for "repo help")) - Add the upstream license - Add a long description - Use the name of the Git tag for the version - The version number from the script (currently 1.23) is only incremented after "important" changes (i.e. there are slightly different different scripts with "VERSION = (1, 23)")
Diffstat (limited to 'pkgs/applications/version-management/git-repo')
-rw-r--r-- | pkgs/applications/version-management/git-repo/default.nix | 45 |
1 files changed, 31 insertions, 14 deletions
diff --git a/pkgs/applications/version-management/git-repo/default.nix b/pkgs/applications/version-management/git-repo/default.nix index 001aa0c5b097..886efefa8bbb 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 + ''; + + postFixup = '' + wrapProgram $out/bin/repo --prefix PATH ":" \ + "${stdenv.lib.makeBinPath [ git gnupg1compat less ]}" ''; - meta = { - homepage = "http://source.android.com/source/downloading.html"; + 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; }; } |