Gentoo Archives: gentoo-commits

From: Patrick McLean <chutzpah@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-cpp/opentelemetry-cpp/files/, dev-cpp/opentelemetry-cpp/
Date: Wed, 04 May 2022 06:33:30
Message-Id: 1651645710.2972cf1653cb4adbd4b6dea1722a0300b4b484b1.chutzpah@gentoo
1 commit: 2972cf1653cb4adbd4b6dea1722a0300b4b484b1
2 Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
3 AuthorDate: Wed May 4 06:28:06 2022 +0000
4 Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
5 CommitDate: Wed May 4 06:28:30 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2972cf16
7
8 dev-cpp/opentelemetry-cpp: new package, add 1.3.0
9
10 Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
11
12 dev-cpp/opentelemetry-cpp/Manifest | 1 +
13 .../files/opentelemetry-cpp-1.3.0-tests.patch | 92 ++++++++++++++++++++++
14 dev-cpp/opentelemetry-cpp/metadata.xml | 12 +++
15 .../opentelemetry-cpp-1.3.0.ebuild | 48 +++++++++++
16 4 files changed, 153 insertions(+)
17
18 diff --git a/dev-cpp/opentelemetry-cpp/Manifest b/dev-cpp/opentelemetry-cpp/Manifest
19 new file mode 100644
20 index 000000000000..81ee9b9a56ff
21 --- /dev/null
22 +++ b/dev-cpp/opentelemetry-cpp/Manifest
23 @@ -0,0 +1 @@
24 +DIST opentelemetry-cpp-1.3.0.tar.gz 710030 BLAKE2B 56aa3213fd9c9ac5266197c2ca417f5ff181ca28016033c9320e63122eaf9a53bdb265e1778227a9036bc42f8837755a3009cb23610268bc03b9fb24b3844c82 SHA512 38f613c208ec847c8bf7765732d8198fcc427c293a929945d72c2f739e89d2a0ad36be4d94cc3c1b77fd7b1f1d1e5d8bdb38094a493ba3da3125281cd1016836
25
26 diff --git a/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.3.0-tests.patch b/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.3.0-tests.patch
27 new file mode 100644
28 index 000000000000..a1ef0ff1d3cd
29 --- /dev/null
30 +++ b/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.3.0-tests.patch
31 @@ -0,0 +1,92 @@
32 +diff --git a/ext/test/http/curl_http_test.cc b/ext/test/http/curl_http_test.cc
33 +index f8d248b..9a5be49 100644
34 +--- a/ext/test/http/curl_http_test.cc
35 ++++ b/ext/test/http/curl_http_test.cc
36 +@@ -187,50 +187,6 @@ TEST_F(BasicCurlHttpTests, HttpResponse)
37 + ASSERT_EQ(count, 4);
38 + }
39 +
40 +-TEST_F(BasicCurlHttpTests, SendGetRequest)
41 +-{
42 +- received_requests_.clear();
43 +- auto session_manager = http_client::HttpClientFactory::Create();
44 +- EXPECT_TRUE(session_manager != nullptr);
45 +-
46 +- auto session = session_manager->CreateSession("http://127.0.0.1:19000");
47 +- auto request = session->CreateRequest();
48 +- request->SetUri("get/");
49 +- GetEventHandler *handler = new GetEventHandler();
50 +- session->SendRequest(*handler);
51 +- ASSERT_TRUE(waitForRequests(30, 1));
52 +- session->FinishSession();
53 +- ASSERT_TRUE(handler->is_called_);
54 +- delete handler;
55 +-}
56 +-
57 +-TEST_F(BasicCurlHttpTests, SendPostRequest)
58 +-{
59 +- received_requests_.clear();
60 +- auto session_manager = http_client::HttpClientFactory::Create();
61 +- EXPECT_TRUE(session_manager != nullptr);
62 +-
63 +- auto session = session_manager->CreateSession("http://127.0.0.1:19000");
64 +- auto request = session->CreateRequest();
65 +- request->SetUri("post/");
66 +- request->SetMethod(http_client::Method::Post);
67 +-
68 +- const char *b = "test-data";
69 +- http_client::Body body = {b, b + strlen(b)};
70 +- request->SetBody(body);
71 +- request->AddHeader("Content-Type", "text/plain");
72 +- PostEventHandler *handler = new PostEventHandler();
73 +- session->SendRequest(*handler);
74 +- ASSERT_TRUE(waitForRequests(30, 1));
75 +- session->FinishSession();
76 +- ASSERT_TRUE(handler->is_called_);
77 +-
78 +- session_manager->CancelAllSessions();
79 +- session_manager->FinishAllSessions();
80 +-
81 +- delete handler;
82 +-}
83 +-
84 + TEST_F(BasicCurlHttpTests, RequestTimeout)
85 + {
86 + received_requests_.clear();
87 +@@ -271,17 +227,6 @@ TEST_F(BasicCurlHttpTests, CurlHttpOperations)
88 + delete handler;
89 + }
90 +
91 +-TEST_F(BasicCurlHttpTests, SendGetRequestSync)
92 +-{
93 +- received_requests_.clear();
94 +- curl::HttpClientSync http_client;
95 +-
96 +- http_client::Headers m1 = {};
97 +- auto result = http_client.Get("http://127.0.0.1:19000/get/", m1);
98 +- EXPECT_EQ(result, true);
99 +- EXPECT_EQ(result.GetSessionState(), http_client::SessionState::Response);
100 +-}
101 +-
102 + TEST_F(BasicCurlHttpTests, SendGetRequestSyncTimeout)
103 + {
104 + received_requests_.clear();
105 +@@ -296,18 +241,6 @@ TEST_F(BasicCurlHttpTests, SendGetRequestSyncTimeout)
106 + result.GetSessionState() == http_client::SessionState::SendFailed);
107 + }
108 +
109 +-TEST_F(BasicCurlHttpTests, SendPostRequestSync)
110 +-{
111 +- received_requests_.clear();
112 +- curl::HttpClientSync http_client;
113 +-
114 +- http_client::Headers m1 = {};
115 +- http_client::Body body = {};
116 +- auto result = http_client.Post("http://127.0.0.1:19000/post/", body, m1);
117 +- EXPECT_EQ(result, true);
118 +- EXPECT_EQ(result.GetSessionState(), http_client::SessionState::Response);
119 +-}
120 +-
121 + TEST_F(BasicCurlHttpTests, GetBaseUri)
122 + {
123 + curl::HttpClient session_manager;
124
125 diff --git a/dev-cpp/opentelemetry-cpp/metadata.xml b/dev-cpp/opentelemetry-cpp/metadata.xml
126 new file mode 100644
127 index 000000000000..c4293b76629d
128 --- /dev/null
129 +++ b/dev-cpp/opentelemetry-cpp/metadata.xml
130 @@ -0,0 +1,12 @@
131 +<?xml version="1.0" encoding="UTF-8"?>
132 +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
133 +<pkgmetadata>
134 + <maintainer type="person">
135 + <email>chutzpah@g.o</email>
136 + <name>Patrick McLean</name>
137 + </maintainer>
138 + <use>
139 + <flag name="jaeger">Include the jaeger exporter</flag>
140 + <flag name="prometheus">include the Prometheus Client in the SDK</flag>
141 + </use>
142 +</pkgmetadata>
143
144 diff --git a/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.3.0.ebuild b/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.3.0.ebuild
145 new file mode 100644
146 index 000000000000..011b5b0e193c
147 --- /dev/null
148 +++ b/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.3.0.ebuild
149 @@ -0,0 +1,48 @@
150 +# Copyright 2022 Gentoo Authors
151 +# Distributed under the terms of the GNU General Public License v2
152 +
153 +EAPI=8
154 +
155 +inherit cmake
156 +
157 +DESCRIPTION="The OpenTelemetry C++ Client"
158 +HOMEPAGE="
159 + https://opentelemetry.io/
160 + https://github.com/open-telemetry/opentelemetry-cpp
161 +"
162 +SRC_URI="https://github.com/open-telemetry/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
163 +
164 +LICENSE="Apache-2.0"
165 +SLOT="0"
166 +KEYWORDS="~amd64"
167 +IUSE="+jaeger prometheus test"
168 +
169 +RDEPEND="
170 + net-misc/curl:=
171 +"
172 +DEPEND="
173 + ${RDEPEND}
174 + test? (
175 + dev-cpp/gtest
176 + dev-cpp/benchmark
177 + )
178 +"
179 +
180 +RESTRICT="!test? ( test )"
181 +
182 +PATCHES=(
183 + # remove tests the need network
184 + "${FILESDIR}/opentelemetry-cpp-1.3.0-tests.patch"
185 +)
186 +
187 +src_configure() {
188 + local -a mycmakeargs=(
189 + -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON
190 + -DBUILD_SHARED_LIBS:BOOL=ON
191 + -DBUILD_TESTING:BOOL=$(usex test)
192 + -DWITH_JAEGER:BOOL=$(usex jaeger)
193 + -DWITH_PROMETHEUS:BOOL=$(usex prometheus)
194 + )
195 +
196 + cmake_src_configure
197 +}