Download raw body.
[new] devel/scnlib
On Sat Apr 04, 2026 at 02:40:43PM +0000, Johannes Thyssen Tishman wrote:
> 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.
>
New ports as tarball, please.
> 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 <jtt@openbsd.org>
> +
> +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 <bsd.port.mk>
> 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}
>
[new] devel/scnlib