Index | Thread | Search

From:
Rafael Sadowski <rafael@sizeofvoid.org>
Subject:
Re: [new] devel/scnlib
To:
Johannes Thyssen Tishman <jtt@openbsd.org>, ports@openbsd.org
Date:
Fri, 17 Apr 2026 08:12:01 +0200

Download raw body.

Thread
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.

OK (I'm in favour of post 7.9!) but ...

> 
> 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

why COMPILER?

> +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}
>