From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 35FB51382C5 for ; Wed, 28 Apr 2021 21:15:58 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 272D8E087C; Wed, 28 Apr 2021 21:15:57 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 0260DE087C for ; Wed, 28 Apr 2021 21:15:56 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id F394C340CF6 for ; Wed, 28 Apr 2021 21:15:55 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 32765732 for ; Wed, 28 Apr 2021 21:15:54 +0000 (UTC) From: "Alessandro Barbieri" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Alessandro Barbieri" Message-ID: <1619644037.e11b7c025a56e2e0de12ecf4def8faa331c2e5f5.Alessandro-Barbieri@gentoo> Subject: [gentoo-commits] repo/proj/guru:dev commit in: dev-cpp/wangle/ X-VCS-Repository: repo/proj/guru X-VCS-Files: dev-cpp/wangle/Manifest dev-cpp/wangle/metadata.xml dev-cpp/wangle/wangle-2021.04.19.00.ebuild X-VCS-Directories: dev-cpp/wangle/ X-VCS-Committer: Alessandro-Barbieri X-VCS-Committer-Name: Alessandro Barbieri X-VCS-Revision: e11b7c025a56e2e0de12ecf4def8faa331c2e5f5 X-VCS-Branch: dev Date: Wed, 28 Apr 2021 21:15:54 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 05ef982c-e795-48c9-b2fa-3150ef2d0ab5 X-Archives-Hash: 606ddabb00a292d549b762e1a5811d3f commit: e11b7c025a56e2e0de12ecf4def8faa331c2e5f5 Author: Alessandro Barbieri gmail com> AuthorDate: Wed Apr 28 20:49:05 2021 +0000 Commit: Alessandro Barbieri gmail com> CommitDate: Wed Apr 28 21:07:17 2021 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=e11b7c02 dev-cpp/wangle: new package thanks @telans Package-Manager: Portage-3.0.18, Repoman-3.0.3 Signed-off-by: Alessandro Barbieri gmail.com> dev-cpp/wangle/Manifest | 1 + dev-cpp/wangle/metadata.xml | 41 ++++++++++++++++++++++++++++++ dev-cpp/wangle/wangle-2021.04.19.00.ebuild | 37 +++++++++++++++++++++++++++ 3 files changed, 79 insertions(+) diff --git a/dev-cpp/wangle/Manifest b/dev-cpp/wangle/Manifest new file mode 100644 index 000000000..ee48e6581 --- /dev/null +++ b/dev-cpp/wangle/Manifest @@ -0,0 +1 @@ +DIST wangle-2021.04.19.00.tar.gz 336087 BLAKE2B d06150422813c7f7a4663bea59d1e78d8aa2a6023b70fad94aa700d5879b36319a77329d5e4523a5b992cb2ab9dbbd1db1e594e60dbaeddee4cd5881d7385fac SHA512 dc8e2f34d5be2e674cd87c630ca6a647686bae383f5ed678577a7709f9a05483ddabcaa220f5d9afea2e24c78b73b64c9a8d74821b215a1c094498d3528e8896 diff --git a/dev-cpp/wangle/metadata.xml b/dev-cpp/wangle/metadata.xml new file mode 100644 index 000000000..91cb5ddee --- /dev/null +++ b/dev-cpp/wangle/metadata.xml @@ -0,0 +1,41 @@ + + + + +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. + + + https://github.com/facebook/wangle/issues + facebook/wangle + + diff --git a/dev-cpp/wangle/wangle-2021.04.19.00.ebuild b/dev-cpp/wangle/wangle-2021.04.19.00.ebuild new file mode 100644 index 000000000..35ce9889b --- /dev/null +++ b/dev-cpp/wangle/wangle-2021.04.19.00.ebuild @@ -0,0 +1,37 @@ +# Copyright 2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake + +DESCRIPTION="Wangle is a framework providing a set of common client/server abstractions for building services in a consistent, modular, and composable way" +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" +KEYWORDS="~amd64" + +CMAKE_USE_DIR="${S}/wangle" + +DEPEND=" + ~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= +" +RDEPEND="${DEPEND}" + +src_configure() { + local mycmakeargs=( + -DLIB_INSTALL_DIR=$(get_libdir) + ) + + cmake_src_configure +}