Created attachment 234658 [details] patch
Also all consumers should be bumped.
Can't do that, sorry. Catch3 has moved to a single-header include to multiple headers and a compiled library. All client code must be changed, and there isn't a pain-free upgrade path, see https://github.com/catchorg/Catch2/releases/tag/v3.0.1. I'm not about to patch all consumers of catch and submit PRs upstream to upgrade everything to Catch3. I've been sharing ideas with maintainers of dependent ports, and a possible way forward would be to fork the catch port into catch2 (for the current version) and catch (for catch3). All dependencies can be moved to depend on catch2 and progressively moved back to catch when they are ready. But I don't currently have the cycles to do that. If you want to help out in that direction, any help is highly appreciated!
Oh, I now realize that *you* were the one to suggest that path forward.
(In reply to Pietro Cerutti from comment #3) Yes. Ok, I'll adjust the patch accordingly. Thanks, Yuri
Created attachment 234664 [details] patch The new patch places the Catch-3,x version into devel/catch2. One dependency is updated where I know that it looks for catch2.
Right, the ugly thing now is that we have catch2 (new): version 3 catch (old): version 2 what will we do when they bump to version 4 and break compatibility again?
(In reply to Pietro Cerutti from comment #6) > Right, the ugly thing now is that we have > > catch2 (new): version 3 > catch (old): version 2 This is the problem of the upstream how they name their project vs. version numbers. One solution would be to change catch2 to catch3 to reflect the version.
Yes, catch2 is bad as a project name. We might choose to keep catch2 as a base port name and append a version number.. catch22 and catch23 (no pun intended).
(In reply to Pietro Cerutti from comment #8) Any progress on this? Yuri
I'm not working on this, I thought you were. I am not sure what's the best option here. I certainly don't want to maintain multiple versions of Catch, and I'm a bit disappointed by upstream's ignoring my (and others') concerns in the 2 -> 3 upgrade path, see https://github.com/catchorg/Catch2/issues/2429#issuecomment-1141736815. I don't want to go through this again when 2.4 comes out, so I guess I'm waiting for better ideas or suggestions from upstream. If they don't care about downstream packagers, well, I might as well decide to abandon the port. Too bad for adoption.
devel/catch2 is added.
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=08a9d785715ed4020ba3cbab6e573e31fcf5b34e commit 08a9d785715ed4020ba3cbab6e573e31fcf5b34e Author: Yuri Victorovich <yuri@FreeBSD.org> AuthorDate: 2022-12-31 10:20:32 +0000 Commit: Yuri Victorovich <yuri@FreeBSD.org> CommitDate: 2022-12-31 10:22:03 +0000 devel/catch2: New port: Test framework for C++ (3.x series) PR: 264652 devel/Makefile | 1 + devel/catch2/Makefile (new) | 29 +++++++ devel/catch2/distinfo (new) | 3 + devel/catch2/pkg-descr (new) | 2 + devel/catch2/pkg-plist (new) | 178 +++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 213 insertions(+)