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

From: Greg Hogan <[email-masked]>
Date: Tue, 29 Apr 2025 12:48:42 -0400

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.

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