[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#26822: [PATCH] gnu: Add git-repo.
From: |
Marius Bakke |
Subject: |
bug#26822: [PATCH] gnu: Add git-repo. |
Date: |
Mon, 08 May 2017 09:57:31 +0200 |
User-agent: |
Notmuch/0.24.1 (https://notmuchmail.org) Emacs/25.2.1 (x86_64-unknown-linux-gnu) |
Hartmut Goebel <address@hidden> writes:
> * gnu/packages/android.scm (git-repo): New variable.
> ---
> gnu/packages/android.scm | 58
> ++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 58 insertions(+)
>
> diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm
> index e23d0fd..23ffa2b 100644
> --- a/gnu/packages/android.scm
> +++ b/gnu/packages/android.scm
> @@ -3,6 +3,7 @@
> ;;; Copyright © 2015 Kai-Chung Yan <address@hidden>
> ;;; Copyright © 2016 Marius Bakke <address@hidden>
> ;;; Copyright © 2017 Julien Lepiller <address@hidden>
> +;;; Copyright © 2017 Hartmut Goebel <address@hidden>
> ;;;
> ;;; This file is part of GNU Guix.
> ;;;
> @@ -23,8 +24,11 @@
> #:use-module (guix packages)
> #:use-module (guix git-download)
> #:use-module (guix build-system gnu)
> + #:use-module (guix build-system python)
> #:use-module ((guix licenses) #:prefix license:)
> #:use-module (gnu packages)
> + #:use-module (gnu packages python)
> + #:use-module (gnu packages version-control)
> #:use-module (gnu packages tls))
>
> ;; The Makefiles that we add are largely based on the Debian
> @@ -298,3 +302,57 @@ with an emulator instance or connected Android device.
> It facilitates a variety
> of device actions, such as installing and debugging apps, and it provides
> access
> to a Unix shell that can run commands on the connected device or emulator.")
> (license license:asl2.0)))
> +
> +(define-public git-repo
> + (package
> + (name "git-repo")
> + (version "1.12.37")
> + (source
> + (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://gerrit.googlesource.com/git-repo")
> + (commit (string-append "v" version))))
> + (file-name (string-append "git-repo-" version "-checkout"))
> + (sha256
> + (base32 "0qp7jqhblv7xblfgpcq4n18dyjdv8shz7r60c3vnjxx2fngkj2jd"))))
The indentation of (sha256.. should align with file-name.
> + (build-system python-build-system)
> + (arguments
> + `(#:python ,python-2
> + #:phases
> + (modify-phases %standard-phases
> + (replace 'build
> + (lambda* (#:key outputs #:allow-other-keys)
> + (let* ((out (assoc-ref outputs "out"))
> + (repo-dir (string-append out "/share/" ,name)))
> + (substitute* "repo"
> + (("^repodir = '\\.repo'")
> + (string-append "repodir = '" repo-dir "'"))
> + (("^S_repo = 'repo'") "S_repo = '.'"))
> + #t
> + )))
These parens want to stay closer to the #t.
> + (replace 'check
> + (lambda _
> + (zero? (system* "python" "-m" "nose"))))
> + (replace 'install
> + (lambda* (#:key outputs #:allow-other-keys)
> + (let* ((out (assoc-ref outputs "out"))
> + (bin-dir (string-append out "/bin"))
> + (repo-dir (string-append out "/share/" ,name)))
> + (mkdir-p bin-dir)
> + (mkdir-p repo-dir)
> + (copy-recursively "." repo-dir)
> + (delete-file-recursively (string-append repo-dir "/tests"))
> + (symlink (string-append repo-dir "/repo")
> + (string-append bin-dir "/repo"))))))))
(symlink* ..) has an unspecified return value, so please return #t here.
Otherwise looks good. Would it make sense to have it in
version-control.scm, or is this tool mostly for doing Android
development?
> + (native-inputs
> + `(("nose" ,python2-nose)
> + ("git" ,git)))
> + (home-page "https://code.google.com/p/git-repo/")
> + (synopsis "Helps to manage many Git repositories.")
> + (description "Repo is a tool built on top of Git. Repo 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. The repo command is an executable Python
> +script that you can put anywhere in your path.")
> + (license license:asl2.0)))
> --
> 2.7.4
signature.asc
Description: PGP signature