From: Johannes Thyssen Tishman Subject: [new] devel/scnlib To: ports@openbsd.org Date: Sat, 4 Apr 2026 14:40:43 +0000 Please find attached a port for devel/scnlib. COMMENT: scanf for modern C++ DESCR: scnlib is a modern C++ library for replacing scanf and std::istream. This library attempts to move us ever so much closer to replacing iostreams and C stdio altogether. It's faster than iostream, and type-safe, unlike scanf. Think {fmt} or C++20 std::format, but in the other direction. This port is needed to update graphics/vtk to version 9.6.0. Most tests are passing (96% tests passed, 1 tests failed out of 25). I've reported[1] the set of tests that failed upstream. [1] https://github.com/eliaskosunen/scnlib/issues/155 Feedback? OKs? Thank you. diff /usr/ports path + /usr/ports commit - 4658dbcbe59eb87e0d95b05c390ef2da5fa86922 blob - /dev/null file + devel/scnlib/Makefile (mode 644) --- /dev/null +++ devel/scnlib/Makefile @@ -0,0 +1,31 @@ +COMMENT = scanf for modern C++ + +GH_ACCOUNT = eliaskosunen +GH_PROJECT = scnlib +GH_TAGNAME = v4.0.1 + +SHARED_LIBS += scn 0.0 # 0.0 + +CATEGORIES = devel +HOMEPAGE = https://www.scnlib.dev/ +MAINTAINER = Johannes Thyssen Tishman + +PERMIT_PACKAGE = Yes + +WANTLIB += ${COMPILER_LIBCXX} m + +COMPILER = base-clang ports-gcc +MODULES = devel/cmake \ + lang/python + +BUILD_DEPENDS = devel/fast-float \ + devel/gtest + +CONFIGURE_ARGS += -DSCN_USE_EXTERNAL_FAST_FLOAT=ON \ + -DSCN_USE_EXTERNAL_GTEST=ON \ + -DSCN_BENCHMARKS=OFF \ + -DSCN_DOCS=OFF \ + -DSCN_EXAMPLES=OFF \ + -DBUILD_SHARED_LIBS=ON + +.include commit - 4658dbcbe59eb87e0d95b05c390ef2da5fa86922 blob - /dev/null file + devel/scnlib/distinfo (mode 644) --- /dev/null +++ devel/scnlib/distinfo @@ -0,0 +1,2 @@ +SHA256 (scnlib-4.0.1.tar.gz) = 7OF7JoQIlMxXpxJxOP5FQJKa3LKXUk3sAsSQwjP/Rqc= +SIZE (scnlib-4.0.1.tar.gz) = 434107 commit - 4658dbcbe59eb87e0d95b05c390ef2da5fa86922 blob - /dev/null file + devel/scnlib/pkg/DESCR (mode 644) --- /dev/null +++ devel/scnlib/pkg/DESCR @@ -0,0 +1,5 @@ +scnlib is a modern C++ library for replacing scanf and std::istream. +This library attempts to move us ever so much closer to replacing +iostreams and C stdio altogether. It's faster than iostream, and +type-safe, unlike scanf. Think {fmt} or C++20 std::format, but in +the other direction. commit - 4658dbcbe59eb87e0d95b05c390ef2da5fa86922 blob - /dev/null file + devel/scnlib/pkg/PLIST (mode 644) --- /dev/null +++ devel/scnlib/pkg/PLIST @@ -0,0 +1,15 @@ +include/scn/ +include/scn/chrono.h +include/scn/fwd.h +include/scn/istream.h +include/scn/ranges.h +include/scn/regex.h +include/scn/scan.h +include/scn/xchar.h +lib/cmake/ +lib/cmake/scn/ +lib/cmake/scn/scn-config-version.cmake +lib/cmake/scn/scn-config.cmake +lib/cmake/scn/scn-targets${MODCMAKE_BUILD_SUFFIX} +lib/cmake/scn/scn-targets.cmake +@lib lib/libscn.so.${LIBscn_VERSION}