devel/tomlplusplus: add new port

TOML config parser and serializer for C++

Features:
- Header-only (optional!)
- Supports the latest TOML release v1.0.0, plus
  optional support for some unreleased TOML features
- Passes all tests in the toml-test suite
- Supports serializing to JSON and YAML
- Proper UTF-8 handling (incl. BOM)
- C++17 (plus some C++20 features where available, e.g. experimental support for char8_t strings)
- Doesn't require RTTI
- Works with or without exceptions

https://marzer.github.io/tomlplusplus/
This commit is contained in:
Jan Beich 2023-10-13 15:39:42 +02:00
parent 91a19f4d40
commit 164e369102
5 changed files with 106 additions and 0 deletions

View file

@ -7794,6 +7794,7 @@
SUBDIR += tokei
SUBDIR += tokio-console
SUBDIR += toml11
SUBDIR += tomlplusplus
SUBDIR += tortoisehg
SUBDIR += tpasm
SUBDIR += tradcpp

View file

@ -0,0 +1,33 @@
PORTNAME= tomlplusplus
DISTVERSIONPREFIX= v
DISTVERSION= 3.4.0
CATEGORIES= devel
MAINTAINER= jbeich@FreeBSD.org
COMMENT= TOML config parser and serializer for C++
WWW= https://marzer.github.io/tomlplusplus/
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= cmake:devel/cmake-core
TEST_DEPENDS= catch>0:devel/catch
USES= compiler:c++17-lang meson pkgconfig
USE_GITHUB= yes
USE_LDCONFIG= yes
GH_ACCOUNT= marzer
MESON_ARGS= -Duse_vendored_libs=false
post-patch:
# Convert codeset from GNU to IANA
@${REINPLACE_CMD} 's/utf8/UTF-8/' ${WRKSRC}/tests/meson.build
pre-test:
@if [ ! -e ${WRKDIR}/.meson_build_tests ]; then \
${RM} ${CONFIGURE_COOKIE} ${BUILD_COOKIE}; \
${MAKE} -C${.CURDIR} build MESON_ARGS="${MESON_ARGS} --reconfigure -Dbuild_tests=true"; \
${TOUCH} ${WRKDIR}/.meson_build_tests; \
fi
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1697204382
SHA256 (marzer-tomlplusplus-v3.4.0_GH0.tar.gz) = 8517f65938a4faae9ccf8ebb36631a38c1cadfb5efa85d9a72e15b9e97d25155
SIZE (marzer-tomlplusplus-v3.4.0_GH0.tar.gz) = 1294731

View file

@ -0,0 +1,12 @@
toml++ is a TOML config parser and serializer for C++.
Features:
- Header-only (optional!)
- Supports the latest TOML release v1.0.0, plus
optional support for some unreleased TOML features
- Passes all tests in the toml-test suite
- Supports serializing to JSON and YAML
- Proper UTF-8 handling (incl. BOM)
- C++17 (plus some C++20 features where available, e.g. experimental support for char8_t strings)
- Doesn't require RTTI
- Works with or without exceptions

View file

@ -0,0 +1,57 @@
include/toml++/impl/array.hpp
include/toml++/impl/array.inl
include/toml++/impl/at_path.hpp
include/toml++/impl/at_path.inl
include/toml++/impl/date_time.hpp
include/toml++/impl/formatter.hpp
include/toml++/impl/formatter.inl
include/toml++/impl/forward_declarations.hpp
include/toml++/impl/header_end.hpp
include/toml++/impl/header_start.hpp
include/toml++/impl/json_formatter.hpp
include/toml++/impl/json_formatter.inl
include/toml++/impl/key.hpp
include/toml++/impl/make_node.hpp
include/toml++/impl/node.hpp
include/toml++/impl/node.inl
include/toml++/impl/node_view.hpp
include/toml++/impl/parse_error.hpp
include/toml++/impl/parse_result.hpp
include/toml++/impl/parser.hpp
include/toml++/impl/parser.inl
include/toml++/impl/path.hpp
include/toml++/impl/path.inl
include/toml++/impl/preprocessor.hpp
include/toml++/impl/print_to_stream.hpp
include/toml++/impl/print_to_stream.inl
include/toml++/impl/simd.hpp
include/toml++/impl/source_region.hpp
include/toml++/impl/std_except.hpp
include/toml++/impl/std_initializer_list.hpp
include/toml++/impl/std_map.hpp
include/toml++/impl/std_new.hpp
include/toml++/impl/std_optional.hpp
include/toml++/impl/std_string.hpp
include/toml++/impl/std_string.inl
include/toml++/impl/std_utility.hpp
include/toml++/impl/std_variant.hpp
include/toml++/impl/std_vector.hpp
include/toml++/impl/table.hpp
include/toml++/impl/table.inl
include/toml++/impl/toml_formatter.hpp
include/toml++/impl/toml_formatter.inl
include/toml++/impl/unicode.hpp
include/toml++/impl/unicode.inl
include/toml++/impl/unicode_autogenerated.hpp
include/toml++/impl/value.hpp
include/toml++/impl/version.hpp
include/toml++/impl/yaml_formatter.hpp
include/toml++/impl/yaml_formatter.inl
include/toml++/toml.h
include/toml++/toml.hpp
lib/cmake/tomlplusplus/tomlplusplusConfig.cmake
lib/cmake/tomlplusplus/tomlplusplusConfigVersion.cmake
lib/libtomlplusplus.so
lib/libtomlplusplus.so.3
lib/libtomlplusplus.so.3.4.0
libdata/pkgconfig/tomlplusplus.pc