mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
Merge branch 'master' into core-updates
This commit is contained in:
commit
ebb7cf9e21
237 changed files with 18974 additions and 4698 deletions
|
@ -9,6 +9,7 @@
|
|||
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -716,7 +717,7 @@ to be passed to the @code{udev} service.")
|
|||
(define-public git-repo
|
||||
(package
|
||||
(name "git-repo")
|
||||
(version "1.12.37")
|
||||
(version "2.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -725,61 +726,66 @@ to be passed to the @code{udev} service.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (string-append "git-repo-" version "-checkout"))
|
||||
(sha256
|
||||
(base32 "0qp7jqhblv7xblfgpcq4n18dyjdv8shz7r60c3vnjxx2fngkj2jd"))))
|
||||
(base32 "0khg1731927gvin73dcbw1657kbfq4k7agla5rpzqcnwkk5agzg3"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:python ,python-2 ; code says: "Python 3 support is … experimental."
|
||||
#:phases
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'set-executable-paths
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(git (assoc-ref inputs "git"))
|
||||
(gpg (assoc-ref inputs "gnupg"))
|
||||
(ssh (assoc-ref inputs "ssh")))
|
||||
(substitute* '("repo" "git_command.py")
|
||||
(("^GIT = 'git' ")
|
||||
(string-append "GIT = '" git "/bin/git' ")))
|
||||
(substitute* "repo"
|
||||
((" cmd = \\['gpg',")
|
||||
(string-append " cmd = ['" gpg "/bin/gpg',")))
|
||||
(("^GIT = 'git'")
|
||||
(string-append "GIT = '" git "/bin/git'")))
|
||||
(substitute* "git_config.py"
|
||||
((" command_base = \\['ssh',")
|
||||
(string-append " command_base = ['" ssh "/bin/ssh',")))
|
||||
#t)))
|
||||
(add-before 'build 'do-not-clone-this-source
|
||||
(add-before 'build 'do-not-self-update
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(repo-dir (string-append out "/share/" ,name)))
|
||||
(substitute* "repo"
|
||||
(("^def _FindRepo\\(\\):.*")
|
||||
(format #f "
|
||||
def _FindRepo():
|
||||
'''Look for a repo installation, starting at the current directory.'''
|
||||
# Use the installed version of git-repo.
|
||||
repo_main = '~a/main.py'
|
||||
curdir = os.getcwd()
|
||||
olddir = None
|
||||
while curdir != '/' and curdir != olddir:
|
||||
dot_repo = os.path.join(curdir, repodir)
|
||||
if os.path.isdir(dot_repo):
|
||||
return (repo_main, dot_repo)
|
||||
else:
|
||||
olddir = curdir
|
||||
curdir = os.path.dirname(curdir)
|
||||
return None, ''
|
||||
;; Setting the REPO_MAIN variable to an absolute file name is
|
||||
;; enough to have _FindRepo return the store main.py file. The
|
||||
;; self update mechanism is activated with the call to _Init() in
|
||||
;; main(), so we bypass it.
|
||||
|
||||
# The remaining of this function is dead code. It was used to
|
||||
# find a git-checked-out version in the local project.\n" repo-dir))
|
||||
;; Neither clone, check out, nor verify the git repository
|
||||
(("(^\\s+)_Clone\\(.*\\)") "")
|
||||
(("(^\\s+)_Checkout\\(.*\\)") "")
|
||||
((" rev = _Verify\\(.*\\)") " rev = None"))
|
||||
#t)))
|
||||
;; Ticket requesting upstream to provide a mean to disable the
|
||||
;; self update mechanism:
|
||||
;; https://bugs.chromium.org/p/gerrit/issues/detail?id=12407.
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(repo-main (string-append out "/share/git-repo/main.py")))
|
||||
(substitute* "repo"
|
||||
(("^REPO_MAIN = .*")
|
||||
(format #f "REPO_MAIN = ~s~%" repo-main))
|
||||
((" _Init\\(args, gitc_init=\\(cmd ==.*" all)
|
||||
(string-append "True #" all)))
|
||||
;; Prevent repo from trying to git describe its version from
|
||||
;; the (disabled) self updated copy.
|
||||
(substitute* "git_command.py"
|
||||
(("ver = getattr\\(RepoSourceVersion.*")
|
||||
(format #f "ver = ~s~%" ,version)))
|
||||
(substitute* "subcmds/version.py"
|
||||
(("rp_ver = .*")
|
||||
(format #f "rp_ver = ~s~%" ,version)))
|
||||
;; Prevent repo from adding its (disabled) self update copy to
|
||||
;; the list of projects to fetch when using 'repo sync'.
|
||||
(substitute* "subcmds/sync.py"
|
||||
(("to_fetch\\.extend\\(all_projects\\).*" all)
|
||||
(string-append "#" all))
|
||||
(("self\\._Fetch\\(to_fetch")
|
||||
"self._Fetch(all_projects")
|
||||
(("_PostRepoFetch\\(rp, opt\\.repo_verify).*" all)
|
||||
(string-append "#" all))))))
|
||||
(delete 'build) ; nothing to build
|
||||
(add-before 'check 'configure-git
|
||||
(lambda _
|
||||
(setenv "HOME" (getcwd))
|
||||
(invoke "git" "config" "--global" "user.email" "you@example.com")
|
||||
(invoke "git" "config" "--global" "user.name" "Your Name")))
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(invoke "python" "-m" "nose")))
|
||||
(invoke "./run_tests")))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
|
@ -795,10 +801,9 @@ def _FindRepo():
|
|||
(inputs
|
||||
;; TODO: Add git-remote-persistent-https once it is available in guix
|
||||
`(("git" ,git)
|
||||
("gnupg" ,gnupg)
|
||||
("ssh" ,openssh)))
|
||||
(native-inputs
|
||||
`(("nose" ,python2-nose)))
|
||||
`(("pytest" ,python-pytest)))
|
||||
(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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue