Subject: bug#73209: closed (Re: [bug#73209] [PATCH] gnu: Add cmake-3.30.)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 16 Sep 2024 02:34:02 +0000

Your bug report

#73209: [PATCH] gnu: Add cmake-3.30.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
73209: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=73209
GNU Bug Tracking System
Contact [email-masked] with problems

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

Subject: [PATCH] gnu: Add cmake-3.30.
From: John Kehayias <[email-masked]>
To: [email-masked]
Cc: John Kehayias <[email-masked]>
Date: Thu, 12 Sep 2024 19:16:35 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

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!

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