mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-20 20:43:09 -04:00
dev-cpp/wangle: new package
thanks @telans Package-Manager: Portage-3.0.18, Repoman-3.0.3 Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
This commit is contained in:
1
dev-cpp/wangle/Manifest
Normal file
1
dev-cpp/wangle/Manifest
Normal file
@@ -0,0 +1 @@
|
|||||||
|
DIST wangle-2021.04.19.00.tar.gz 336087 BLAKE2B d06150422813c7f7a4663bea59d1e78d8aa2a6023b70fad94aa700d5879b36319a77329d5e4523a5b992cb2ab9dbbd1db1e594e60dbaeddee4cd5881d7385fac SHA512 dc8e2f34d5be2e674cd87c630ca6a647686bae383f5ed678577a7709f9a05483ddabcaa220f5d9afea2e24c78b73b64c9a8d74821b215a1c094498d3528e8896
|
||||||
41
dev-cpp/wangle/metadata.xml
Normal file
41
dev-cpp/wangle/metadata.xml
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE pkgmetadata SYSTEM 'http://www.gentoo.org/dtd/metadata.dtd'>
|
||||||
|
<pkgmetadata>
|
||||||
|
<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>
|
||||||
37
dev-cpp/wangle/wangle-2021.04.19.00.ebuild
Normal file
37
dev-cpp/wangle/wangle-2021.04.19.00.ebuild
Normal file
@@ -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
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user