Catch stands for C++ Automated Test Cases in Headers and is a multi-paradigm
automated test framework for C++ and Objective-C (and, maybe, C). It is
implemented entirely in a set of header files, but is packaged up as a single
header for extra convenience.
===> The following configuration options are available for catch-2.13.10,1:
DOCS=on: Build and/or install documentation
===> Use 'make config' to modify these settings
devel/catch: fix build with clang 21, take 2
Move the separate patches into patch-clang21, as requested by the
maintainer.
PR: 293446
Approved by: sunpoet (maintainer)
MFH: 2026Q1
devel/catch: fix build with clang 19
Clang 19 has become more strict about C++ extensions, which results in:
/wrkdirs/usr/ports/devel/catch/work/Catch2-2.13.10/projects/SelfTest/UsageTests/Class.tests.cpp:83:1:
error: passing no argument for the '...' parameter of a variadic macro is a
C++20 extension [-Werror,-Wc++20-extensions]
83 | TEMPLATE_TEST_CASE_METHOD(Template_Fixture, "A
TEMPLATE_TEST_CASE_METHOD based test run that succeeds", "[class][template]",
int, float, double) {
| ^
/wrkdirs/usr/ports/devel/catch/work/Catch2-2.13.10/include/catch.hpp:257:53:
note: expanded from macro 'TEMPLATE_TEST_CASE_METHOD'
257 | #define TEMPLATE_TEST_CASE_METHOD( className, ... )
INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD( className, __VA_ARGS__ )
| ^
/wrkdirs/usr/ports/devel/catch/work/Catch2-2.13.10/include/internal/catch_test_registry.h:302:9:
note: expanded from macro 'INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD'
302 | INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2(
INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_C_L_A_S_S_ ),
INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ) , ClassName,
Name, Tags, typename T, __VA_ARGS__ )
| ^
/wrkdirs/usr/ports/devel/catch/work/Catch2-2.13.10/include/internal/catch_test_registry.h:279:13:
note: expanded from macro 'INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2'
279 |
INTERNAL_CATCH_NTTP_GEN(INTERNAL_CATCH_REMOVE_PARENS(Signature))\
(Only the first 15 lines of the commit message are shown above )
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
Bump PORTREVISION for ports depending on the canonical version of GCC
as defined in Mk/bsd.default-versions.mk which has moved from GCC 8.3
to GCC 9.1 under most circumstances now after revision 507371.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, everything INDEX-11 shows with a dependency on lang/gcc9 now.
PR: 238330
Change cmake default behaviour to outsource.
Ports that build out of source now simply can use "USES=cmake"
instead of "USES=cmake:outsource". Ports that fail to build
out of source now need to specify "USES=cmake:insource".
I tried to only set insource where explictely needed.
PR: 232038
Exp-run by: antoine
Bump PORTREVISION for ports depending on the canonical version of GCC
defined via Mk/bsd.default-versions.mk which has moved from GCC 7.4 t
GCC 8.2 under most circumstances.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, as a double check, everything INDEX-11 showed depending on lang/gcc7.
PR: 231590
devel/catch: update to 2.3.0
This release changes the include paths provided by our CMake and pkg-config
integration. The proper include path for the single-header when using one of
the above is now <catch2/catch.hpp>. This change also necessitated changes to
paths inside the repository, so that the single-header version is now at
single_include/catch2/catch.hpp, rather than single_include/catch.hpp.
Release notes: https://github.com/catchorg/Catch2/releases/tag/v2.3.0
devel/catch: update to 2.0.1
This is the first full release of Catch2. There may be some minor breaking
changes for some people. Please see the details below before moving to this
release.
Release notes: https://github.com/catchorg/Catch2/releases/tag/v2.0.1
- New port: devel/catch
Catch stands for C++ Automated Test Cases in Headers and is a multi-paradigm
automated test framework for C++ and Objective-C (and, maybe, C). It is
implemented entirely in a set of header files, but is packaged up as a single
header for extra convenience.
WWW: https://github.com/philsquared/Catch