GNU bug report logs - #78589
[PATCH] gnu: Add catch2@3.8.1

Previous Next

Package: guix-patches;

Reported by: nomike <nomike <at> nomike.com>

Date: Sun, 25 May 2025 17:05:02 UTC

Severity: normal

Tags: patch

Done: Andreas Enge <andreas <at> enge.fr>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 78589 in the body.
You can then email your comments to 78589 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#78589; Package guix-patches. (Sun, 25 May 2025 17:05:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to nomike <nomike <at> nomike.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sun, 25 May 2025 17:05:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: nomike <nomike <at> nomike.com>
To: guix-patches <at> gnu.org
Cc: nomike <nomike <at> nomike.com>
Subject: [PATCH] gnu: Add catch2 <at> 3.8.1
Date: Sun, 25 May 2025 19:01:21 +0200
This adds a package for catch2 at version 3.8.1. As a lot of packages depend
on catch2 v. 3.5.3 this version is left as the default. As this is likely to
change in the future, version 3.8.1 is the base package and version 3.5.3
inherits from it.

* gnu/packages/check.scm
  (catch2-3.8.1): New variable, renamed from catch2-3, updated to v. 3.8.1
  (catch2-3): New variable, inherit from catch2-3.8.1

Change-Id: If66aa68039137e32fc760d209fdaa1f34b04f39e
---
I have previously raised #77772, but just updating catch2 to the new version
would trigger way too many rebuilds. I thus file this new patch, which will
update catch2 to 3.8.1, but under a new variable name. The old variable will
be used for a derivative of the new package with the old version.

This way no rebuild should be necessary and the new package can be slowly
transitioned to.

Maybe someone with more experience in guix can decide which one is the better
way forward and can close the other ticket.
 gnu/packages/check.scm | 24 +++++++++++++++++++++---
 1 file changed, 21 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 0092668ca7..5e94b738f9 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -55,6 +55,7 @@
 ;;; Copyright © 2024, 2025 gemmaro <gemmaro.dev <at> gmail.com>
 ;;; Copyright © 2024 Ashvith Shetty <ashvithshetty10 <at> gmail.com>
 ;;; Copyright © 2025 Jordan Moore <lockbox <at> struct.foo>
+;;; Copyright © 2025 nomike Postmann <nomike <at> nomike.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -763,10 +764,10 @@ (define-public cbehave
 pattern.")
       (license license:apsl2))))
 
-(define-public catch2-3
+(define-public catch2-3.8.1
   (package
     (name "catch2")
-    (version "3.5.3")
+    (version "3.8.1")
     (home-page "https://github.com/catchorg/Catch2")
     (source (origin
               (method git-fetch)
@@ -776,7 +777,7 @@ (define-public catch2-3
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "11yla93vm2896fzhm3fz8lk3y3iz5iy7vd6wa7wnwvhsfd2dbfq3"))))
+                "0v1k14n02aiw4rv5sxhc5612cjhkdj59cjpm50qfxhapsdv54n3f"))))
     (build-system cmake-build-system)
     (arguments
      (list
@@ -790,6 +791,23 @@ (define-public catch2-3
 a multi-paradigm automated test framework for C++ and Objective-C.")
     (license license:boost1.0)))
 
+
+(define-public catch2-3
+  (package
+   (inherit catch2-3.8.1)
+   (name "catch2")
+   (version "3.5.3")
+   (source (origin
+            (method git-fetch)
+            (uri (git-reference
+                  (url "https://github.com/catchorg/Catch2")
+                  (commit (string-append "v" version))))
+            (file-name (git-file-name name version))
+            (sha256
+             (base32
+              "11yla93vm2896fzhm3fz8lk3y3iz5iy7vd6wa7wnwvhsfd2dbfq3"))))))
+
+
 (define-public cmdtest
   (package
     (name "cmdtest")
-- 
2.49.0





Information forwarded to guix-patches <at> gnu.org:
bug#78589; Package guix-patches. (Mon, 26 May 2025 10:57:02 GMT) Full text and rfc822 format available.

Message #8 received at 78589 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: nomike <nomike <at> nomike.com>
Cc: 78589 <at> debbugs.gnu.org
Subject: Re: [bug#78589] [PATCH] gnu: Add catch2 <at> 3.8.1
Date: Mon, 26 May 2025 19:56:37 +0900
Hello!

nomike <nomike <at> nomike.com> writes:

> This adds a package for catch2 at version 3.8.1. As a lot of packages depend
> on catch2 v. 3.5.3 this version is left as the default. As this is likely to
> change in the future, version 3.8.1 is the base package and version 3.5.3
> inherits from it.
>
> * gnu/packages/check.scm
>   (catch2-3.8.1): New variable, renamed from catch2-3, updated to v. 3.8.1
>   (catch2-3): New variable, inherit from catch2-3.8.1
>
> Change-Id: If66aa68039137e32fc760d209fdaa1f34b04f39e
> ---
> I have previously raised #77772, but just updating catch2 to the new version
> would trigger way too many rebuilds. I thus file this new patch, which will
> update catch2 to 3.8.1, but under a new variable name. The old variable will
> be used for a derivative of the new package with the old version.
>
> This way no rebuild should be necessary and the new package can be slowly
> transitioned to.
>
> Maybe someone with more experience in guix can decide which one is the better
> way forward and can close the other ticket.

Personally, I like to crunch the results locally (rebuilding the
dependents to get a view of what breaks).  Otherwise a feature branch
would work well here.  I can register at to https://ci.guix.gnu to build
this series, and also send the request for merge issue to guix-patches
to have QA process it too.

Otherwise adding many variants is a bit like shoving snow forward
(amassing technical debt) and tends to make things messier down the
road.

My 2 cents :-).

-- 
Thanks,
Maxim




Reply sent to Andreas Enge <andreas <at> enge.fr>:
You have taken responsibility. (Mon, 14 Jul 2025 09:10:02 GMT) Full text and rfc822 format available.

Notification sent to nomike <nomike <at> nomike.com>:
bug acknowledged by developer. (Mon, 14 Jul 2025 09:10:03 GMT) Full text and rfc822 format available.

Message #13 received at 78589-done <at> debbugs.gnu.org (full text, mbox):

From: Andreas Enge <andreas <at> enge.fr>
To: 78589-done <at> debbugs.gnu.org, 78154-done <at> debbugs.gnu.org
Subject: Close
Date: Mon, 14 Jul 2025 11:09:24 +0200
Closing in favour of https://codeberg.org/guix/guix/pulls/1217

Andreas





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 11 Aug 2025 11:24:12 GMT) Full text and rfc822 format available.

This bug report was last modified 39 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.