about summary refs log tree commit diff
path: root/pkgs/by-name/op
diff options
context:
space:
mode:
authorPeder Bergebakken Sundt <pbsds@hotmail.com>2024-01-22 23:40:27 +0100
committerGitHub <noreply@github.com>2024-01-22 23:40:27 +0100
commit40827186b0a095c827e612a9301b5f669a6a24ef (patch)
tree72a5393b8169c78b19c031a1dae5f51c8df92f16 /pkgs/by-name/op
parentbebdac470442be8001a35dc185b9a17e36e213d9 (diff)
parent6af690aaf1189d6b860d2da77928ccf29171027f (diff)
downloadnixlib-40827186b0a095c827e612a9301b5f669a6a24ef.tar
nixlib-40827186b0a095c827e612a9301b5f669a6a24ef.tar.gz
nixlib-40827186b0a095c827e612a9301b5f669a6a24ef.tar.bz2
nixlib-40827186b0a095c827e612a9301b5f669a6a24ef.tar.lz
nixlib-40827186b0a095c827e612a9301b5f669a6a24ef.tar.xz
nixlib-40827186b0a095c827e612a9301b5f669a6a24ef.tar.zst
nixlib-40827186b0a095c827e612a9301b5f669a6a24ef.zip
Merge pull request #262139 from jfroche/feat/add-opentelemtry-cpp
opentelemetry-cpp: init at 1.13.0
Diffstat (limited to 'pkgs/by-name/op')
-rw-r--r--pkgs/by-name/op/opentelemetry-cpp/0001-Disable-tests-requiring-network-access.patch79
-rw-r--r--pkgs/by-name/op/opentelemetry-cpp/0002-Disable-segfaulting-test-on-Darwin.patch16
-rw-r--r--pkgs/by-name/op/opentelemetry-cpp/package.nix79
3 files changed, 174 insertions, 0 deletions
diff --git a/pkgs/by-name/op/opentelemetry-cpp/0001-Disable-tests-requiring-network-access.patch b/pkgs/by-name/op/opentelemetry-cpp/0001-Disable-tests-requiring-network-access.patch
new file mode 100644
index 000000000000..067fb7f23878
--- /dev/null
+++ b/pkgs/by-name/op/opentelemetry-cpp/0001-Disable-tests-requiring-network-access.patch
@@ -0,0 +1,79 @@
+diff --git a/ext/test/http/curl_http_test.cc b/ext/test/http/curl_http_test.cc
+index 7c66d98b..62d40f49 100644
+--- a/ext/test/http/curl_http_test.cc
++++ b/ext/test/http/curl_http_test.cc
+@@ -229,7 +229,7 @@ TEST_F(BasicCurlHttpTests, HttpResponse)
+   ASSERT_EQ(count, 4);
+ }
+ 
+-TEST_F(BasicCurlHttpTests, SendGetRequest)
++TEST_F(BasicCurlHttpTests, DISABLED_SendGetRequest)
+ {
+   received_requests_.clear();
+   auto session_manager = http_client::HttpClientFactory::Create();
+@@ -246,7 +246,7 @@ TEST_F(BasicCurlHttpTests, SendGetRequest)
+   ASSERT_TRUE(handler->got_response_);
+ }
+ 
+-TEST_F(BasicCurlHttpTests, SendPostRequest)
++TEST_F(BasicCurlHttpTests, DISABLED_SendPostRequest)
+ {
+   received_requests_.clear();
+   auto session_manager = http_client::HttpClientFactory::Create();
+@@ -325,7 +325,7 @@ TEST_F(BasicCurlHttpTests, CurlHttpOperations)
+   delete handler;
+ }
+ 
+-TEST_F(BasicCurlHttpTests, SendGetRequestSync)
++TEST_F(BasicCurlHttpTests, DISABLED_SendGetRequestSync)
+ {
+   received_requests_.clear();
+   curl::HttpClientSync http_client;
+@@ -336,7 +336,7 @@ TEST_F(BasicCurlHttpTests, SendGetRequestSync)
+   EXPECT_EQ(result.GetSessionState(), http_client::SessionState::Response);
+ }
+ 
+-TEST_F(BasicCurlHttpTests, SendGetRequestSyncTimeout)
++TEST_F(BasicCurlHttpTests, DISABLED_SendGetRequestSyncTimeout)
+ {
+   received_requests_.clear();
+   curl::HttpClientSync http_client;
+@@ -350,7 +350,7 @@ TEST_F(BasicCurlHttpTests, SendGetRequestSyncTimeout)
+               result.GetSessionState() == http_client::SessionState::SendFailed);
+ }
+ 
+-TEST_F(BasicCurlHttpTests, SendPostRequestSync)
++TEST_F(BasicCurlHttpTests, DISABLED_SendPostRequestSync)
+ {
+   received_requests_.clear();
+   curl::HttpClientSync http_client;
+@@ -378,7 +378,7 @@ TEST_F(BasicCurlHttpTests, GetBaseUri)
+             "http://127.0.0.1:31339/");
+ }
+ 
+-TEST_F(BasicCurlHttpTests, SendGetRequestAsync)
++TEST_F(BasicCurlHttpTests, DISABLED_SendGetRequestAsync)
+ {
+   curl::HttpClient http_client;
+ 
+@@ -452,7 +452,7 @@ TEST_F(BasicCurlHttpTests, SendGetRequestAsyncTimeout)
+   }
+ }
+ 
+-TEST_F(BasicCurlHttpTests, SendPostRequestAsync)
++TEST_F(BasicCurlHttpTests, DISABLED_SendPostRequestAsync)
+ {
+   curl::HttpClient http_client;
+ 
+@@ -491,7 +491,7 @@ TEST_F(BasicCurlHttpTests, SendPostRequestAsync)
+   }
+ }
+ 
+-TEST_F(BasicCurlHttpTests, FinishInAsyncCallback)
++TEST_F(BasicCurlHttpTests, DISABLED_FinishInAsyncCallback)
+ {
+   curl::HttpClient http_client;
+ 
+-- 
+2.40.1
+
diff --git a/pkgs/by-name/op/opentelemetry-cpp/0002-Disable-segfaulting-test-on-Darwin.patch b/pkgs/by-name/op/opentelemetry-cpp/0002-Disable-segfaulting-test-on-Darwin.patch
new file mode 100644
index 000000000000..84c125b8b96e
--- /dev/null
+++ b/pkgs/by-name/op/opentelemetry-cpp/0002-Disable-segfaulting-test-on-Darwin.patch
@@ -0,0 +1,16 @@
+diff --git a/api/test/singleton/singleton_test.cc b/api/test/singleton/singleton_test.cc
+index 187e26f..ddbe29f 100644
+--- a/api/test/singleton/singleton_test.cc
++++ b/api/test/singleton/singleton_test.cc
+@@ -306,7 +306,7 @@ void cleanup_otel()
+   trace_api::Provider::SetTracerProvider(provider);
+ }
+ 
+-TEST(SingletonTest, Uniqueness)
++TEST(SingletonTest, DISABLED_Uniqueness)
+ {
+   do_something();
+ 
+-- 
+2.42.0
+
diff --git a/pkgs/by-name/op/opentelemetry-cpp/package.nix b/pkgs/by-name/op/opentelemetry-cpp/package.nix
new file mode 100644
index 000000000000..5bc1a46ad6ce
--- /dev/null
+++ b/pkgs/by-name/op/opentelemetry-cpp/package.nix
@@ -0,0 +1,79 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, gtest
+, protobuf
+, curl
+, grpc
+, prometheus-cpp
+, nlohmann_json
+, nix-update-script
+}:
+
+let
+  opentelemetry-proto = fetchFromGitHub {
+    owner = "open-telemetry";
+    repo = "opentelemetry-proto";
+    rev = "v1.0.0";
+    hash = "sha256-1IylAZs8gElpruSX52A+ZopU8jXH/MjRE+FQV3gQ+Gk=";
+  };
+in
+stdenv.mkDerivation (finalAttrs: {
+  pname = "opentelemetry-cpp";
+  version = "1.13.0";
+
+  src = fetchFromGitHub {
+    owner = "open-telemetry";
+    repo = "opentelemetry-cpp";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-Tf1ZnmHavnwwvRb4Tes20LMld+w/2kRo5UErT8pHf3w=";
+  };
+
+  patches = [
+    ./0001-Disable-tests-requiring-network-access.patch
+  ] ++ lib.optional stdenv.isDarwin ./0002-Disable-segfaulting-test-on-Darwin.patch;
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [
+    curl
+    grpc
+    nlohmann_json
+    prometheus-cpp
+    protobuf
+  ];
+
+  doCheck = true;
+
+  checkInputs = [
+    gtest
+  ];
+
+  strictDeps = true;
+
+  cmakeFlags = [
+    "-DBUILD_SHARED_LIBS=ON"
+    "-DWITH_OTLP_HTTP=ON"
+    "-DWITH_OTLP_GRPC=ON"
+    "-DWITH_ABSEIL=ON"
+    "-DWITH_PROMETHEUS=ON"
+    "-DWITH_ELASTICSEARCH=ON"
+    "-DWITH_ZIPKIN=ON"
+    "-DWITH_BENCHMARK=OFF"
+    "-DOTELCPP_PROTO_PATH=${opentelemetry-proto}"
+  ];
+
+  outputs = [ "out" "dev" ];
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    description = "The OpenTelemetry C++ Client Library";
+    homepage = "https://github.com/open-telemetry/opentelemetry-cpp";
+    license = [ lib.licenses.asl20 ];
+    maintainers = with lib.maintainers; [ jfroche ];
+    # https://github.com/protocolbuffers/protobuf/issues/14492
+    broken = !(stdenv.buildPlatform.canExecute stdenv.hostPlatform);
+  };
+})