[PATCH 0/9] Depending on 'git-minimal/pinned' where appropriate

  • Open
  • quality assurance status badge
Details
2 participants
  • Efraim Flashner
  • Ludovic Courtès
Owner
unassigned
Submitted by
Ludovic Courtès
Severity
normal
L
L
Ludovic Courtès wrote 11 hours ago
(address . guix-patches@gnu.org)(name . Ludovic Courtès)(address . ludo@gnu.org)
cover.1734286206.git.ludo@gnu.org
Hello Python team & co.!

It’s a problem that too many things depend on ‘git’ and
‘git-minimal’: it makes upgrades of these packages very
expensive to build and test, which in turn means they’re
too rarely upgraded¹.

This patch series tries to fix the main cases where packages
should depend on ‘git-minimal/pinned’ instead.

After this change ‘guix refresh -l git-minimal git’ reports
587 dependents, compared to 3.5K before (and 1K before the
recent ‘python-team’ merge).

Thoughts?

Ludo’.


Ludovic Courtès (9):
gnu: python-gitpython: Rewrite to use gexps.
gnu: python-gitpython: Switch to ‘git-minimal/pinned’.
gnu: python-gitdb: Switch to ‘git-minimal/pinned’.
gnu: python-kanon: Switch to ‘git-minimal/pinned’.
gnu: crun: Switch to ‘git-minimal/pinned'.
gnu: podman: Switch to ‘git-minimal/pinned’.
gnu: rust-git2: Switch to ‘git-minimal/pinned’.
gnu: python-reno: Switch to ‘git-minimal/pinned’.
gnu: pre-commit: Switch to ‘git-minimal/pinned’.

gnu/packages/astronomy.scm | 2 +-
gnu/packages/containers.scm | 4 ++--
gnu/packages/crates-vcs.scm | 2 +-
gnu/packages/openstack.scm | 2 +-
gnu/packages/version-control.scm | 27 ++++++++++++++-------------
5 files changed, 19 insertions(+), 18 deletions(-)


base-commit: 65892d9f20aa7a8649797507bb1ec867285083fb
--
2.46.0
L
L
Ludovic Courtès wrote 11 hours ago
[PATCH 1/9] gnu: python-gitpython: Rewrite to use gexps.
(address . 74892@debbugs.gnu.org)(name . Ludovic Courtès)(address . ludo@gnu.org)
ca64e717532454799c5220bb6be934d8ed7d0756.1734286206.git.ludo@gnu.org
* gnu/packages/version-control.scm (python-gitpython)[arguments]: Change
to gexps; use ‘search-input-file’.

Change-Id: I4fb2ce74262a05aaf32644dd3b8bfb674747fdbe
---
gnu/packages/version-control.scm | 21 +++++++++++----------
1 file changed, 11 insertions(+), 10 deletions(-)

Toggle diff (41 lines)
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 497d31cf73..3794d20082 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
-;;; Copyright © 2013-2022 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013-2022, 2024 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2016 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
@@ -1645,15 +1645,16 @@ (define-public python-gitpython
"1rarp97cpjnhi106k2yhb7kygdyflmlgq0icxv3ggzl4wvszv0yz"))))
(build-system python-build-system)
(arguments
- `(#:tests? #f ;XXX: Tests can only be run within the GitPython repository.
- #:phases (modify-phases %standard-phases
- (add-after 'unpack 'embed-git-reference
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "git/cmd.py"
- (("git_exec_name = \"git\"")
- (string-append "git_exec_name = \""
- (assoc-ref inputs "git")
- "/bin/git\""))))))))
+ (list #:tests? #f ;XXX: tests can only be run within the GitPython repository
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'embed-git-reference
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "git/cmd.py"
+ (("git_exec_name = \"git\"")
+ (string-append "git_exec_name = \""
+ (search-input-file inputs "/bin/git")
+ "\""))))))))
(inputs
(list git))
(propagated-inputs
--
2.46.0
L
L
Ludovic Courtès wrote 11 hours ago
[PATCH 2/9] gnu: python-gitpython: Switch to ‘git-minimal/pinned’.
(address . 74892@debbugs.gnu.org)(name . Ludovic Courtès)(address . ludo@gnu.org)
5ce22dc4bd6fa0fce23050cb247b0216468e79ce.1734286206.git.ludo@gnu.org
This will allow updating ‘git-minimal’ and ‘git’ without triggering a
rebuild of ‘python-gitpython’ and its 3.5K dependents.

* gnu/packages/version-control.scm (python-gitpython): Depend on
‘git-minimal/pinned’ instead of ‘git’.

Change-Id: I7f635270eb915919a40ceb8f0ed2031a8749c75c
---
gnu/packages/version-control.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (15 lines)
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 3794d20082..f355856719 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -1656,7 +1656,7 @@ (define-public python-gitpython
(search-input-file inputs "/bin/git")
"\""))))))))
(inputs
- (list git))
+ (list git-minimal/pinned))
(propagated-inputs
(list python-gitdb python-typing-extensions))
(native-inputs
--
2.46.0
L
L
Ludovic Courtès wrote 11 hours ago
[PATCH 3/9] gnu: python-gitdb: Switch to ‘git-minimal/pinned’.
(address . 74892@debbugs.gnu.org)(name . Ludovic Courtès)(address . ludo@gnu.org)
f418186602fd8cf9bebe9e444fc9faa77e74b99c.1734286206.git.ludo@gnu.org
* gnu/packages/version-control.scm (python-gitdb)[native-inputs]: Switch
to ‘git-minimal/pinned’.

Change-Id: I0ed536979d1f737d638120968c07ed61eb19de02
---
gnu/packages/version-control.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (15 lines)
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index f355856719..18abc36a24 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -1623,7 +1623,7 @@ (define-public python-gitdb
(propagated-inputs
(list python-smmap))
(native-inputs
- (list git python-nose))
+ (list git-minimal/pinned python-nose))
(home-page "https://github.com/gitpython-developers/gitdb")
(synopsis "Python implementation of the Git object database")
(description
--
2.46.0
L
L
Ludovic Courtès wrote 11 hours ago
[PATCH 4/9] gnu: python-kanon: Switch to ‘git-minimal/pinned’.
(address . 74892@debbugs.gnu.org)(name . Ludovic Courtès)(address . ludo@gnu.org)
53802faa5519c8384b1cb501ba5ebacb183d9a21.1734286206.git.ludo@gnu.org
* gnu/packages/astronomy.scm (python-kanon)[native-inputs]: Switch to
‘git-minimal/pinned’.

Change-Id: I2e16f2625494d6a81f62438981946b83d562b8ae
---
gnu/packages/astronomy.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (15 lines)
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 3cdbb705ce..67828df7df 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -4076,7 +4076,7 @@ (define-public python-kanon
(lambda _
(setenv "HOME" "/tmp"))))))
(native-inputs
- (list git-minimal
+ (list git-minimal/pinned
python-poetry-core
python-poetry-dynamic-versioning
python-pytest-astropy
--
2.46.0
L
L
Ludovic Courtès wrote 11 hours ago
[PATCH 5/9] gnu: crun: Switch to ‘git-m inimal/pinned'.
(address . 74892@debbugs.gnu.org)(name . Ludovic Courtès)(address . ludo@gnu.org)
20e4d9c0a2897faccd5cae07b95ecd63a795783f.1734286206.git.ludo@gnu.org
* gnu/packages/containers.scm (crun)[native-inputs]: Switch to
‘git-minimal/pinned’.

Change-Id: Ie212ec7fa9ee7e82bf20446e2bfc8d8607264481
---
gnu/packages/containers.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (15 lines)
diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
index 9408f9b353..92c9206307 100644
--- a/gnu/packages/containers.scm
+++ b/gnu/packages/containers.scm
@@ -101,7 +101,7 @@ (define-public crun
(native-inputs
(list automake
autoconf
- git
+ git-minimal/pinned
libtool
pkg-config
python-3))
--
2.46.0
L
L
Ludovic Courtès wrote 11 hours ago
[PATCH 6/9] gnu: podman: Switch to ‘git -minimal/pinned’.
(address . 74892@debbugs.gnu.org)(name . Ludovic Courtès)(address . ludo@gnu.org)
10ace14d4c37792be81c1042ad8af546d412a588.1734286206.git.ludo@gnu.org
* gnu/packages/containers.scm (podman)[native-inputs]: Switch to
‘git-minimal/pinned’.

Change-Id: I45d774bcd5e0b0e84d934c7368645265fb4459af
---
gnu/packages/containers.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (15 lines)
diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
index 92c9206307..2056d727df 100644
--- a/gnu/packages/containers.scm
+++ b/gnu/packages/containers.scm
@@ -555,7 +555,7 @@ (define-public podman
(list (package/inherit grep
(inputs (list pcre2))) ; Drop once grep on master supports -P
bats
- git
+ git-minimal/pinned
go-1.22
go-github-com-go-md2man
mandoc
--
2.46.0
L
L
Ludovic Courtès wrote 11 hours ago
[PATCH 7/9] gnu: rust-git2: Switch to ‘ git-minimal/pinned’.
(address . 74892@debbugs.gnu.org)(name . Ludovic Courtès)(address . ludo@gnu.org)
f1e1e592524e8135d1c0744204aaa93f7ecb4974.1734286206.git.ludo@gnu.org
* gnu/packages/crates-vcs.scm (rust-git2-0.15)[native-inputs]: Switch to
‘git-minimal/pinned’.

Change-Id: If2cb4c4644bc239a363239ad287acc132db4622d
---
gnu/packages/crates-vcs.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (15 lines)
diff --git a/gnu/packages/crates-vcs.scm b/gnu/packages/crates-vcs.scm
index 1828804982..046902a3b0 100644
--- a/gnu/packages/crates-vcs.scm
+++ b/gnu/packages/crates-vcs.scm
@@ -368,7 +368,7 @@ (define-public rust-git2-0.15
("rust-time" ,rust-time-0.1))))
(native-inputs
`(("pkg-config" ,pkg-config)
- ("git" ,git-minimal))) ;for a single test
+ ("git" ,git-minimal/pinned))) ;for a single test
(inputs
(list libgit2 libssh2 openssl zlib))))
--
2.46.0
L
L
Ludovic Courtès wrote 11 hours ago
[PATCH 8/9] gnu: python-reno: Switch to ‘git-minimal/pinned’.
(address . 74892@debbugs.gnu.org)(name . Ludovic Courtès)(address . ludo@gnu.org)
ddd3a0fac656f0b2abab38a1f4ede01fdfdabf54.1734286206.git.ludo@gnu.org
* gnu/packages/openstack.scm (python-reno)[native-inputs]: Switch to
‘git-minimal/pinned’.

Change-Id: I58c87aba5c6f12991f140e73a55d075a3e21534e
---
gnu/packages/openstack.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (15 lines)
diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm
index 8e53ba8f62..c9932e7875 100644
--- a/gnu/packages/openstack.scm
+++ b/gnu/packages/openstack.scm
@@ -681,7 +681,7 @@ (define-public python-reno
("python-docutils" ,python-docutils)
("python-sphinx" ,python-sphinx)
("gnupg" ,gnupg)
- ("git" ,git-minimal)))
+ ("git" ,git-minimal/pinned)))
(home-page "https://docs.openstack.org/reno/latest/")
(synopsis "Release notes manager")
(description "Reno is a tool for storing release notes in a git repository
--
2.46.0
L
L
Ludovic Courtès wrote 11 hours ago
[PATCH 9/9] gnu: pre-commit: Switch to ‘git-minimal/pinned’.
(address . 74892@debbugs.gnu.org)(name . Ludovic Courtès)(address . ludo@gnu.org)
5cdf300ca18e3de521bc14c099f373858d84c0d2.1734286206.git.ludo@gnu.org
* gnu/packages/version-control.scm (pre-commit)[native-inputs]: Switch
to ‘git-minimal/pinned’.

Change-Id: I22e09c753a0c4bdd6a904eb2113e5f496f6316d6
---
gnu/packages/version-control.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (15 lines)
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 18abc36a24..96985c2f44 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -2296,7 +2296,7 @@ (define-public pre-commit
(invoke "git" "config" "--global" "user.name" "Your Name")
(invoke "git" "config" "--global" "user.email" "you@example.com"))))))
(native-inputs
- (list git-minimal
+ (list git-minimal/pinned
python-covdefaults
python-coverage
python-distlib
--
2.46.0
E
E
Efraim Flashner wrote 8 hours ago
Re: [bug#74892] [PATCH 7/9] gnu : rust-git2: Switch to ‘git-minimal/pinned ’.
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 74892@debbugs.gnu.org)
Z18-u_e5sulafV2b@3900XT
This can go straight to master.

On Sun, Dec 15, 2024 at 07:16:27PM +0100, Ludovic Courtès wrote:
Toggle quote (27 lines)
> * gnu/packages/crates-vcs.scm (rust-git2-0.15)[native-inputs]: Switch to
> ‘git-minimal/pinned’.
>
> Change-Id: If2cb4c4644bc239a363239ad287acc132db4622d
> ---
> gnu/packages/crates-vcs.scm | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/gnu/packages/crates-vcs.scm b/gnu/packages/crates-vcs.scm
> index 1828804982..046902a3b0 100644
> --- a/gnu/packages/crates-vcs.scm
> +++ b/gnu/packages/crates-vcs.scm
> @@ -368,7 +368,7 @@ (define-public rust-git2-0.15
> ("rust-time" ,rust-time-0.1))))
> (native-inputs
> `(("pkg-config" ,pkg-config)
> - ("git" ,git-minimal))) ;for a single test
> + ("git" ,git-minimal/pinned))) ;for a single test
> (inputs
> (list libgit2 libssh2 openssl zlib))))
>
> --
> 2.46.0
>
>
>

--
Efraim Flashner <efraim@flashner.co.il> ????? ?????
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmdfPrcACgkQQarn3Mo9
g1HtIBAAh/5b+0rkkMp4kT51VrdoEAzlx/l5ieYoTFU7PRRw4kokk+86Q749vmOc
bJwfiJPSqEPetKb3QRtfxHQI55emgdULClbR8Zu3mAcorjMo2+r8LAeAjRT8rDdk
dvew92Wb6GvK0JKvF5fTUq7Gfid7S3yuUOdUJ4G/HcO/KPpA5lTb4sqShBHOWjvh
U0NiTTWHj9ZXzI8OPji7tVdCnGLEfZAhm+UXpRIhKhdkiqHbGpz5JB7eQLgGV/Ox
VxPY4PtZi6UOU7O+VRgLSKfwgcABV4Qqukq62Bs80+kJrZGK0eKD161zzZfV1ixQ
9kXqB/7dVdFeOX/Q0yqNraLriTD9dCPBZF+f/zk6dSVtdFSbUn+K2M4806u9uhA1
siiCcZiedT13PTgIiI0mUbW8IvVxveyvT+bttpeyLXbq1nKFsCupgLps4Q57EQ/I
f92bMQv/u9RKLUWIhGkCPBZRU3ACvk2bt8008/hL+rc3K9RxcUocmHxcYLeAfzRN
HWpP1f3vqKKUCxXWZc03mHvQuOQKB9O7gNT8nLlnXNhQ3OxwwGF9QTP/WZ2jxHSH
WPB/iZj9Aa0Y2d86qTHoldXv9yltR+DR9AG0cQeQ1rLhOnspgY75ok1RfVuHNLu0
4s1Ub3/g8lrYCWUspPqKk7Mf7meW8jhZiGBo4n1XrjVv3pw9y18=
=tFm8
-----END PGP SIGNATURE-----


?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 74892@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 74892
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch