diff --git a/devel/Makefile b/devel/Makefile --- a/devel/Makefile +++ b/devel/Makefile @@ -1501,6 +1501,7 @@ SUBDIR += magit-devel SUBDIR += make++ SUBDIR += makedepend + SUBDIR += malloy SUBDIR += marisa-trie SUBDIR += marl SUBDIR += mate-common diff --git a/devel/malloy/Makefile b/devel/malloy/Makefile new file mode 100644 --- /dev/null +++ b/devel/malloy/Makefile @@ -0,0 +1,63 @@ +PORTNAME= malloy +DISTVERSION= 0.5.1 +CATEGORIES= devel + +MAINTAINER= jbo@insane.engineer +COMMENT= Embeddable HTTP(S) and WS(S) client/server components for C++ + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/license.txt + +BROKEN_FreeBSD_12= some C++20 STL headers are missing on 12.3,\ + see https://bugs.freebsd.org/255374 + +BUILD_DEPENDS= boost-libs>1.74.0:devel/boost-libs +LIB_DEPENDS= libfmt.so:devel/libfmt \ + libspdlog.so:devel/spdlog + +USES= cmake + +USE_GITHUB= yes +GH_ACCOUNT= tectu + +CMAKE_ON= MALLOY_BUILD_SHARED +CMAKE_OFF= MALLOY_BUILD_EXAMPLES \ + MALLOY_DEPENDENCY_FMT_DOWNLOAD \ + MALLOY_DEPENDENCY_SPDLOG_DOWNLOAD + +OPTIONS_DEFINE= DOCS EXAMPLES HTML TEST TLS +OPTIONS_DEFAULT= CLIENT DOCS EXAMPLES HTML SERVER TLS +OPTIONS_MULTI= HTTP +OPTIONS_MULTI_HTTP= CLIENT SERVER +OPTIONS_SUB= yes +CLIENT_DESC= HTTP client support +HTML_DESC= HTML features +SERVER_DESC= HTTP server support + +CLIENT_CMAKE_BOOL= MALLOY_FEATURE_CLIENT +DOCS_BUILD_DEPENDS= doxygen:devel/doxygen +DOCS_PORTDOCS= * +HTML_CMAKE_BOOL= MALLOY_FEATURE_HTML +SERVER_CMAKE_BOOL= MALLOY_FEATURE_SERVER +TEST_IMPLIES= CLIENT HTML SERVER +TEST_CMAKE_BOOL= MALLOY_BUILD_TESTS +TLS_USES= ssl +TLS_CMAKE_BOOL= MALLOY_FEATURE_TLS + +post-build-DOCS-on: + (cd ${WRKSRC} && ${LOCALBASE}/bin/doxygen) + +post-install-DOCS-on: + ${MKDIR} ${STAGEDIR}${DOCSDIR} + ${INSTALL_DATA} ${WRKSRC}/readme.md ${STAGEDIR}${DOCSDIR} + (cd ${WRKSRC}/doc/doxygen && \ + ${COPYTREE_SHARE} html ${STAGEDIR}${DOCSDIR}) + +post-install-EXAMPLES-on: + ${MKDIR} ${STAGEDIR}${EXAMPLESDIR} + (cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}) + +do-test-TEST-on: + ${TEST_WRKSRC}/bin/malloy-tests + +.include diff --git a/devel/malloy/distinfo b/devel/malloy/distinfo new file mode 100644 --- /dev/null +++ b/devel/malloy/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1657217605 +SHA256 (tectu-malloy-0.5.1_GH0.tar.gz) = 5126f2eada548bb1e8bb39abfe15a25beafc475d488fb916c83c328836e62087 +SIZE (tectu-malloy-0.5.1_GH0.tar.gz) = 188078 diff --git a/devel/malloy/pkg-descr b/devel/malloy/pkg-descr new file mode 100644 --- /dev/null +++ b/devel/malloy/pkg-descr @@ -0,0 +1,7 @@ +Malloy is a C++ library providing embeddable server & client components for +both HTTP(S) and WebSocket(Secure). + +The library is written in C++20 and provides easy-to-use high-level interfaces +for creating server and client applications painlessly. + +WWW: https://github.com/tectu/malloy diff --git a/devel/malloy/pkg-plist b/devel/malloy/pkg-plist new file mode 100644 --- /dev/null +++ b/devel/malloy/pkg-plist @@ -0,0 +1,110 @@ +%%CLIENT%%include/malloy/client/controller.hpp +%%CLIENT%%include/malloy/client/http/connection.hpp +%%CLIENT%%include/malloy/client/http/connection_plain.hpp +%%CLIENT%%include/malloy/client/http/connection_tls.hpp +%%CLIENT%%include/malloy/client/type_traits.hpp +%%CLIENT%%include/malloy/client/websocket/connection.hpp +include/malloy/core/controller.hpp +include/malloy/core/detail/action_queue.hpp +include/malloy/core/detail/controller_run_result.hpp +include/malloy/core/detail/version_checks.hpp +include/malloy/core/error.hpp +%%HTML%%include/malloy/core/html/form.hpp +%%HTML%%include/malloy/core/html/form_renderer.hpp +%%HTML%%include/malloy/core/html/html.hpp +%%HTML%%include/malloy/core/html/multipart_parser.hpp +include/malloy/core/http/cookie.hpp +include/malloy/core/http/filters/file.hpp +include/malloy/core/http/generator.hpp +include/malloy/core/http/http.hpp +include/malloy/core/http/request.hpp +include/malloy/core/http/response.hpp +include/malloy/core/http/session/manager.hpp +include/malloy/core/http/session/session.hpp +include/malloy/core/http/session/storage.hpp +include/malloy/core/http/session/storage_memory.hpp +include/malloy/core/http/session/types.hpp +include/malloy/core/http/type_traits.hpp +include/malloy/core/http/types.hpp +include/malloy/core/http/utils.hpp +%%TLS%%include/malloy/core/tls/manager.hpp +include/malloy/core/type_traits.hpp +include/malloy/core/utils.hpp +include/malloy/core/websocket/connection.hpp +include/malloy/core/websocket/stream.hpp +include/malloy/core/websocket/websocket.hpp +%%SERVER%%include/malloy/server/auth/basic.hpp +%%SERVER%%include/malloy/server/http/connection.hpp +%%SERVER%%include/malloy/server/http/connection_detector.hpp +%%SERVER%%include/malloy/server/http/connection_plain.hpp +%%SERVER%%include/malloy/server/http/connection_t.hpp +%%SERVER%%include/malloy/server/http/connection_tls.hpp +%%SERVER%%include/malloy/server/http/preflight_config.hpp +%%SERVER%%include/malloy/server/http/request_generator_t.hpp +%%SERVER%%include/malloy/server/listener.hpp +%%SERVER%%include/malloy/server/routing/endpoint.hpp +%%SERVER%%include/malloy/server/routing/endpoint_http.hpp +%%SERVER%%include/malloy/server/routing/endpoint_http_files.hpp +%%SERVER%%include/malloy/server/routing/endpoint_http_redirect.hpp +%%SERVER%%include/malloy/server/routing/endpoint_http_regex.hpp +%%SERVER%%include/malloy/server/routing/endpoint_websocket.hpp +%%SERVER%%include/malloy/server/routing/router.hpp +%%SERVER%%include/malloy/server/routing/type_traits.hpp +%%SERVER%%include/malloy/server/routing_context.hpp +%%SERVER%%include/malloy/server/websocket/connection.hpp +lib/cmake/malloy/malloy-config-version.cmake +lib/cmake/malloy/malloy-config.cmake +lib/cmake/malloy/malloy-targets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/malloy/malloy-targets.cmake +%%CLIENT%%lib/libmalloy-client.so +%%CLIENT%%lib/libmalloy-client.so.0.5.1 +lib/libmalloy-core.so +lib/libmalloy-core.so.0.5.1 +%%SERVER%%lib/libmalloy-server.so +%%SERVER%%lib/libmalloy-server.so.0.5.1 +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/CMakeLists.txt +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/client/CMakeLists.txt +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/client/example.cmake +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/client/http-custom-filter/CMakeLists.txt +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/client/http-custom-filter/main.cpp +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/client/http-file-download/CMakeLists.txt +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/client/http-file-download/main.cpp +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/client/http_plain/CMakeLists.txt +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/client/http_plain/main.cpp +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/client/http_tls/CMakeLists.txt +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/client/http_tls/main.cpp +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/client/websocket_plain/CMakeLists.txt +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/client/websocket_plain/main.cpp +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/client/websocket_secure/CMakeLists.txt +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/client/websocket_secure/main.cpp +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/example.hpp +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/server/CMakeLists.txt +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/server/basic/CMakeLists.txt +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/server/basic/main.cpp +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/server/custom-request-filter/CMakeLists.txt +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/server/custom-request-filter/main.cpp +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/server/example.cmake +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/server/html_form/CMakeLists.txt +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/server/html_form/main.cpp +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/server/routing/CMakeLists.txt +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/server/routing/files/CMakeLists.txt +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/server/routing/files/main.cpp +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/server/routing/policies/CMakeLists.txt +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/server/routing/policies/main.cpp +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/server/routing/preflights/CMakeLists.txt +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/server/routing/preflights/main.cpp +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/server/routing/regex/CMakeLists.txt +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/server/routing/regex/main.cpp +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/server/routing/subrouters/CMakeLists.txt +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/server/routing/subrouters/main.cpp +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/server/session/CMakeLists.txt +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/server/session/main.cpp +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/server/ssl/CMakeLists.txt +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/server/ssl/main.cpp +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/server/static_content/file2.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/server/static_content/index.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/server/static_content/malloy.cert +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/server/static_content/malloy.key +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/server/websocket/CMakeLists.txt +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/server/websocket/main.cpp +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ws_handlers.hpp