git: ee394fe3b6b9 - main - net/libsockpp: C++ socket library

From: Gleb Popov <arrowd_at_FreeBSD.org>
Date: Mon, 04 Dec 2023 19:19:02 UTC
The branch main has been updated by arrowd:

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

commit ee394fe3b6b9614ef77351530ed5188d6bf45b94
Author:     Peter TKATCHENKO <peter@flytrace.com>
AuthorDate: 2023-12-04 19:16:43 +0000
Commit:     Gleb Popov <arrowd@FreeBSD.org>
CommitDate: 2023-12-04 19:18:50 +0000

    net/libsockpp: C++ socket library
---
 net/Makefile            |  1 +
 net/libsockpp/Makefile  | 34 ++++++++++++++++++++++++++++++++++
 net/libsockpp/distinfo  |  3 +++
 net/libsockpp/pkg-descr |  4 ++++
 net/libsockpp/pkg-plist | 35 +++++++++++++++++++++++++++++++++++
 5 files changed, 77 insertions(+)

diff --git a/net/Makefile b/net/Makefile
index 7ca1d0293962..84376719df12 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -425,6 +425,7 @@
     SUBDIR += librsync
     SUBDIR += libsignal-protocol-c
     SUBDIR += libslirp
+    SUBDIR += libsockpp
     SUBDIR += libsrtp2
     SUBDIR += libtnl
     SUBDIR += libtrace
diff --git a/net/libsockpp/Makefile b/net/libsockpp/Makefile
new file mode 100644
index 000000000000..eeea4aed799f
--- /dev/null
+++ b/net/libsockpp/Makefile
@@ -0,0 +1,34 @@
+PORTNAME=	libsockpp
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.8.1
+CATEGORIES=	net devel
+
+MAINTAINER=	peter@flytrace.com
+COMMENT=	Simple, modern, C++ socket library
+WWW=		https://github.com/fpagliughi/sockpp
+
+LICENSE=	BSD3CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		cmake compiler:c++14-lang
+
+USE_LDCONFIG=	yes
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	fpagliughi
+GH_PROJECT=	sockpp
+
+OPTIONS_DEFINE=		TEST
+
+TEST_DESC=	Build unit tests (requires Catch2)
+
+TEST_BUILD_DEPENDS=	catch2>0:devel/catch2
+TEST_CMAKE_BOOL=	SOCKPP_BUILD_TESTS
+
+CMAKE_ARGS=	-DSOCKPP_BUILD_STATIC=FALSE -DSOCKPP_BUILD_DOCUMENTATION=FALSE
+
+post-patch:
+	${REINPLACE_CMD} -e 's|#include "catch2/catch.hpp"|#include "catch2/catch_all.hpp"|' \
+		${WRKSRC}/tests/unit/*.cpp
+
+.include <bsd.port.mk>
diff --git a/net/libsockpp/distinfo b/net/libsockpp/distinfo
new file mode 100644
index 000000000000..63feab82b420
--- /dev/null
+++ b/net/libsockpp/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1701641346
+SHA256 (fpagliughi-sockpp-v0.8.1_GH0.tar.gz) = a8aedff8bd8c1da530b91be650352008fddabc9f1df0d19701d76cbc359c8651
+SIZE (fpagliughi-sockpp-v0.8.1_GH0.tar.gz) = 114112
diff --git a/net/libsockpp/pkg-descr b/net/libsockpp/pkg-descr
new file mode 100644
index 000000000000..f8932f784968
--- /dev/null
+++ b/net/libsockpp/pkg-descr
@@ -0,0 +1,4 @@
+Sockpp is a fairly low-level C++ wrapper around the Berkeley sockets library
+using socket, acceptor, and connector classes that are familiar concepts from
+other languages. The base socket class wraps a system socket handle, and
+maintains its lifetime.
diff --git a/net/libsockpp/pkg-plist b/net/libsockpp/pkg-plist
new file mode 100644
index 000000000000..0952ff1f13d1
--- /dev/null
+++ b/net/libsockpp/pkg-plist
@@ -0,0 +1,35 @@
+include/sockpp/acceptor.h
+include/sockpp/can_address.h
+include/sockpp/can_frame.h
+include/sockpp/can_socket.h
+include/sockpp/connector.h
+include/sockpp/datagram_socket.h
+include/sockpp/exception.h
+include/sockpp/inet6_address.h
+include/sockpp/inet_address.h
+include/sockpp/platform.h
+include/sockpp/result.h
+include/sockpp/sock_address.h
+include/sockpp/socket.h
+include/sockpp/stream_socket.h
+include/sockpp/tcp6_acceptor.h
+include/sockpp/tcp6_connector.h
+include/sockpp/tcp6_socket.h
+include/sockpp/tcp_acceptor.h
+include/sockpp/tcp_connector.h
+include/sockpp/tcp_socket.h
+include/sockpp/udp6_socket.h
+include/sockpp/udp_socket.h
+include/sockpp/unix_acceptor.h
+include/sockpp/unix_address.h
+include/sockpp/unix_connector.h
+include/sockpp/unix_dgram_socket.h
+include/sockpp/unix_stream_socket.h
+include/sockpp/version.h
+lib/cmake/sockpp/sockppConfig.cmake
+lib/cmake/sockpp/sockppConfigVersion.cmake
+lib/cmake/sockpp/sockppTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/sockpp/sockppTargets.cmake
+lib/libsockpp.so
+lib/libsockpp.so.0
+lib/libsockpp.so.0.8.1