[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#26823: [PATCH] gnu: Add git-repo.
From: |
Hartmut Goebel |
Subject: |
bug#26823: [PATCH] gnu: Add git-repo. |
Date: |
Sun, 7 May 2017 23:42:53 +0200 |
* 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"))))
+ (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
+ )))
+ (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"))))))))
+ (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
- bug#26823: [PATCH] gnu: Add git-repo.,
Hartmut Goebel <=