Subject: Re: [bug#73209] [PATCH] gnu: Add cmake-3.30.
From: John Kehayias <[email-masked]>
To: [email-masked]
Date: Mon, 16 Sep 2024 02:33:02 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

On Thu, Sep 12, 2024 at 07:16 PM, John Kehayias wrote:

> Hi Guix,
>
> Here is a patch to add a new cmake version without updating the
> default. The only wrinkle was that (at least by default?) there is a
> new requirement on cppdap which I think makes a circular dependency. I
> believe this is worked around in the patch, but figured I'd send for
> review, thanks!
>

I ended up pushing as 2db055a4e56eab134852a16a24443148dc32b5a2 after
verifying no issues with guix pull locally, updating to latest version
(3.30.3), building, and adding a note that since cppdap uses
cmake-build-system, we will have to deal with that circular dependency
when updating the default cmake.

Changes/corrections/etc. welcome.

John

>
> Add newer version of cmake for packages that will need it (for instance, new
> features like finding EGL2), without yet updating the default and rebuilding
> all cmake packages.
>
> * gnu/packages/cmake.scm (cmake-3.30): New variable.
>
> Change-Id: I345e9cab7a79624ff0012f493c18426bd843e0d6
> ---
>  gnu/packages/cmake.scm | 19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)
>
> diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
> index 0c780fe420..0241594667 100644
> --- a/gnu/packages/cmake.scm
> +++ b/gnu/packages/cmake.scm
> @@ -12,6 +12,7 @@
>  ;;; Copyright © 2019 Pierre-Moana Levesque <[email-masked]>
>  ;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <[email-masked]>
>  ;;; Copyright © 2021 Ricardo Wurmus <[email-masked]>
> +;;; Copyright © 2024 John Kehayias <[email-masked]>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -409,6 +410,24 @@ (define-public cmake
>                 texinfo)))
>      (properties (alist-delete 'hidden? (package-properties cmake-minimal)))))
>
> +(define-public cmake-3.30
> +  (package
> +    (inherit cmake)
> +    (version "3.30.1")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "https://cmake.org/files/v"
> +                                  (version-major+minor version)
> +                                  "/cmake-" version ".tar.gz"))
> +              (sha256
> +               (base32
> +                "1qa6ng6083i6iw23srzh9w41z3bxzz7faly2nz0w716fwd9kr6yz"))))
> +    (native-inputs
> +     (modify-inputs (package-native-inputs cmake)
> +       ;; Avoid circular dependency with (gnu packages debug).
> +       (prepend (module-ref (resolve-interface '(gnu packages debug))
> +                            'cppdap))))))
> +
>  (define-public cmake-minimal-cross
>    (package
>      (inherit cmake-minimal)
>
> base-commit: b2f5a9dd67352e035121c70cfdb34cd440c42e98
> --
> 2.46.0