From f0358095b49b3262dbc9da279bd7a9c62e693d9a Mon Sep 17 00:00:00 2001 From: Dennis Hezel Date: Sun, 18 Sep 2022 13:20:18 +0200 Subject: [PATCH 1/3] opentelemetry-cpp: Update to 1.6.0 and fix abseil[cxx17] --- ports/opentelemetry-cpp/portfile.cmake | 20 +++++++++++-------- .../support_absl_cxx17.patch | 17 ++++++++++++++++ ports/opentelemetry-cpp/vcpkg.json | 2 +- versions/baseline.json | 2 +- versions/o-/opentelemetry-cpp.json | 5 +++++ 5 files changed, 36 insertions(+), 10 deletions(-) create mode 100644 ports/opentelemetry-cpp/support_absl_cxx17.patch diff --git a/ports/opentelemetry-cpp/portfile.cmake b/ports/opentelemetry-cpp/portfile.cmake index 57ad6a593da4cc..7a5d867de40e2b 100644 --- a/ports/opentelemetry-cpp/portfile.cmake +++ b/ports/opentelemetry-cpp/portfile.cmake @@ -4,16 +4,18 @@ endif() if ("etw" IN_LIST FEATURES) if(VCPKG_TARGET_ARCHITECTURE STREQUAL "linux" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "OSX") - message(FATAL_ERROR "Feature 'ewt' does not support 'linux & osx'") + message(FATAL_ERROR "Feature 'etw' does not support 'linux & osx'") endif() endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO open-telemetry/opentelemetry-cpp - REF v1.5.0 - SHA512 a506973223c49531d4b0c3febf5734dfe2e44c22f8854ed96935cda0783a14d0819cc3dbb2d3f8373f960f27acf78aafc777ee76aeb14828df9c4b4434e4fe6f + REF v1.6.0 + SHA512 ae0777451a3d2d676afd9f3142ab78c7afb08474f6038bd810ff0ee30fee6695e10100c901e7ffadf3faf16c7d19622acdea414cd720be8572f7720f2d528628 HEAD_REF main + PATCHES + support_absl_cxx17.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -29,16 +31,18 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS # opentelemetry-proto is a third party submodule and opentelemetry-cpp release did not pack it. if(WITH_OTLP) - set(OTEL_PROTO_VERSION "0.17.0") + set(OTEL_PROTO_VERSION "0.18.0") vcpkg_download_distfile(ARCHIVE URLS "https://github.com/open-telemetry/opentelemetry-proto/archive/v${OTEL_PROTO_VERSION}.tar.gz" FILENAME "opentelemetry-proto-${OTEL_PROTO_VERSION}.tar.gz" - SHA512 b61d7fe7d6e1b5943d45ab9d17c22fe36c0f7a8312f668aea2b6685aa0f5c98aaa41e76659057310ec1f061d36ad9e66993be177039121f62f73858a6749d3d9 + SHA512 5176e93ddbb92d10b5900f42bb7b98cd718488fb261ad204e73127e1bf1feb6a20cf17d5c7d4fbdd89575cef6c7fa98127a28d83e50ffba61da01a73659ddae6 ) - vcpkg_extract_source_archive(${ARCHIVE} ${SOURCE_PATH}/third_party) - file(REMOVE_RECURSE ${SOURCE_PATH}/third_party/opentelemetry-proto) - file(RENAME ${SOURCE_PATH}/third_party/opentelemetry-proto-${OTEL_PROTO_VERSION} ${SOURCE_PATH}/third_party/opentelemetry-proto) + vcpkg_extract_source_archive(src ARCHIVE ${ARCHIVE}) + file(REMOVE_RECURSE "${SOURCE_PATH}/third_party/opentelemetry-proto") + file(COPY "${src}/." DESTINATION "${SOURCE_PATH}/third_party/opentelemetry-proto") + # Create empty .git directory to prevent opentelemetry from cloning it during build time + file(MAKE_DIRECTORY "${SOURCE_PATH}/third_party/opentelemetry-proto/.git") endif() vcpkg_cmake_configure( diff --git a/ports/opentelemetry-cpp/support_absl_cxx17.patch b/ports/opentelemetry-cpp/support_absl_cxx17.patch new file mode 100644 index 00000000000000..44b841b118231a --- /dev/null +++ b/ports/opentelemetry-cpp/support_absl_cxx17.patch @@ -0,0 +1,17 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a1b69340..193c9e39 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -305,7 +305,11 @@ if(WITH_OTLP) + CACHE{WITH_OTLP_HTTP})) + find_package(CURL) + endif() +- ++ if (ABSL_USE_CXX17) ++ message(STATUS "Found absl uses CXX17, enable CXX17 feature.") ++ set(CMAKE_CXX_STANDARD 17) ++ set(WITH_STL ON) ++ endif() + cmake_dependent_option( + WITH_OTLP_GRPC "Whether to include the OTLP gRPC exporter in the SDK" ON + "gRPC_FOUND" OFF) diff --git a/ports/opentelemetry-cpp/vcpkg.json b/ports/opentelemetry-cpp/vcpkg.json index 7ebd51d501441a..87828c5ffa79ec 100644 --- a/ports/opentelemetry-cpp/vcpkg.json +++ b/ports/opentelemetry-cpp/vcpkg.json @@ -1,7 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg/master/scripts/vcpkg.schema.json", "name": "opentelemetry-cpp", - "version-semver": "1.5.0", + "version-semver": "1.6.0", "description": [ "OpenTelemetry is a collection of tools, APIs, and SDKs.", "You use it to instrument, generate, collect, and export telemetry data (metrics, logs, and traces) for analysis in order to understand your software's performance and behavior." diff --git a/versions/baseline.json b/versions/baseline.json index cc4df3513fb164..63d6404a0fa598 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -5393,7 +5393,7 @@ "port-version": 4 }, "opentelemetry-cpp": { - "baseline": "1.5.0", + "baseline": "1.6.0", "port-version": 0 }, "opentracing": { diff --git a/versions/o-/opentelemetry-cpp.json b/versions/o-/opentelemetry-cpp.json index df2872028a97d8..d0f1345432875a 100644 --- a/versions/o-/opentelemetry-cpp.json +++ b/versions/o-/opentelemetry-cpp.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "770ac0722ac2df832d39f8fd7e8150d009098c4c", + "version-semver": "1.6.0", + "port-version": 0 + }, { "git-tree": "6ec3fad654735c88e146be395fd84629c209de6e", "version-semver": "1.5.0", From d894508d521a1c3613444d091a2433838e2c66b8 Mon Sep 17 00:00:00 2001 From: Dennis Hezel Date: Tue, 27 Sep 2022 15:55:56 +0200 Subject: [PATCH 2/3] opentelemetry-cpp: Adjust versions json --- versions/o-/opentelemetry-cpp.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions/o-/opentelemetry-cpp.json b/versions/o-/opentelemetry-cpp.json index d0f1345432875a..95fb994a2ae58e 100644 --- a/versions/o-/opentelemetry-cpp.json +++ b/versions/o-/opentelemetry-cpp.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "770ac0722ac2df832d39f8fd7e8150d009098c4c", + "git-tree": "b85f6215a2936a5a21c752b11e16fc7250a102b2", "version-semver": "1.6.0", "port-version": 0 }, From 2378ccb9d96b471faa922a7f9faaa547af74731e Mon Sep 17 00:00:00 2001 From: Dennis Hezel Date: Sat, 1 Oct 2022 09:50:05 +0200 Subject: [PATCH 3/3] opentelemetry-cpp: Re-add 1.5.0p1 version --- versions/o-/opentelemetry-cpp.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/versions/o-/opentelemetry-cpp.json b/versions/o-/opentelemetry-cpp.json index 95fb994a2ae58e..0901872edf5af1 100644 --- a/versions/o-/opentelemetry-cpp.json +++ b/versions/o-/opentelemetry-cpp.json @@ -5,6 +5,11 @@ "version-semver": "1.6.0", "port-version": 0 }, + { + "git-tree": "49b229180a92d7c0148fd1c28a691a76c59aea51", + "version-semver": "1.5.0", + "port-version": 1 + }, { "git-tree": "6ec3fad654735c88e146be395fd84629c209de6e", "version-semver": "1.5.0",