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

From: Z572 <[email-masked]>
Date: Wed, 30 Apr 2025 01:05:10 +0800

Greg Hogan <[email-masked]> writes:

> On Tue, Apr 29, 2025 at 11:41 AM Zheng Junjie <[email-masked]> 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