New port: net/fbzmq: Framework for writing services in C++ while leveraging libzmq

This commit is contained in:
Yuri Victorovich 2020-09-10 01:35:13 +00:00
parent aab0c48e9c
commit 22b2a0e410
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=548178
6 changed files with 103 additions and 0 deletions

View file

@ -149,6 +149,7 @@
SUBDIR += exabgp4 SUBDIR += exabgp4
SUBDIR += exaddos SUBDIR += exaddos
SUBDIR += fb SUBDIR += fb
SUBDIR += fbzmq
SUBDIR += fiche SUBDIR += fiche
SUBDIR += file2pcap SUBDIR += file2pcap
SUBDIR += findmtu SUBDIR += findmtu

38
net/fbzmq/Makefile Normal file
View file

@ -0,0 +1,38 @@
# $FreeBSD$
PORTNAME= fbzmq
DISTVERSIONPREFIX= v
DISTVERSION= 2020.09.07.00
CATEGORIES= net
MAINTAINER= yuri@FreeBSD.org
COMMENT= Framework for writing services in C++ while leveraging libzmq
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= libepoll-shim>0:devel/libepoll-shim
LIB_DEPENDS= libboost_system.so:devel/boost-libs \
libdouble-conversion.so:devel/double-conversion \
libfizz.so:security/fizz \
libfmt.so:devel/libfmt \
libfolly.so:devel/folly \
libgflags.so:devel/gflags \
libglog.so:devel/glog \
libsodium.so:security/libsodium \
libthriftcpp2.so:devel/fbthrift \
libwangle.so:net/wangle \
libzmq.so:net/libzmq4 \
libzstd.so:archivers/zstd
USES= cmake compiler:c++17-lang
USE_GITHUB= yes
GH_ACCOUNT= facebook
USE_LDCONFIG= yes
CMAKE_ON= BUILD_SHARED_LIBS
CMAKE_OFF= BUILD_TESTS
CXXFLAGS+= -I${LOCALBASE}/include/libepoll-shim -fPIC
.include <bsd.port.mk>

3
net/fbzmq/distinfo Normal file
View file

@ -0,0 +1,3 @@
TIMESTAMP = 1599699749
SHA256 (facebook-fbzmq-v2020.09.07.00_GH0.tar.gz) = 0e623e6fa4dfe67f01c127724dc6e0b8aa07d4bfde790929fa7ab07a2054a70d
SIZE (facebook-fbzmq-v2020.09.07.00_GH0.tar.gz) = 188277

View file

@ -0,0 +1,11 @@
--- CMakeLists.txt.orig 2020-09-10 01:11:29 UTC
+++ CMakeLists.txt
@@ -15,7 +15,7 @@ include(CPack)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Werror")
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wextra -Werror")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-noexcept-type")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations")

14
net/fbzmq/pkg-descr Normal file
View file

@ -0,0 +1,14 @@
fbzmq provides a framework for writing services in C++ while leveraging the
awesomeness of libzmq (message passing semantics). At a high level it provides:
* Lightweight C++ wrapper over libzmq which leverages newer C++ constructs and
stricter type checking. Most notably it provides the ability to send/receive
thrift objects as messages over wire without worrying about wire
encoding/decoding protocols.
* Powerful Async Framework with EventLoop, Timeouts, SignalHandler and more to
enable developers to write asynchronous applications efficiently.
* Suite of monitoring tools that make it easy to add logging and counters to
your service.
* RPC, and some storage systems use Thrift for serializing records on disk.
WWW: https://github.com/facebook/fbzmq

36
net/fbzmq/pkg-plist Normal file
View file

@ -0,0 +1,36 @@
include/fbzmq/async/AsyncSignalHandler.h
include/fbzmq/async/Runnable.h
include/fbzmq/async/StopEventLoopSignalHandler.h
include/fbzmq/async/ZmqEventLoop.h
include/fbzmq/async/ZmqThrottle.h
include/fbzmq/async/ZmqTimeout.h
include/fbzmq/service/if/Monitor.thrift
include/fbzmq/service/if/gen-cpp2/Monitor_constants.h
include/fbzmq/service/if/gen-cpp2/Monitor_data.h
include/fbzmq/service/if/gen-cpp2/Monitor_metadata.h
include/fbzmq/service/if/gen-cpp2/Monitor_types.h
include/fbzmq/service/logging/LogSample.h
include/fbzmq/service/monitor/SystemMetrics.h
include/fbzmq/service/monitor/ZmqMonitor.h
include/fbzmq/service/monitor/ZmqMonitorClient.h
include/fbzmq/service/stats/ExportType.h
include/fbzmq/service/stats/ExportedStat.h
include/fbzmq/service/stats/ThreadData.h
include/fbzmq/zmq/Common.h
include/fbzmq/zmq/Context.h
include/fbzmq/zmq/Message.h
include/fbzmq/zmq/Socket.h
include/fbzmq/zmq/SocketMonitor.h
include/fbzmq/zmq/Zmq.h
lib/Monitor_constants.h
lib/Monitor_metadata.h
lib/Monitor_types.h
lib/Monitor_types.tcc
lib/Monitor_types_custom_protocol.h
lib/cmake/fbzmq/fbzmq-config.cmake
lib/cmake/fbzmq/fbzmq-targets-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/fbzmq/fbzmq-targets.cmake
lib/libfbzmq.so
lib/libfbzmq.so.1
lib/libfbzmq.so.1.0.0
lib/libmonitor_cpp2.a