git: fa2f0ec06416 - main - www/restinio: New port: Asynchronous HTTP/WebSocket server C++14 library

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Sun, 06 Nov 2022 08:20:29 UTC
The branch main has been updated by yuri:

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

commit fa2f0ec0641621017df94bc15b45ddefe4390a11
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-11-06 06:44:49 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-11-06 08:20:22 +0000

    www/restinio: New port: Asynchronous HTTP/WebSocket server C++14 library
---
 www/Makefile           |   1 +
 www/restinio/Makefile  |  46 ++++++++++++++
 www/restinio/distinfo  |   5 ++
 www/restinio/pkg-descr |   3 +
 www/restinio/pkg-plist | 168 +++++++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 223 insertions(+)

diff --git a/www/Makefile b/www/Makefile
index 392efbd3278f..04fe03c15649 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -1819,6 +1819,7 @@
     SUBDIR += reproxy
     SUBDIR += resin3
     SUBDIR += restbed
+    SUBDIR += restinio
     SUBDIR += retawq
     SUBDIR += rss-bridge
     SUBDIR += rsskit
diff --git a/www/restinio/Makefile b/www/restinio/Makefile
new file mode 100644
index 000000000000..9ed2e42a0bd4
--- /dev/null
+++ b/www/restinio/Makefile
@@ -0,0 +1,46 @@
+PORTNAME=	restinio
+DISTVERSIONPREFIX=	v.
+DISTVERSION=	0.6.17
+CATEGORIES=	www devel
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Asynchronous HTTP/WebSocket server C++14 library
+WWW=		https://stiffstream.com/en/products/restinio.html
+
+LICENSE=	BSD3CLAUSE
+LICENSE_FILE=	${WRKSRC}/../LICENSE
+
+BUILD_DEPENDS=	asio>0:net/asio \
+		libfmt>0:devel/libfmt \
+		sobjectizer>0:devel/sobjectizer
+LIB_DEPENDS=	libboost_regex.so:devel/boost-libs \
+		libhttp_parser.so:www/http-parser \
+		libpcre2-8.so:devel/pcre2
+RUN_DEPENDS=	asio>0:net/asio \
+		libfmt>0:devel/libfmt \
+		sobjectizer>0:devel/sobjectizer
+
+USES=		cmake:testing compiler:c++14-lang localbase:ldflags
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	Stiffstream
+GH_TUPLE=	catchorg:Clara:2bfd8b2:clara
+
+WRKSRC_SUBDIR=	dev
+
+CXXFLAGS+=	-I${WRKSRC_clara}/include
+
+CMAKE_ON=		RESTINIO_FIND_DEPS RESTINIO_USE_EXTERNAL_HTTP_PARSER RESTINIO_USE_EXTERNAL_SOBJECTIZER
+CMAKE_OFF=		RESTINIO_BENCH RESTINIO_INSTALL_BENCHES RESTINIO_TEST
+CMAKE_TESTING_ON=	RESTINIO_TEST
+
+OPTIONS_DEFINE=		SAMPLES
+OPTIONS_SUB=		yes
+
+SAMPLES_DESC=		Build and install samples
+SAMPLES_USES=		ssl
+SAMPLES_CMAKE_BOOL=	RESTINIO_SAMPLE RESTINIO_INSTALL_SAMPLES
+SAMPLES_VARS_OFF=	NO_ARCH=yes
+SAMPLES_BUILD_DEPENDS=	json-dto>0:devel/json-dto
+
+.include <bsd.port.mk>
diff --git a/www/restinio/distinfo b/www/restinio/distinfo
new file mode 100644
index 000000000000..9207c77d6ee6
--- /dev/null
+++ b/www/restinio/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1667716405
+SHA256 (Stiffstream-restinio-v.0.6.17_GH0.tar.gz) = 0140b23f50bb964f6917d1f99205476eba92203dc586673bdf2ea48d7406f2c4
+SIZE (Stiffstream-restinio-v.0.6.17_GH0.tar.gz) = 670089
+SHA256 (catchorg-Clara-2bfd8b2_GH0.tar.gz) = 679332a04a59d13517a6f56a14b70125a157e6cc7c49bb530b52521c38eef41d
+SIZE (catchorg-Clara-2bfd8b2_GH0.tar.gz) = 128573
diff --git a/www/restinio/pkg-descr b/www/restinio/pkg-descr
new file mode 100644
index 000000000000..d8dfd2cb9c11
--- /dev/null
+++ b/www/restinio/pkg-descr
@@ -0,0 +1,3 @@
+RESTinio is a header-only C++14 library that gives you an embedded
+HTTP/Websocket server. It is based on standalone version of ASIO and
+targeted primarily for asynchronous processing of HTTP-requests.
diff --git a/www/restinio/pkg-plist b/www/restinio/pkg-plist
new file mode 100644
index 000000000000..ce7b85145498
--- /dev/null
+++ b/www/restinio/pkg-plist
@@ -0,0 +1,168 @@
+%%SAMPLES%%bin/dh2048.pem
+%%SAMPLES%%bin/key.pem
+%%SAMPLES%%bin/sample.async_handling_with_sobjectizer
+%%SAMPLES%%bin/sample.chained_handlers
+%%SAMPLES%%bin/sample.compression
+%%SAMPLES%%bin/sample.connection_state
+%%SAMPLES%%bin/sample.custom_buffer
+%%SAMPLES%%bin/sample.decompression
+%%SAMPLES%%bin/sample.easy_parser_router
+%%SAMPLES%%bin/sample.express_router
+%%SAMPLES%%bin/sample.express_router_tutorial
+%%SAMPLES%%bin/sample.extra_data_factory
+%%SAMPLES%%bin/sample.file_upload
+%%SAMPLES%%bin/sample.hello_world
+%%SAMPLES%%bin/sample.hello_world_basic
+%%SAMPLES%%bin/sample.hello_world_delayed
+%%SAMPLES%%bin/sample.hello_world_https
+%%SAMPLES%%bin/sample.hello_world_minimal
+%%SAMPLES%%bin/sample.hello_world_sendfile
+%%SAMPLES%%bin/sample.hello_world_sendfile_https
+%%SAMPLES%%bin/sample.ip_blocker
+%%SAMPLES%%bin/sample.notificators
+%%SAMPLES%%bin/sample.query_string_params
+%%SAMPLES%%bin/sample.run_existing_server
+%%SAMPLES%%bin/sample.run_for_minute
+%%SAMPLES%%bin/sample.sendfiles
+%%SAMPLES%%bin/sample.shared_tls_context
+%%SAMPLES%%bin/sample.tls_inspector
+%%SAMPLES%%bin/sample.try_parse_query_string
+%%SAMPLES%%bin/sample.using_external_io_context
+%%SAMPLES%%bin/sample.websocket
+%%SAMPLES%%bin/sample.websocket_detailed
+%%SAMPLES%%bin/sample.websocket_wss
+%%SAMPLES%%bin/server.pem
+%%SAMPLES%%bin/test_decompression.sh
+%%SAMPLES%%bin/wss_dh2048.pem
+%%SAMPLES%%bin/wss_key.pem
+%%SAMPLES%%bin/wss_server.pem
+include/restinio/all.hpp
+include/restinio/asio_include.hpp
+include/restinio/asio_timer_manager.hpp
+include/restinio/buffers.hpp
+include/restinio/cast_to.hpp
+include/restinio/chunked_input_info.hpp
+include/restinio/common_types.hpp
+include/restinio/compiler_features.hpp
+include/restinio/connection_count_limiter.hpp
+include/restinio/connection_state_listener.hpp
+include/restinio/default_strands.hpp
+include/restinio/exception.hpp
+include/restinio/expected.hpp
+include/restinio/helpers/easy_parser.hpp
+include/restinio/helpers/file_upload.hpp
+include/restinio/helpers/http_field_parsers/accept-charset.hpp
+include/restinio/helpers/http_field_parsers/accept-encoding.hpp
+include/restinio/helpers/http_field_parsers/accept-language.hpp
+include/restinio/helpers/http_field_parsers/accept.hpp
+include/restinio/helpers/http_field_parsers/authorization.hpp
+include/restinio/helpers/http_field_parsers/basic_auth.hpp
+include/restinio/helpers/http_field_parsers/basics.hpp
+include/restinio/helpers/http_field_parsers/bearer_auth.hpp
+include/restinio/helpers/http_field_parsers/cache-control.hpp
+include/restinio/helpers/http_field_parsers/connection.hpp
+include/restinio/helpers/http_field_parsers/content-disposition.hpp
+include/restinio/helpers/http_field_parsers/content-encoding.hpp
+include/restinio/helpers/http_field_parsers/content-type.hpp
+include/restinio/helpers/http_field_parsers/details/pct_encoded_symbols.hpp
+include/restinio/helpers/http_field_parsers/host.hpp
+include/restinio/helpers/http_field_parsers/media-type.hpp
+include/restinio/helpers/http_field_parsers/range.hpp
+include/restinio/helpers/http_field_parsers/transfer-encoding.hpp
+include/restinio/helpers/http_field_parsers/try_parse_field.hpp
+include/restinio/helpers/http_field_parsers/user-agent.hpp
+include/restinio/helpers/multipart_body.hpp
+include/restinio/helpers/string_algo.hpp
+include/restinio/http_headers.hpp
+include/restinio/http_server.hpp
+include/restinio/http_server_run.hpp
+include/restinio/impl/acceptor.hpp
+include/restinio/impl/connection.hpp
+include/restinio/impl/connection_base.hpp
+include/restinio/impl/connection_settings.hpp
+include/restinio/impl/executor_wrapper.hpp
+include/restinio/impl/fixed_buffer.hpp
+include/restinio/impl/header_helpers.hpp
+include/restinio/impl/include_fmtlib.hpp
+include/restinio/impl/ioctx_on_thread_pool.hpp
+include/restinio/impl/os_posix.ipp
+include/restinio/impl/os_unknown.ipp
+include/restinio/impl/os_win.ipp
+include/restinio/impl/overflow_controlled_integer_accumulator.hpp
+include/restinio/impl/parser_callbacks.ipp
+include/restinio/impl/response_coordinator.hpp
+include/restinio/impl/sendfile_operation.hpp
+include/restinio/impl/sendfile_operation_default.ipp
+include/restinio/impl/sendfile_operation_posix.ipp
+include/restinio/impl/sendfile_operation_win.ipp
+include/restinio/impl/string_caseless_compare.hpp
+include/restinio/impl/tls_socket.hpp
+include/restinio/impl/to_lower_lut.hpp
+include/restinio/impl/write_group_output_ctx.hpp
+include/restinio/incoming_http_msg_limits.hpp
+include/restinio/ip_blocker.hpp
+include/restinio/message_builders.hpp
+include/restinio/null_logger.hpp
+include/restinio/null_mutex.hpp
+include/restinio/null_timer_manager.hpp
+include/restinio/optional.hpp
+include/restinio/os.hpp
+include/restinio/ostream_logger.hpp
+include/restinio/path2regex/path2regex.hpp
+include/restinio/request_handler.hpp
+include/restinio/router/boost_regex_engine.hpp
+include/restinio/router/easy_parser_router.hpp
+include/restinio/router/express.hpp
+include/restinio/router/impl/target_path_holder.hpp
+include/restinio/router/method_matcher.hpp
+include/restinio/router/non_matched_request_handler.hpp
+include/restinio/router/pcre2_regex_engine.hpp
+include/restinio/router/pcre_regex_engine.hpp
+include/restinio/router/std_regex_engine.hpp
+include/restinio/sendfile.hpp
+include/restinio/sendfile_defs_default.hpp
+include/restinio/sendfile_defs_posix.hpp
+include/restinio/sendfile_defs_win.hpp
+include/restinio/settings.hpp
+include/restinio/so5/so_timer_manager.hpp
+include/restinio/string_view.hpp
+include/restinio/sync_chain/fixed_size.hpp
+include/restinio/sync_chain/growable_size.hpp
+include/restinio/tcp_connection_ctx_base.hpp
+include/restinio/third_party/expected-lite/expected.hpp
+include/restinio/third_party/optional-lite/optional.hpp
+include/restinio/third_party/string-view-lite/string_view.hpp
+include/restinio/third_party/variant-lite/variant.hpp
+include/restinio/timer_common.hpp
+include/restinio/tls.hpp
+include/restinio/tls_fwd.hpp
+include/restinio/traits.hpp
+include/restinio/transforms/zlib.hpp
+include/restinio/uri_helpers.hpp
+include/restinio/utils/at_scope_exit.hpp
+include/restinio/utils/base64.hpp
+include/restinio/utils/base64_lut.ipp
+include/restinio/utils/from_string.hpp
+include/restinio/utils/from_string_details.ipp
+include/restinio/utils/impl/bitops.hpp
+include/restinio/utils/impl/safe_uint_truncate.hpp
+include/restinio/utils/metaprogramming.hpp
+include/restinio/utils/percent_encoding.hpp
+include/restinio/utils/sha1.hpp
+include/restinio/utils/suppress_exceptions.hpp
+include/restinio/utils/tagged_scalar.hpp
+include/restinio/utils/tuple_algorithms.hpp
+include/restinio/utils/utf8_checker.hpp
+include/restinio/value_or.hpp
+include/restinio/variant.hpp
+include/restinio/version.hpp
+include/restinio/websocket/impl/utf8.hpp
+include/restinio/websocket/impl/ws_connection.hpp
+include/restinio/websocket/impl/ws_connection_base.hpp
+include/restinio/websocket/impl/ws_parser.hpp
+include/restinio/websocket/impl/ws_protocol_validator.hpp
+include/restinio/websocket/message.hpp
+include/restinio/websocket/websocket.hpp
+lib/cmake/restinio/restinio-config-version.cmake
+lib/cmake/restinio/restinio-config.cmake
+lib/cmake/restinio/restinio-targets.cmake