aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-cpp/wangle')
-rw-r--r--dev-cpp/wangle/Manifest1
-rw-r--r--dev-cpp/wangle/metadata.xml51
-rw-r--r--dev-cpp/wangle/wangle-2023.02.06.00.ebuild43
3 files changed, 95 insertions, 0 deletions
diff --git a/dev-cpp/wangle/Manifest b/dev-cpp/wangle/Manifest
new file mode 100644
index 000000000..42fdce640
--- /dev/null
+++ b/dev-cpp/wangle/Manifest
@@ -0,0 +1 @@
+DIST wangle-2023.02.06.00.tar.gz 339890 BLAKE2B a1b1d50083bac9de7ea6bf586cd677d44a3baf5fcec0ac92d82cda16fcfad055b1e91fec2fa75143ab1ee488bc638a0d6153d19b65b30fc63829fdfdfd0c3156 SHA512 93ea81c5a4b5929e543abd77c2a0e70cec33dcdf928665f71436c1ee5d2afbf338d7ca7000e124c295821f68a1763c847f306eb8ece487047548989609a8cbc0
diff --git a/dev-cpp/wangle/metadata.xml b/dev-cpp/wangle/metadata.xml
new file mode 100644
index 000000000..9b43b5159
--- /dev/null
+++ b/dev-cpp/wangle/metadata.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM 'http://www.gentoo.org/dtd/metadata.dtd'>
+<pkgmetadata>
+ <maintainer type="person">
+ <email>denis7774@gmail.com</email>
+ <name>Denis Reva</name>
+ <description>rarogcmex</description>
+ </maintainer>
+ <maintainer type="person">
+ <description>co-maintainers welcome</description>
+ <email>lssndrbarbieri@gmail.com</email>
+ <name>Alessandro Barbieri</name>
+ </maintainer>
+ <longdescription lang="en">
+Client / Server abstraction
+
+You're probably familiar with Java's Netty, or Python's twisted, or similar libraries.
+
+It is built on top of folly/async/io, so it's one level up the stack from that (or similar abstractions like boost::asio)
+
+ServerBootstrap - easily manage creation of threadpools and pipelines
+
+ClientBootstrap - the same for clients
+
+Pipeline - set up a series of handlers that modify your socket data
+
+Request / Response abstraction
+
+This is roughly equivalent to the Finagle library.
+
+Aims to provide easy testing, load balancing, client pooling, retry logic, etc. for any request/response type service - i.e. thrift, http, etc.
+
+Service - a matched interface between client/server. A server will implement this interface, and a client will call in to it. These are protocol-specific
+
+ServiceFilter - a generic filter on a service. Examples: stats, request timeouts, rate limiting
+
+ServiceFactory - A factory that creates client connections. Any protocol specific setup code goes here
+
+ServiceFactoryFilter - Generic filters that control how connections are created. Client examples: load balancing, pooling, idle timeouts, markdowns, etc.
+
+ServerBootstrap
+
+Easily create a new server
+
+ServerBootstrap does the work to set up one or multiple acceptor threads, and one or multiple sets of IO threads. The thread pools can be the same. SO_REUSEPORT is automatically supported for multiple accept threads. tcp is most common, although udp is also supported.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/facebook/wangle/issues</bugs-to>
+ <remote-id type="github">facebook/wangle</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/wangle/wangle-2023.02.06.00.ebuild b/dev-cpp/wangle/wangle-2023.02.06.00.ebuild
new file mode 100644
index 000000000..3dd02e256
--- /dev/null
+++ b/dev-cpp/wangle/wangle-2023.02.06.00.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Framework providing common client/server abstractions"
+HOMEPAGE="https://github.com/facebook/wangle"
+SRC_URI="https://github.com/facebook/wangle/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="examples test"
+
+RDEPEND="
+ >=dev-cpp/fizz-${PV}:=
+ >=dev-cpp/folly-${PV}:=
+ dev-cpp/gflags
+ dev-cpp/glog
+ dev-libs/double-conversion
+ dev-libs/libevent
+ dev-libs/libfmt
+ dev-libs/openssl:0=
+"
+DEPEND="
+ ${RDEPEND}
+ dev-cpp/gtest
+"
+
+RESTRICT="!test? ( test )"
+CMAKE_USE_DIR="${S}/wangle"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_EXAMPLES=$(usex examples)
+ -DBUILD_TESTS=$(usex test)
+ -DLIB_INSTALL_DIR=$(get_libdir)
+ )
+
+ cmake_src_configure
+}