summaryrefslogtreecommitdiff
path: root/gnu/packages/android.scm
diff options
context:
space:
mode:
authorNicolas Graves <ngraves@ngraves.fr>2025-12-27 12:32:22 +0100
committerSharlatan Hellseher <sharlatanus@gmail.com>2026-01-01 19:35:01 +0000
commit5fa9807da184dfd5e2cf9b5fe9585c95b773b7f7 (patch)
tree7069739328be2fb7548473437093fac00b02b8ab /gnu/packages/android.scm
parentd6323ba597c5740818c3190f19a801c94836fc14 (diff)
gnu: git-repo: Update to 2.60.1.
* gnu/packages/android.scm (git-repo): Update to 2.60.1. [build-system]: Switch to pyproject-build-system. [arguments]: Improve style, use g-expressions. <#:test-flags>: Ignore failing tests. <#:phases>: Refresh phase 'set-executable-paths and 'do-not-self-update, 'configure-git, 'install. Remove 'check phase replacement. [inputs]: Improve style, drop labels. [native-inputs]: Add python-setuptools. [description]: Improve style. Change-Id: I07636386e8a04a74f785c4024fdb647fb5365f46 Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Diffstat (limited to 'gnu/packages/android.scm')
-rw-r--r--gnu/packages/android.scm158
1 files changed, 80 insertions, 78 deletions
diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm
index 50a5daab1dd..140a156340c 100644
--- a/gnu/packages/android.scm
+++ b/gnu/packages/android.scm
@@ -983,7 +983,7 @@ The standard for the ETC1 texture format can be found at
(define-public git-repo
(package
(name "git-repo")
- (version "2.4.1")
+ (version "2.60.1")
(source
(origin
(method git-fetch)
@@ -992,88 +992,90 @@ The standard for the ETC1 texture format can be found at
(commit (string-append "v" version))))
(file-name (string-append "git-repo-" version "-checkout"))
(sha256
- (base32 "0khg1731927gvin73dcbw1657kbfq4k7agla5rpzqcnwkk5agzg3"))))
- (build-system python-build-system)
+ (base32 "1cx1b0zmvnmglyn6kbdifcy6w3gm89z2icw4pykxm0wyasy7sc1c"))))
+ (build-system pyproject-build-system)
(arguments
- `(#: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"))
- (ssh (assoc-ref inputs "ssh")))
- (substitute* '("repo" "git_command.py")
- (("^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-self-update
- (lambda* (#:key outputs #:allow-other-keys)
- ;; 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.
-
- ;; 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 "./run_tests")))
- (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"))
- #t))))))
+ (list
+ #:test-flags
+ #~(list
+ ;; XXX: Requires GnuPG.
+ "--deselect=tests/test_wrapper.py::SetupGnuPG::test_full"
+ ;; This is expected, as the package is patched for this.
+ "-k" "not test_fetches_when_stale")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'set-executable-paths
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (substitute* '("repo" "git_command.py")
+ (("^GIT = 'git'")
+ (format #f "GIT = '~a'"
+ (search-input-file inputs "/bin/git"))))
+ (substitute* "git_config.py"
+ ((" command_base = \\['ssh',")
+ (format #f " command_base = ['~a',"
+ (search-input-file inputs "/bin/ssh"))))))
+ (add-before 'build 'do-not-self-update
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; 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.
+
+ ;; Ticket requesting upstream to provide a mean to disable the
+ ;; self update mechanism:
+ ;; https://bugs.chromium.org/p/gerrit/issues/detail?id=12407.
+ (let ((repo-main (string-append #$output
+ "/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 "pass #" all))))))
+ (delete 'build) ;nothing to build
+ (add-before 'check 'configure-git
+ (lambda _
+ (setenv "HOME" (getcwd))
+ ;; XXX: pytest needs this for conftest to import local modules.
+ (setenv "PYTHONPATH" (getcwd))
+ (invoke "git" "config" "--global" "user.email" "you@example.com")
+ (invoke "git" "config" "--global" "user.name" "Your Name")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((bin-dir (string-append #$output "/bin"))
+ (repo-dir (string-append #$output "/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"))))))))
(inputs
;; TODO: Add git-remote-persistent-https once it is available in guix
- `(("git" ,git)
- ("ssh" ,openssh)))
- (native-inputs
- `(("pytest" ,python-pytest)))
+ (list git openssh))
+ (native-inputs (list python-pytest python-setuptools))
(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
+ (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.")