[bug#78141] gnu: valgrind: update to 3.25.0.

Message ID bd0011eda7990e2668f1c39cafd674b56df9cd55.1745941176.git.z572@z572.online
State New
Headers
Series [bug#78141] gnu: valgrind: update to 3.25.0. |

Commit Message

Zheng Junjie April 29, 2025, 3:39 p.m. UTC
  * gnu/packages/valgrind.scm (valgrind-next): New variable.
(valgrind/interactive): Inherit from it.

Change-Id: If6e1f50e5574caa5fae61892afcc2b4e6ef7baa3
---
 gnu/packages/valgrind.scm | 32 +++++++++++++++++++++++++-------
 1 file changed, 25 insertions(+), 7 deletions(-)


base-commit: 32bc7695b50a2018f15618a86d7200fc8c3e2f58
  

Comments

Greg Hogan April 29, 2025, 4:48 p.m. UTC | #1
On Tue, Apr 29, 2025 at 11:41 AM Zheng Junjie <z572@z572.online> wrote:
>
> * gnu/packages/valgrind.scm (valgrind-next): New variable.
> (valgrind/interactive): Inherit from it.
>
> Change-Id: If6e1f50e5574caa5fae61892afcc2b4e6ef7baa3
> ---
>  gnu/packages/valgrind.scm | 32 +++++++++++++++++++++++++-------
>  1 file changed, 25 insertions(+), 7 deletions(-)
>
> diff --git a/gnu/packages/valgrind.scm b/gnu/packages/valgrind.scm
> index 1bf4975667f..1cdbcf16897 100644
> --- a/gnu/packages/valgrind.scm
> +++ b/gnu/packages/valgrind.scm
> @@ -37,7 +37,7 @@ (define-module (gnu packages valgrind)
>    #:use-module (gnu packages gdb)
>    #:use-module (gnu packages perl))
>
> -(define-public valgrind
> +(define valgrind/pinned
>    (package
>      (name "valgrind")
>      (version "3.22.0")
> @@ -93,10 +93,28 @@ (define-public valgrind
>      ;; Hide this variant so end users get the "interactive" Valgrind below.
>      (properties '((hidden? . #t)))))
>
> +(define-public valgrind-next
> +  (package
> +    (inherit valgrind/pinned)
> +    (version "3.25.0")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (list (string-append "https://sourceware.org/pub/valgrind"
> +                                        "/valgrind-" version ".tar.bz2")
> +                         (string-append "ftp://sourceware.org/pub/valgrind"
> +                                        "/valgrind-" version ".tar.bz2")))
> +              (sha256
> +               (base32
> +                "1k3fb1vyx1b3vvwyql0ckg9n2lyw9dilbrhw1kcw0r3b3lln0pr9"))))
> +    (supported-systems (fold delete %supported-systems
> +                             '("i586-gnu" "x86_64-gnu"
> +                               "armhf-linux")))))
> +
> +(define-public valgrind valgrind/pinned)

Should we simplify the package naming and instead change the dependent
packages to use valgrind/pinned? There only look to be ten to twenty
references. Then valgrind-next could be valgrind.

I do appreciate that this gives us a means to keep valgrind up-to-date
without mass package rebuilds, since I don't expect that we are
propagating valgrind.

> +
>  (define-public valgrind/interactive
> -  (package/inherit
> -   valgrind
> -   (inputs
> -    ;; GDB is needed to provide a sane default for `--db-command'.
> -    (list gdb `(,(canonical-package (libc-for-target)) "debug")))
> -   (properties '())))
> +  (package/inherit valgrind-next
> +    (inputs
> +     ;; GDB is needed to provide a sane default for `--db-command'.
> +     (list gdb `(,(canonical-package (libc-for-target)) "debug")))
> +    (properties '())))
>
> base-commit: 32bc7695b50a2018f15618a86d7200fc8c3e2f58
> --
> 2.49.0
  
Z572 April 29, 2025, 5:05 p.m. UTC | #2
Greg Hogan <code@greghogan.com> writes:

> On Tue, Apr 29, 2025 at 11:41 AM Zheng Junjie <z572@z572.online> wrote:
>>
>> * gnu/packages/valgrind.scm (valgrind-next): New variable.
>> (valgrind/interactive): Inherit from it.
>>
>> Change-Id: If6e1f50e5574caa5fae61892afcc2b4e6ef7baa3
>> ---
>>  gnu/packages/valgrind.scm | 32 +++++++++++++++++++++++++-------
>>  1 file changed, 25 insertions(+), 7 deletions(-)
>>
>> diff --git a/gnu/packages/valgrind.scm b/gnu/packages/valgrind.scm
>> index 1bf4975667f..1cdbcf16897 100644
>> --- a/gnu/packages/valgrind.scm
>> +++ b/gnu/packages/valgrind.scm
>> @@ -37,7 +37,7 @@ (define-module (gnu packages valgrind)
>>    #:use-module (gnu packages gdb)
>>    #:use-module (gnu packages perl))
>>
>> -(define-public valgrind
>> +(define valgrind/pinned
>>    (package
>>      (name "valgrind")
>>      (version "3.22.0")
>> @@ -93,10 +93,28 @@ (define-public valgrind
>>      ;; Hide this variant so end users get the "interactive" Valgrind below.
>>      (properties '((hidden? . #t)))))
>>
>> +(define-public valgrind-next
>> +  (package
>> +    (inherit valgrind/pinned)
>> +    (version "3.25.0")
>> +    (source (origin
>> +              (method url-fetch)
>> +              (uri (list (string-append "https://sourceware.org/pub/valgrind"
>> +                                        "/valgrind-" version ".tar.bz2")
>> +                         (string-append "ftp://sourceware.org/pub/valgrind"
>> +                                        "/valgrind-" version ".tar.bz2")))
>> +              (sha256
>> +               (base32
>> +                "1k3fb1vyx1b3vvwyql0ckg9n2lyw9dilbrhw1kcw0r3b3lln0pr9"))))
>> +    (supported-systems (fold delete %supported-systems
>> +                             '("i586-gnu" "x86_64-gnu"
>> +                               "armhf-linux")))))
>> +
>> +(define-public valgrind valgrind/pinned)
>
> Should we simplify the package naming and instead change the dependent
> packages to use valgrind/pinned? There only look to be ten to twenty
> references. Then valgrind-next could be valgrind.

The valgrind in the guix command line interface is actually
valgrind/interactive, if you try
`guix refresh -e '(@ (gnu packages valgrind) valgrind)'`

you can see
Building the following 347 packages would ensure 734 dependent packages
are rebuilt
....


So we need to simplify it in a team update.

>
> I do appreciate that this gives us a means to keep valgrind up-to-date
> without mass package rebuilds, since I don't expect that we are
> propagating valgrind.
>
>> +
>>  (define-public valgrind/interactive
>> -  (package/inherit
>> -   valgrind
>> -   (inputs
>> -    ;; GDB is needed to provide a sane default for `--db-command'.
>> -    (list gdb `(,(canonical-package (libc-for-target)) "debug")))
>> -   (properties '())))
>> +  (package/inherit valgrind-next
>> +    (inputs
>> +     ;; GDB is needed to provide a sane default for `--db-command'.
>> +     (list gdb `(,(canonical-package (libc-for-target)) "debug")))
>> +    (properties '())))
>>
>> base-commit: 32bc7695b50a2018f15618a86d7200fc8c3e2f58
>> --
>> 2.49.0
  

Patch

diff --git a/gnu/packages/valgrind.scm b/gnu/packages/valgrind.scm
index 1bf4975667f..1cdbcf16897 100644
--- a/gnu/packages/valgrind.scm
+++ b/gnu/packages/valgrind.scm
@@ -37,7 +37,7 @@  (define-module (gnu packages valgrind)
   #:use-module (gnu packages gdb)
   #:use-module (gnu packages perl))
 
-(define-public valgrind
+(define valgrind/pinned
   (package
     (name "valgrind")
     (version "3.22.0")
@@ -93,10 +93,28 @@  (define-public valgrind
     ;; Hide this variant so end users get the "interactive" Valgrind below.
     (properties '((hidden? . #t)))))
 
+(define-public valgrind-next
+  (package
+    (inherit valgrind/pinned)
+    (version "3.25.0")
+    (source (origin
+              (method url-fetch)
+              (uri (list (string-append "https://sourceware.org/pub/valgrind"
+                                        "/valgrind-" version ".tar.bz2")
+                         (string-append "ftp://sourceware.org/pub/valgrind"
+                                        "/valgrind-" version ".tar.bz2")))
+              (sha256
+               (base32
+                "1k3fb1vyx1b3vvwyql0ckg9n2lyw9dilbrhw1kcw0r3b3lln0pr9"))))
+    (supported-systems (fold delete %supported-systems
+                             '("i586-gnu" "x86_64-gnu"
+                               "armhf-linux")))))
+
+(define-public valgrind valgrind/pinned)
+
 (define-public valgrind/interactive
-  (package/inherit
-   valgrind
-   (inputs
-    ;; GDB is needed to provide a sane default for `--db-command'.
-    (list gdb `(,(canonical-package (libc-for-target)) "debug")))
-   (properties '())))
+  (package/inherit valgrind-next
+    (inputs
+     ;; GDB is needed to provide a sane default for `--db-command'.
+     (list gdb `(,(canonical-package (libc-for-target)) "debug")))
+    (properties '())))