1 |
commit: e11b7c025a56e2e0de12ecf4def8faa331c2e5f5 |
2 |
Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com> |
3 |
AuthorDate: Wed Apr 28 20:49:05 2021 +0000 |
4 |
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed Apr 28 21:07:17 2021 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=e11b7c02 |
7 |
|
8 |
dev-cpp/wangle: new package |
9 |
|
10 |
thanks @telans |
11 |
|
12 |
Package-Manager: Portage-3.0.18, Repoman-3.0.3 |
13 |
Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com> |
14 |
|
15 |
dev-cpp/wangle/Manifest | 1 + |
16 |
dev-cpp/wangle/metadata.xml | 41 ++++++++++++++++++++++++++++++ |
17 |
dev-cpp/wangle/wangle-2021.04.19.00.ebuild | 37 +++++++++++++++++++++++++++ |
18 |
3 files changed, 79 insertions(+) |
19 |
|
20 |
diff --git a/dev-cpp/wangle/Manifest b/dev-cpp/wangle/Manifest |
21 |
new file mode 100644 |
22 |
index 000000000..ee48e6581 |
23 |
--- /dev/null |
24 |
+++ b/dev-cpp/wangle/Manifest |
25 |
@@ -0,0 +1 @@ |
26 |
+DIST wangle-2021.04.19.00.tar.gz 336087 BLAKE2B d06150422813c7f7a4663bea59d1e78d8aa2a6023b70fad94aa700d5879b36319a77329d5e4523a5b992cb2ab9dbbd1db1e594e60dbaeddee4cd5881d7385fac SHA512 dc8e2f34d5be2e674cd87c630ca6a647686bae383f5ed678577a7709f9a05483ddabcaa220f5d9afea2e24c78b73b64c9a8d74821b215a1c094498d3528e8896 |
27 |
|
28 |
diff --git a/dev-cpp/wangle/metadata.xml b/dev-cpp/wangle/metadata.xml |
29 |
new file mode 100644 |
30 |
index 000000000..91cb5ddee |
31 |
--- /dev/null |
32 |
+++ b/dev-cpp/wangle/metadata.xml |
33 |
@@ -0,0 +1,41 @@ |
34 |
+<?xml version="1.0" encoding="UTF-8"?> |
35 |
+<!DOCTYPE pkgmetadata SYSTEM 'http://www.gentoo.org/dtd/metadata.dtd'> |
36 |
+<pkgmetadata> |
37 |
+ <longdescription lang="en"> |
38 |
+Client / Server abstraction |
39 |
+ |
40 |
+You're probably familiar with Java's Netty, or Python's twisted, or similar libraries. |
41 |
+ |
42 |
+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) |
43 |
+ |
44 |
+ServerBootstrap - easily manage creation of threadpools and pipelines |
45 |
+ |
46 |
+ClientBootstrap - the same for clients |
47 |
+ |
48 |
+Pipeline - set up a series of handlers that modify your socket data |
49 |
+ |
50 |
+Request / Response abstraction |
51 |
+ |
52 |
+This is roughly equivalent to the Finagle library. |
53 |
+ |
54 |
+Aims to provide easy testing, load balancing, client pooling, retry logic, etc. for any request/response type service - i.e. thrift, http, etc. |
55 |
+ |
56 |
+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 |
57 |
+ |
58 |
+ServiceFilter - a generic filter on a service. Examples: stats, request timeouts, rate limiting |
59 |
+ |
60 |
+ServiceFactory - A factory that creates client connections. Any protocol specific setup code goes here |
61 |
+ |
62 |
+ServiceFactoryFilter - Generic filters that control how connections are created. Client examples: load balancing, pooling, idle timeouts, markdowns, etc. |
63 |
+ |
64 |
+ServerBootstrap |
65 |
+ |
66 |
+Easily create a new server |
67 |
+ |
68 |
+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. |
69 |
+ </longdescription> |
70 |
+ <upstream> |
71 |
+ <bugs-to>https://github.com/facebook/wangle/issues</bugs-to> |
72 |
+ <remote-id type="github">facebook/wangle</remote-id> |
73 |
+ </upstream> |
74 |
+</pkgmetadata> |
75 |
|
76 |
diff --git a/dev-cpp/wangle/wangle-2021.04.19.00.ebuild b/dev-cpp/wangle/wangle-2021.04.19.00.ebuild |
77 |
new file mode 100644 |
78 |
index 000000000..35ce9889b |
79 |
--- /dev/null |
80 |
+++ b/dev-cpp/wangle/wangle-2021.04.19.00.ebuild |
81 |
@@ -0,0 +1,37 @@ |
82 |
+# Copyright 2021 Gentoo Authors |
83 |
+# Distributed under the terms of the GNU General Public License v2 |
84 |
+ |
85 |
+EAPI=7 |
86 |
+ |
87 |
+inherit cmake |
88 |
+ |
89 |
+DESCRIPTION="Wangle is a framework providing a set of common client/server abstractions for building services in a consistent, modular, and composable way" |
90 |
+HOMEPAGE="https://github.com/facebook/wangle" |
91 |
+ |
92 |
+SRC_URI="https://github.com/facebook/wangle/archive/v${PV}.tar.gz -> ${P}.tar.gz" |
93 |
+ |
94 |
+LICENSE="Apache-2.0" |
95 |
+SLOT="0" |
96 |
+KEYWORDS="~amd64" |
97 |
+ |
98 |
+CMAKE_USE_DIR="${S}/wangle" |
99 |
+ |
100 |
+DEPEND=" |
101 |
+ ~dev-cpp/fizz-${PV}:= |
102 |
+ ~dev-cpp/folly-${PV}:= |
103 |
+ dev-cpp/gflags |
104 |
+ dev-cpp/glog |
105 |
+ dev-libs/double-conversion |
106 |
+ dev-libs/libevent |
107 |
+ dev-libs/libfmt |
108 |
+ dev-libs/openssl:0= |
109 |
+" |
110 |
+RDEPEND="${DEPEND}" |
111 |
+ |
112 |
+src_configure() { |
113 |
+ local mycmakeargs=( |
114 |
+ -DLIB_INSTALL_DIR=$(get_libdir) |
115 |
+ ) |
116 |
+ |
117 |
+ cmake_src_configure |
118 |
+} |