git: 320594ea6efc - main - devel/snitch: New port: Lightweight C++20 testing framework

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Mon, 04 Sep 2023 05:57:24 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=320594ea6efc416aef63a6121cfff365c8beb6b6

commit 320594ea6efc416aef63a6121cfff365c8beb6b6
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2023-09-04 05:56:43 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2023-09-04 05:57:19 +0000

    devel/snitch: New port: Lightweight C++20 testing framework
---
 devel/Makefile                      |  1 +
 devel/snitch/Makefile               | 35 +++++++++++++++++++++++++++++++++++
 devel/snitch/distinfo               |  3 +++
 devel/snitch/pkg-descr              |  6 ++++++
 devel/snitch/pkg-plist              | 37 +++++++++++++++++++++++++++++++++++++
 devel/snitch/pkg-plist-headers-only |  3 +++
 6 files changed, 85 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 902fb8062c75..b72ea3b2c4eb 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -7575,6 +7575,7 @@
     SUBDIR += smooth
     SUBDIR += smv
     SUBDIR += snazy
+    SUBDIR += snitch
     SUBDIR += soapui
     SUBDIR += sobjectizer
     SUBDIR += socket_wrapper
diff --git a/devel/snitch/Makefile b/devel/snitch/Makefile
new file mode 100644
index 000000000000..abaceb42ec6a
--- /dev/null
+++ b/devel/snitch/Makefile
@@ -0,0 +1,35 @@
+PORTNAME=	snitch
+DISTVERSIONPREFIX=	v
+DISTVERSION=	1.2.1
+CATEGORIES=	devel
+PKGNAMESUFFIX=	-testing
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Lightweight C++20 testing framework
+WWW=		https://github.com/cschreib/snitch
+
+LICENSE=	BSL
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		cmake compiler:c++20-lang
+USE_LDCONFIG=	yes
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	cschreib
+
+FLAVORS=	default headers_only
+FLAVOR?=	${FLAVORS:[1]}
+headers_only_PLIST=	${MASTERDIR}/pkg-plist-headers-only
+
+.if ${FLAVOR} == default
+CMAKE_ON=	BUILD_SHARED_LIBS
+.endif
+
+.if ${FLAVOR} == headers_only
+PKGNAMESUFFIX:=	${PKGNAMESUFFIX}-headers-only
+CMAKE_ON=	SNITCH_HEADER_ONLY
+NO_ARCH=	yes
+CONFLICTS_INSTALL=	snitch-testing # see https://github.com/cschreib/snitch/issues/125
+.endif
+
+.include <bsd.port.mk>
diff --git a/devel/snitch/distinfo b/devel/snitch/distinfo
new file mode 100644
index 000000000000..0d4d1b6a9245
--- /dev/null
+++ b/devel/snitch/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1693805115
+SHA256 (cschreib-snitch-v1.2.1_GH0.tar.gz) = 7bfdb493af701395ac7c39717335d4bfe44d10cb644d023059e3170365602cca
+SIZE (cschreib-snitch-v1.2.1_GH0.tar.gz) = 117627
diff --git a/devel/snitch/pkg-descr b/devel/snitch/pkg-descr
new file mode 100644
index 000000000000..aa7218d618be
--- /dev/null
+++ b/devel/snitch/pkg-descr
@@ -0,0 +1,6 @@
+snitch is a lightweight C++20 testing framework.
+
+The goal of snitch is to be a simple, cheap, non-invasive, and user-friendly
+testing framework. The design philosophy is to keep the testing API lean,
+including only what is strictly necessary to present clear messages when a
+test fails.
diff --git a/devel/snitch/pkg-plist b/devel/snitch/pkg-plist
new file mode 100644
index 000000000000..63fe04014953
--- /dev/null
+++ b/devel/snitch/pkg-plist
@@ -0,0 +1,37 @@
+include/snitch/snitch.hpp
+include/snitch/snitch_append.hpp
+include/snitch/snitch_capture.hpp
+include/snitch/snitch_cli.hpp
+include/snitch/snitch_concepts.hpp
+include/snitch/snitch_config.hpp
+include/snitch/snitch_console.hpp
+include/snitch/snitch_error_handling.hpp
+include/snitch/snitch_expression.hpp
+include/snitch/snitch_file.hpp
+include/snitch/snitch_fixed_point.hpp
+include/snitch/snitch_function.hpp
+include/snitch/snitch_macros_check.hpp
+include/snitch/snitch_macros_check_base.hpp
+include/snitch/snitch_macros_consteval.hpp
+include/snitch/snitch_macros_constexpr.hpp
+include/snitch/snitch_macros_exceptions.hpp
+include/snitch/snitch_macros_misc.hpp
+include/snitch/snitch_macros_reporter.hpp
+include/snitch/snitch_macros_test_case.hpp
+include/snitch/snitch_macros_utility.hpp
+include/snitch/snitch_macros_warnings.hpp
+include/snitch/snitch_matcher.hpp
+include/snitch/snitch_registry.hpp
+include/snitch/snitch_reporter_catch2_xml.hpp
+include/snitch/snitch_reporter_console.hpp
+include/snitch/snitch_reporter_teamcity.hpp
+include/snitch/snitch_section.hpp
+include/snitch/snitch_string.hpp
+include/snitch/snitch_string_utility.hpp
+include/snitch/snitch_test_data.hpp
+include/snitch/snitch_type_name.hpp
+include/snitch/snitch_vector.hpp
+lib/cmake/snitch/snitch-config.cmake
+lib/cmake/snitch/snitch-targets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/snitch/snitch-targets.cmake
+lib/libsnitch.so
diff --git a/devel/snitch/pkg-plist-headers-only b/devel/snitch/pkg-plist-headers-only
new file mode 100644
index 000000000000..86cf2a63ac4d
--- /dev/null
+++ b/devel/snitch/pkg-plist-headers-only
@@ -0,0 +1,3 @@
+include/snitch/snitch_all.hpp
+lib/cmake/snitch/snitch-config.cmake
+lib/cmake/snitch/snitch-header-only-targets.cmake