[PATCH] gnu: Add catch2@3.8.1

  • Done
  • quality assurance status badge
Details
3 participants
  • Andreas Enge
  • Maxim Cournoyer
  • nomike
Owner
unassigned
Submitted by
nomike
Severity
normal

Debbugs page

N
N
nomike wrote on 25 May 10:01 -0700
(address . guix-patches@gnu.org)(name . nomike)(address . nomike@nomike.com)
20250525170443.2906689-1-nomike@nomike.com
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(-)

Toggle diff (60 lines)
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@gmail.com>
;;; Copyright © 2024 Ashvith Shetty <ashvithshetty10@gmail.com>
;;; Copyright © 2025 Jordan Moore <lockbox@struct.foo>
+;;; Copyright © 2025 nomike Postmann <nomike@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
M
M
Maxim Cournoyer wrote on 26 May 03:56 -0700
(name . nomike)(address . nomike@nomike.com)(address . 78589@debbugs.gnu.org)
87ecwbiqsa.fsf@gmail.com
Hello!

nomike <nomike@nomike.com> writes:

Toggle quote (22 lines)
> 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.gnuto 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
A
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 78589@patchwise.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 78589
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch