diff --git a/.github/workflows/prebuild-docker.yml b/.github/workflows/prebuild-docker.yml index f7e5fa227cf620..ff3b05a10701e4 100644 --- a/.github/workflows/prebuild-docker.yml +++ b/.github/workflows/prebuild-docker.yml @@ -5,7 +5,7 @@ on: tags: - "*" branches: - - "hpcc-platform-9.6.x" + - "hpcc-platform-9.8.x" workflow_call: inputs: diff --git a/.github/workflows/prebuild-gh_envs.yml b/.github/workflows/prebuild-gh_envs.yml index ed2a7621a799be..5e194d4569f615 100644 --- a/.github/workflows/prebuild-gh_envs.yml +++ b/.github/workflows/prebuild-gh_envs.yml @@ -6,7 +6,7 @@ env: on: push: branches: - - "hpcc-platform-9.6.x" + - "hpcc-platform-9.8.x" workflow_call: inputs: @@ -143,6 +143,7 @@ jobs: run: | ./vcpkg install \ --x-abi-tools-use-exact-versions \ + --host-triplet=${{ matrix.triplet }} \ --triplet=${{ matrix.triplet }} - name: Upload error logs diff --git a/dockerfiles/amazonlinux.dockerfile b/dockerfiles/amazonlinux.dockerfile index 3b1a52337954b5..52305f44aa37a8 100644 --- a/dockerfiles/amazonlinux.dockerfile +++ b/dockerfiles/amazonlinux.dockerfile @@ -44,7 +44,7 @@ RUN ./configure --prefix=/usr/local/pkg_config/0_29_2 --with-internal-glib && \ ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig ENV ACLOCAL_PATH=$ACLOCAL_PATH:/usr/local/share/aclocal -RUN curl -o autoconf-2.71.tar.gz http://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.gz && \ +RUN curl -o autoconf-2.71.tar.gz https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.gz && \ gunzip autoconf-2.71.tar.gz && \ tar xvf autoconf-2.71.tar && \ cd autoconf-2.71 && \ @@ -52,7 +52,7 @@ RUN curl -o autoconf-2.71.tar.gz http://ftp.gnu.org/gnu/autoconf/autoconf-2.71.t make && \ make install -RUN curl -o autoconf-archive-2021.02.19.tar.xz http://ftp.gnu.org/gnu/autoconf-archive/autoconf-archive-2021.02.19.tar.xz && \ +RUN curl -o autoconf-archive-2021.02.19.tar.xz https://ftp.gnu.org/gnu/autoconf-archive/autoconf-archive-2021.02.19.tar.xz && \ xz -d -v autoconf-archive-2021.02.19.tar.xz && \ tar xvf autoconf-archive-2021.02.19.tar && \ cd autoconf-archive-2021.02.19 && \ @@ -60,14 +60,14 @@ RUN curl -o autoconf-archive-2021.02.19.tar.xz http://ftp.gnu.org/gnu/autoconf-a make && \ make install -RUN curl -o automake-1.16.5.tar.gz http://ftp.gnu.org/gnu/automake/automake-1.16.5.tar.gz && \ +RUN curl -o automake-1.16.5.tar.gz https://ftp.gnu.org/gnu/automake/automake-1.16.5.tar.gz && \ tar xvzf automake-1.16.5.tar.gz && \ cd automake-1.16.5 && \ ./configure && \ make && \ make install -RUN curl -o libtool-2.4.6.tar.gz http://ftp.jaist.ac.jp/pub/GNU/libtool/libtool-2.4.6.tar.gz && \ +RUN curl -o libtool-2.4.6.tar.gz https://ftp.jaist.ac.jp/pub/GNU/libtool/libtool-2.4.6.tar.gz && \ tar xvfz libtool-2.4.6.tar.gz && \ cd libtool-2.4.6 && \ ./configure --prefix=/usr/local/libtool/2_4_6 && \ @@ -98,10 +98,10 @@ RUN ln -s /usr/local/libtool/2_4_6/bin/libtool /usr/local/bin/ && \ FROM base_build AS vcpkg_build # Build Tools - Mono --- -RUN yum-config-manager --add-repo http://download.mono-project.com/repo/centos/ && \ +RUN yum-config-manager --add-repo https://download.mono-project.com/repo/centos/ && \ yum clean all && \ yum makecache && \ - rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF" && \ + rpm --import "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF" && \ yum install -y mono-complete && \ yum -y clean all && rm -rf /var/cache @@ -133,6 +133,7 @@ RUN mkdir /hpcc-dev/build RUN ./vcpkg install \ --x-abi-tools-use-exact-versions \ --x-install-root=/hpcc-dev/build/vcpkg_installed \ + --host-triplet=x64-amazonlinux-dynamic \ --triplet=x64-amazonlinux-dynamic # ./vcpkg install --x-abi-tools-use-exact-versions --triplet=x64-amazonlinux-dynamic --x-install-root=/hpcc-dev/build/vcpkg_installed diff --git a/dockerfiles/build.sh b/dockerfiles/build.sh index 4deb3476d2f39b..f5b36a72d326ed 100755 --- a/dockerfiles/build.sh +++ b/dockerfiles/build.sh @@ -65,7 +65,8 @@ function doBuild() { # doBuild ubuntu-24.04 # doBuild amazonlinux # doBuild centos-7 & -doBuild rockylinux-8 & +doBuild centos-8 & +# doBuild rockylinux-8 & # doBuild ubuntu-24.04 & # doBuild ubuntu-23.04 & # doBuild ubuntu-22.04 & diff --git a/dockerfiles/centos-7.dockerfile b/dockerfiles/centos-7.dockerfile index 4c59f1d3b043db..124cac0fb9d513 100644 --- a/dockerfiles/centos-7.dockerfile +++ b/dockerfiles/centos-7.dockerfile @@ -38,7 +38,7 @@ RUN ./configure --prefix=/usr/local/pkg_config/0_29_2 --with-internal-glib && \ ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig ENV ACLOCAL_PATH=$ACLOCAL_PATH:/usr/local/share/aclocal -RUN curl -o autoconf-2.71.tar.gz http://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.gz && \ +RUN curl -o autoconf-2.71.tar.gz https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.gz && \ gunzip autoconf-2.71.tar.gz && \ tar xvf autoconf-2.71.tar && \ cd autoconf-2.71 && \ @@ -46,7 +46,7 @@ RUN curl -o autoconf-2.71.tar.gz http://ftp.gnu.org/gnu/autoconf/autoconf-2.71.t make && \ make install -RUN curl -o autoconf-archive-2021.02.19.tar.xz http://ftp.gnu.org/gnu/autoconf-archive/autoconf-archive-2021.02.19.tar.xz && \ +RUN curl -o autoconf-archive-2021.02.19.tar.xz https://ftp.gnu.org/gnu/autoconf-archive/autoconf-archive-2021.02.19.tar.xz && \ xz -d -v autoconf-archive-2021.02.19.tar.xz && \ tar xvf autoconf-archive-2021.02.19.tar && \ cd autoconf-archive-2021.02.19 && \ @@ -54,14 +54,14 @@ RUN curl -o autoconf-archive-2021.02.19.tar.xz http://ftp.gnu.org/gnu/autoconf-a make && \ make install -RUN curl -o automake-1.16.5.tar.gz http://ftp.gnu.org/gnu/automake/automake-1.16.5.tar.gz && \ +RUN curl -o automake-1.16.5.tar.gz https://ftp.gnu.org/gnu/automake/automake-1.16.5.tar.gz && \ tar xvzf automake-1.16.5.tar.gz && \ cd automake-1.16.5 && \ ./configure && \ make && \ make install -RUN curl -o libtool-2.4.6.tar.gz http://ftp.jaist.ac.jp/pub/GNU/libtool/libtool-2.4.6.tar.gz && \ +RUN curl -o libtool-2.4.6.tar.gz https://ftp.jaist.ac.jp/pub/GNU/libtool/libtool-2.4.6.tar.gz && \ tar xvfz libtool-2.4.6.tar.gz && \ cd libtool-2.4.6 && \ ./configure --prefix=/usr/local/libtool/2_4_6 && \ @@ -92,10 +92,10 @@ RUN ln -s /usr/local/libtool/2_4_6/bin/libtool /usr/local/bin/ && \ FROM base_build AS vcpkg_build # Build Tools - Mono --- -RUN yum-config-manager --add-repo http://download.mono-project.com/repo/centos/ && \ +RUN yum-config-manager --add-repo https://download.mono-project.com/repo/centos/ && \ yum clean all && \ yum makecache && \ - rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF" && \ + rpm --import "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF" && \ yum install -y mono-complete && \ yum -y clean all && rm -rf /var/cache @@ -127,6 +127,7 @@ RUN mkdir /hpcc-dev/build RUN ./vcpkg install \ --x-abi-tools-use-exact-versions \ --x-install-root=/hpcc-dev/build/vcpkg_installed \ + --host-triplet=x64-centos-7-dynamic \ --triplet=x64-centos-7-dynamic # ./vcpkg install --x-abi-tools-use-exact-versions --x-install-root=/hpcc-dev/build/vcpkg_installed --triplet=x64-centos-7-dynamic diff --git a/dockerfiles/centos-8.dockerfile b/dockerfiles/centos-8.dockerfile index f20145e04dc95f..b518ea99d011da 100644 --- a/dockerfiles/centos-8.dockerfile +++ b/dockerfiles/centos-8.dockerfile @@ -1,4 +1,7 @@ -FROM tgagor/centos-stream:stream8 AS base_build +FROM tgagor/centos:stream8 AS base_build + +RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*.repo +RUN sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*.repo RUN yum update -y && yum install -y dnf-plugins-core && \ dnf config-manager --set-enabled powertools && \ @@ -25,10 +28,10 @@ SHELL ["/bin/bash", "--login", "-c"] FROM base_build AS vcpkg_build # Build Tools - Mono --- -RUN yum-config-manager --add-repo http://download.mono-project.com/repo/centos/ && \ +RUN yum-config-manager --add-repo https://download.mono-project.com/repo/centos/ && \ yum clean all && \ yum makecache && \ - rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF" && \ + rpm --import "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF" && \ dnf config-manager --add-repo https://download.mono-project.com/repo/centos8-stable.repo && \ yum install -y mono-complete && \ yum -y clean all && rm -rf /var/cache @@ -61,6 +64,7 @@ RUN mkdir /hpcc-dev/build RUN ./vcpkg install \ --x-abi-tools-use-exact-versions \ --x-install-root=/hpcc-dev/build/vcpkg_installed \ + --host-triplet=x64-linux-dynamic \ --triplet=x64-linux-dynamic # ./vcpkg install --x-abi-tools-use-exact-versions --x-install-root=/hpcc-dev/build/vcpkg_installed --triplet=x64-linux-dynamic diff --git a/dockerfiles/rockylinux-8.dockerfile b/dockerfiles/rockylinux-8.dockerfile index b7d059711feee1..0b7b83981e2a97 100644 --- a/dockerfiles/rockylinux-8.dockerfile +++ b/dockerfiles/rockylinux-8.dockerfile @@ -14,6 +14,7 @@ RUN dnf install -y 'dnf-command(config-manager)' && \ libtool \ perl-IPC-Cmd \ python3 \ + rpm-build \ tar \ unzip \ zip && \ @@ -28,8 +29,8 @@ FROM base_build AS vcpkg_build # Build Tools - Mono --- RUN dnf install -y 'dnf-command(config-manager)' -RUN rpmkeys --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF" && \ - dnf config-manager --add-repo http://download.mono-project.com/repo/centos8-stable/ && \ +RUN rpmkeys --import "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF" && \ + dnf config-manager --add-repo https://download.mono-project.com/repo/centos8-stable/ && \ dnf clean all && \ dnf makecache && \ dnf install -y mono-complete @@ -62,6 +63,7 @@ RUN mkdir /hpcc-dev/build RUN ./vcpkg install \ --x-abi-tools-use-exact-versions \ --x-install-root=/hpcc-dev/build/vcpkg_installed \ + --host-triplet=x64-linux-dynamic \ --triplet=x64-linux-dynamic # ./vcpkg install --x-abi-tools-use-exact-versions --x-install-root=/hpcc-dev/build/vcpkg_installed --triplet=x64-linux-dynamic diff --git a/dockerfiles/ubuntu-20.04.dockerfile b/dockerfiles/ubuntu-20.04.dockerfile index 058d1cba10d96f..e5869de8a41d7e 100644 --- a/dockerfiles/ubuntu-20.04.dockerfile +++ b/dockerfiles/ubuntu-20.04.dockerfile @@ -62,6 +62,7 @@ RUN mkdir /hpcc-dev/build RUN ./vcpkg install \ --x-abi-tools-use-exact-versions \ --x-install-root=/hpcc-dev/build/vcpkg_installed \ + --host-triplet=x64-linux-dynamic \ --triplet=x64-linux-dynamic # ./vcpkg install --x-abi-tools-use-exact-versions --triplet=x64-linux-dynamic --x-install-root=/hpcc-dev/build/vcpkg_installed diff --git a/dockerfiles/ubuntu-22.04.dockerfile b/dockerfiles/ubuntu-22.04.dockerfile index 44a7e8d7d4937b..8bf1df4740cb19 100644 --- a/dockerfiles/ubuntu-22.04.dockerfile +++ b/dockerfiles/ubuntu-22.04.dockerfile @@ -62,8 +62,9 @@ RUN mkdir /hpcc-dev/build RUN ./vcpkg install \ --x-abi-tools-use-exact-versions \ --x-install-root=/hpcc-dev/build/vcpkg_installed \ + --host-triplet=x64-linux-dynamic \ --triplet=x64-linux-dynamic -# ./vcpkg install --x-abi-tools-use-exact-versions --triplet=x64-linux-dynamic --x-install-root=/hpcc-dev/build/vcpkg_installed +# ./vcpkg install --x-abi-tools-use-exact-versions --host-triplet=x64-linux-dynamic --triplet=x64-linux-dynamic --x-install-root=/hpcc-dev/build/vcpkg_installed RUN mkdir -p /hpcc-dev/tools/cmake RUN cp -r $(dirname $(dirname `./vcpkg fetch cmake | tail -n 1`))/* /hpcc-dev/tools/cmake diff --git a/dockerfiles/ubuntu-24.04.dockerfile b/dockerfiles/ubuntu-24.04.dockerfile index 60ebc79a1366bd..d509d7f849bd5e 100644 --- a/dockerfiles/ubuntu-24.04.dockerfile +++ b/dockerfiles/ubuntu-24.04.dockerfile @@ -59,6 +59,7 @@ RUN mkdir /hpcc-dev/build RUN ./vcpkg install \ --x-abi-tools-use-exact-versions \ --x-install-root=/hpcc-dev/build/vcpkg_installed \ + --host-triplet=x64-linux-dynamic \ --triplet=x64-linux-dynamic # ./vcpkg install --x-abi-tools-use-exact-versions --triplet=x64-linux-dynamic --x-install-root=/hpcc-dev/build/vcpkg_installed diff --git a/overlays/nlp-engine/portfile.cmake b/overlays/nlp-engine/portfile.cmake index 130a9edc7fc328..ae931ff004c806 100644 --- a/overlays/nlp-engine/portfile.cmake +++ b/overlays/nlp-engine/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO VisualText/nlp-engine REF v${VERSION} - SHA512 d874bb29b405efbb5f988f4c5e08d9caa0afd1a2b7ec95a3d580095a89d703511b1a9deb9cf036e9b53e0416b307ec4b911bf5dafa2f6418faf36bb80effa40e + SHA512 a6871cb3db10a1d4bd7d5290141a82e788269da28b2d995963825dc4c50025e6099f5f872e4538054b7fb169773b6d6d3e73e3dd102bc3e0cbb5bddcd95ae484 HEAD_REF master ) diff --git a/overlays/nlp-engine/vcpkg.json b/overlays/nlp-engine/vcpkg.json index dd0a9866981a45..f58aab2fe7b738 100644 --- a/overlays/nlp-engine/vcpkg.json +++ b/overlays/nlp-engine/vcpkg.json @@ -1,6 +1,6 @@ { "name": "nlp-engine", - "version-semver": "2.8.15", + "version-semver": "2.10.6", "port-version": 0, "homepage": "https://github.com/VisualText/nlp-engine", "description": "The NLP engine is a cross-platform text analysis tool that can be accessed through a command line executable or by calling its C++ functions from another language.", diff --git a/overlays/opentelemetry-cpp/fix-nominmax-problems.patch b/overlays/opentelemetry-cpp/fix-nominmax-problems.patch deleted file mode 100644 index 7cf003711337ea..00000000000000 --- a/overlays/opentelemetry-cpp/fix-nominmax-problems.patch +++ /dev/null @@ -1,224 +0,0 @@ -diff --git a/api/include/opentelemetry/std/span.h b/api/include/opentelemetry/std/span.h -index 2a3dc12a84..1160d54fbe 100644 ---- a/api/include/opentelemetry/std/span.h -+++ b/api/include/opentelemetry/std/span.h -@@ -60,7 +60,7 @@ OPENTELEMETRY_END_NAMESPACE - OPENTELEMETRY_BEGIN_NAMESPACE - namespace nostd - { --constexpr std::size_t dynamic_extent = (std::numeric_limits::max()); -+constexpr std::size_t dynamic_extent = (std::numeric_limits::max)(); - - template - using span = std::span; -index 7deb369ab3..6da8bdd032 100644 ---- a/docs/cpp-ostream-exporter-design.md -+++ b/docs/cpp-ostream-exporter-design.md -@@ -154,7 +154,7 @@ public: - return sdktrace::ExportResult::kSuccess; - } - -- bool Shutdown(std::chrono::microseconds timeout = std::chrono::microseconds::max()) noexcept -+ bool Shutdown(std::chrono::microseconds timeout = (std::chrono::microseconds::max)()) noexcept - { - isShutdown = true; - return true; -diff --git a/exporters/elasticsearch/include/opentelemetry/exporters/elasticsearch/es_log_record_exporter.h b/exporters/elasticsearch/include/opentelemetry/exporters/elasticsearch/es_log_record_exporter.h -index 8579c99138..b72ff4f917 100644 ---- a/exporters/elasticsearch/include/opentelemetry/exporters/elasticsearch/es_log_record_exporter.h -+++ b/exporters/elasticsearch/include/opentelemetry/exporters/elasticsearch/es_log_record_exporter.h -@@ -100,14 +100,14 @@ class ElasticsearchLogRecordExporter final : public opentelemetry::sdk::logs::Lo - * @return return true when all data are exported, and false when timeout - */ - bool ForceFlush( -- std::chrono::microseconds timeout = std::chrono::microseconds::max()) noexcept override; -+ std::chrono::microseconds timeout = (std::chrono::microseconds::max)()) noexcept override; - - /** - * Shutdown this exporter. - * @param timeout The maximum time to wait for the shutdown method to return - */ - bool Shutdown( -- std::chrono::microseconds timeout = std::chrono::microseconds::max()) noexcept override; -+ std::chrono::microseconds timeout = (std::chrono::microseconds::max)()) noexcept override; - - private: - // Stores if this exporter had its Shutdown() method called -diff --git a/exporters/elasticsearch/src/es_log_record_exporter.cc b/exporters/elasticsearch/src/es_log_record_exporter.cc -index c90072e4e4..e167faf3d9 100644 ---- a/exporters/elasticsearch/src/es_log_record_exporter.cc -+++ b/exporters/elasticsearch/src/es_log_record_exporter.cc -@@ -430,7 +430,7 @@ bool ElasticsearchLogRecordExporter::ForceFlush( - std::chrono::duration_cast(timeout); - if (timeout_steady <= std::chrono::steady_clock::duration::zero()) - { -- timeout_steady = std::chrono::steady_clock::duration::max(); -+ timeout_steady = (std::chrono::steady_clock::duration::max)(); - } - - std::unique_lock lk_cv(synchronization_data_->force_flush_cv_m); -diff --git a/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_exporter.h b/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_exporter.h -index 7aff1e24a5..870e5a043a 100644 ---- a/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_exporter.h -+++ b/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_exporter.h -@@ -58,7 +58,7 @@ class OtlpGrpcExporter final : public opentelemetry::sdk::trace::SpanExporter - * @return return true when all data are exported, and false when timeout - */ - bool ForceFlush( -- std::chrono::microseconds timeout = std::chrono::microseconds::max()) noexcept override; -+ std::chrono::microseconds timeout = (std::chrono::microseconds::max)()) noexcept override; - - /** - * Shut down the exporter. -@@ -67,7 +67,7 @@ class OtlpGrpcExporter final : public opentelemetry::sdk::trace::SpanExporter - * @return return the status of this operation - */ - bool Shutdown( -- std::chrono::microseconds timeout = std::chrono::microseconds::max()) noexcept override; -+ std::chrono::microseconds timeout = (std::chrono::microseconds::max)()) noexcept override; - - private: - // The configuration options associated with this exporter. -diff --git a/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_log_record_exporter.h b/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_log_record_exporter.h -index 29333703b1..f1cd96888c 100644 ---- a/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_log_record_exporter.h -+++ b/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_log_record_exporter.h -@@ -60,14 +60,14 @@ class OtlpGrpcLogRecordExporter : public opentelemetry::sdk::logs::LogRecordExpo - * @return return true when all data are exported, and false when timeout - */ - bool ForceFlush( -- std::chrono::microseconds timeout = std::chrono::microseconds::max()) noexcept override; -+ std::chrono::microseconds timeout = (std::chrono::microseconds::max)()) noexcept override; - - /** - * Shutdown this exporter. - * @param timeout The maximum time to wait for the shutdown method to return. - */ - bool Shutdown( -- std::chrono::microseconds timeout = std::chrono::microseconds::max()) noexcept override; -+ std::chrono::microseconds timeout = (std::chrono::microseconds::max)()) noexcept override; - - private: - // Configuration options for the exporter -diff --git a/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_http_exporter.h b/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_http_exporter.h -index 1adbbc70b9..b5faf1a9b8 100644 ---- a/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_http_exporter.h -+++ b/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_http_exporter.h -@@ -59,7 +59,7 @@ class OPENTELEMETRY_EXPORT OtlpHttpExporter final : public opentelemetry::sdk::t - * @return return true when all data are exported, and false when timeout - */ - bool ForceFlush( -- std::chrono::microseconds timeout = std::chrono::microseconds::max()) noexcept override; -+ std::chrono::microseconds timeout = (std::chrono::microseconds::max)()) noexcept override; - - /** - * Shut down the exporter. -@@ -68,7 +68,7 @@ class OPENTELEMETRY_EXPORT OtlpHttpExporter final : public opentelemetry::sdk::t - * @return return the status of this operation - */ - bool Shutdown( -- std::chrono::microseconds timeout = std::chrono::microseconds::max()) noexcept override; -+ std::chrono::microseconds timeout = (std::chrono::microseconds::max)()) noexcept override; - - private: - // The configuration options associated with this exporter. -diff --git a/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_http_log_record_exporter.h b/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_http_log_record_exporter.h -index 4393345dfd..f481fdab0b 100644 ---- a/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_http_log_record_exporter.h -+++ b/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_http_log_record_exporter.h -@@ -58,14 +58,14 @@ class OtlpHttpLogRecordExporter final : public opentelemetry::sdk::logs::LogReco - * @return return true when all data are exported, and false when timeout - */ - bool ForceFlush( -- std::chrono::microseconds timeout = std::chrono::microseconds::max()) noexcept override; -+ std::chrono::microseconds timeout = (std::chrono::microseconds::max)()) noexcept override; - - /** - * Shutdown this exporter. - * @param timeout The maximum time to wait for the shutdown method to return - */ - bool Shutdown( -- std::chrono::microseconds timeout = std::chrono::microseconds::max()) noexcept override; -+ std::chrono::microseconds timeout = (std::chrono::microseconds::max)()) noexcept override; - - private: - // Configuration options for the exporter -diff --git a/exporters/otlp/src/otlp_http_client.cc b/exporters/otlp/src/otlp_http_client.cc -index 9c57a9bd83..7814199ef2 100644 ---- a/exporters/otlp/src/otlp_http_client.cc -+++ b/exporters/otlp/src/otlp_http_client.cc -@@ -782,7 +782,7 @@ bool OtlpHttpClient::ForceFlush(std::chrono::microseconds timeout) noexcept - std::chrono::duration_cast(timeout); - if (timeout_steady <= std::chrono::steady_clock::duration::zero()) - { -- timeout_steady = std::chrono::steady_clock::duration::max(); -+ timeout_steady = (std::chrono::steady_clock::duration::max)(); - } - - while (timeout_steady > std::chrono::steady_clock::duration::zero()) -diff --git a/sdk/include/opentelemetry/sdk/logs/batch_log_record_processor.h b/sdk/include/opentelemetry/sdk/logs/batch_log_record_processor.h -index e93ebf3d6b..d6a44df142 100644 ---- a/sdk/include/opentelemetry/sdk/logs/batch_log_record_processor.h -+++ b/sdk/include/opentelemetry/sdk/logs/batch_log_record_processor.h -@@ -72,7 +72,7 @@ class BatchLogRecordProcessor : public LogRecordProcessor - * NOTE: Timeout functionality not supported yet. - */ - bool ForceFlush( -- std::chrono::microseconds timeout = std::chrono::microseconds::max()) noexcept override; -+ std::chrono::microseconds timeout = (std::chrono::microseconds::max)()) noexcept override; - - /** - * Shuts down the processor and does any cleanup required. Completely drains the buffer/queue of -@@ -82,7 +82,7 @@ class BatchLogRecordProcessor : public LogRecordProcessor - * NOTE: Timeout functionality not supported yet. - */ - bool Shutdown( -- std::chrono::microseconds timeout = std::chrono::microseconds::max()) noexcept override; -+ std::chrono::microseconds timeout = (std::chrono::microseconds::max)()) noexcept override; - - /** - * Class destructor which invokes the Shutdown() method. -diff --git a/sdk/include/opentelemetry/sdk/logs/multi_log_record_processor.h b/sdk/include/opentelemetry/sdk/logs/multi_log_record_processor.h -index 335da7f668..8ca5cffcca 100644 ---- a/sdk/include/opentelemetry/sdk/logs/multi_log_record_processor.h -+++ b/sdk/include/opentelemetry/sdk/logs/multi_log_record_processor.h -@@ -45,7 +45,7 @@ class MultiLogRecordProcessor : public LogRecordProcessor - * @return a result code indicating whether it succeeded, failed or timed out - */ - bool ForceFlush( -- std::chrono::microseconds timeout = std::chrono::microseconds::max()) noexcept override; -+ std::chrono::microseconds timeout = (std::chrono::microseconds::max)()) noexcept override; - - /** - * Shuts down the processor and does any cleanup required. -@@ -55,7 +55,7 @@ class MultiLogRecordProcessor : public LogRecordProcessor - * @return true if the shutdown succeeded, false otherwise - */ - bool Shutdown( -- std::chrono::microseconds timeout = std::chrono::microseconds::max()) noexcept override; -+ std::chrono::microseconds timeout = (std::chrono::microseconds::max)()) noexcept override; - - private: - std::vector> processors_; -diff --git a/sdk/include/opentelemetry/sdk/trace/batch_span_processor.h b/sdk/include/opentelemetry/sdk/trace/batch_span_processor.h -index a748b06361..afbf4486b0 100644 ---- a/sdk/include/opentelemetry/sdk/trace/batch_span_processor.h -+++ b/sdk/include/opentelemetry/sdk/trace/batch_span_processor.h -@@ -69,7 +69,7 @@ class BatchSpanProcessor : public SpanProcessor - * NOTE: Timeout functionality not supported yet. - */ - bool ForceFlush( -- std::chrono::microseconds timeout = std::chrono::microseconds::max()) noexcept override; -+ std::chrono::microseconds timeout = (std::chrono::microseconds::max)()) noexcept override; - - /** - * Shuts down the processor and does any cleanup required. Completely drains the buffer/queue of -@@ -79,7 +79,7 @@ class BatchSpanProcessor : public SpanProcessor - * NOTE: Timeout functionality not supported yet. - */ - bool Shutdown( -- std::chrono::microseconds timeout = std::chrono::microseconds::max()) noexcept override; -+ std::chrono::microseconds timeout = (std::chrono::microseconds::max)()) noexcept override; - - /** - * Class destructor which invokes the Shutdown() method. The Shutdown() method is supposed to be diff --git a/overlays/opentelemetry-cpp/portfile.cmake b/overlays/opentelemetry-cpp/portfile.cmake index 127a18e4df2f17..6100e716132fa0 100644 --- a/overlays/opentelemetry-cpp/portfile.cmake +++ b/overlays/opentelemetry-cpp/portfile.cmake @@ -6,13 +6,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO open-telemetry/opentelemetry-cpp REF "v${VERSION}" - SHA512 38a3796a5f4c28fd54cc2a5475b3a024e2e73594acbc635fccc6358bf4d93ae897fc0ce55a93d27736a08622869ccc9fe9a9ee62e3884adadb3f135c27d378ec + SHA512 97635bbaf6dd567c201451dfaf7815b2052fe50d9bccc97aade86cfa4a92651374d167296a5453031b2681dc302806a289bca011a9e79ddc381a17d6118971d7 HEAD_REF main PATCHES # Missing find_dependency for Abseil add-missing-find-dependency.patch - # Fix problems from removing NOMINMAX on Windows. Fixed in 1.14.0 - fix-nominmax-problems.patch # HPCC-fix: Remove code that reinitialised the random number generator on fork() hpcc-remove-unsafe-onfork.patch ) @@ -26,15 +24,18 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS otlp-http WITH_OTLP_HTTP otlp-grpc WITH_OTLP_GRPC geneva WITH_GENEVA + user-events WITH_USER_EVENTS + INVERTED_FEATURES + user-events BUILD_TRACEPOINTS ) # opentelemetry-proto is a third party submodule and opentelemetry-cpp release did not pack it. if(WITH_OTLP_GRPC OR WITH_OTLP_HTTP) - set(OTEL_PROTO_VERSION "1.0.0") + set(OTEL_PROTO_VERSION "1.1.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 74de78304a91fe72cfcdbd87fcb19c0d6338c161d6624ce09eac0527b1b43b8a5d8790ae055e1d3d44319eaa070a506f47e740f888c91d724a0aef8b509688f0 + SHA512 cd20991efb2d7f1bc8650fd0e124be707922b0717e429b6212390cd2c0d0afdb403c9aece196f07ae81ebed948863f4ec75c08ffbb3968795a0010d5cb34dc1b ) vcpkg_extract_source_archive(src ARCHIVE "${ARCHIVE}") @@ -47,18 +48,34 @@ if(WITH_OTLP_GRPC OR WITH_OTLP_HTTP) endif() set(OPENTELEMETRY_CPP_EXTERNAL_COMPONENTS "OFF") -if(WITH_GENEVA) -# Geneva exporters from opentelemetry-cpp-contrib are tightly coupled with opentelemetry-cpp repo, so they should be ported as a feature under opentelemetry-cpp. -# TODO: merge the opentelemetry-fluentd port to opentelemery-cpp port. + +if(WITH_GENEVA OR WITH_USER_EVENTS) + # Geneva and user events exporters from opentelemetry-cpp-contrib are tightly coupled with opentelemetry-cpp repo, + # so they should be ported as a feature under opentelemetry-cpp. vcpkg_from_github( OUT_SOURCE_PATH CONTRIB_SOURCE_PATH REPO open-telemetry/opentelemetry-cpp-contrib - REF 26e5ed48d81bb03fde52848ab394605dde0fb1a8 + REF 4f3059390ad09d12d93255a10f7be8ff948d26fc HEAD_REF main - SHA512 f483dc96a884450fbb17fdaf0b5514ba44546f1742c2f80f552fcb442e08fbfe399441594e95ffd2c644c20907baef83d52c326dd6d3d5eb70cf29d30b2c5a0e + SHA512 392e3a414ea0ee016768dd75a286d2a7a3a7a011cc0fce4ee2f796ad7e0cd70d534eb38cb1d22f91300f4670dfa212a4239ba8e008c2444d47e13c5fe3fb75c0 ) - set(OPENTELEMETRY_CPP_EXTERNAL_COMPONENTS "") - list(APPEND OPENTELEMETRY_CPP_EXTERNAL_COMPONENTS "${CONTRIB_SOURCE_PATH}/exporters/geneva") + + if(WITH_GENEVA) + set(OPENTELEMETRY_CPP_EXTERNAL_COMPONENTS "${CONTRIB_SOURCE_PATH}/exporters/geneva") + if(VCPKG_TARGET_IS_WINDOWS) + set(OPENTELEMETRY_CPP_EXTERNAL_COMPONENTS "${OPENTELEMETRY_CPP_EXTERNAL_COMPONENTS}\;${CONTRIB_SOURCE_PATH}/exporters/geneva-trace") + else() + set(OPENTELEMETRY_CPP_EXTERNAL_COMPONENTS "${OPENTELEMETRY_CPP_EXTERNAL_COMPONENTS}\;${CONTRIB_SOURCE_PATH}/exporters/fluentd") + endif() + endif() + + if(WITH_USER_EVENTS) + if(WITH_GENEVA) + set(OPENTELEMETRY_CPP_EXTERNAL_COMPONENTS "${OPENTELEMETRY_CPP_EXTERNAL_COMPONENTS}\;${CONTRIB_SOURCE_PATH}/exporters/user_events") + else() + set(OPENTELEMETRY_CPP_EXTERNAL_COMPONENTS "${CONTRIB_SOURCE_PATH}/exporters/user_events") + endif() + endif() endif() vcpkg_cmake_configure( @@ -68,10 +85,13 @@ vcpkg_cmake_configure( -DWITH_EXAMPLES=OFF -DOPENTELEMETRY_INSTALL=ON -DWITH_ABSEIL=ON - -DOPENTELEMETRY_EXTERNAL_COMPONENT_PATH="${OPENTELEMETRY_CPP_EXTERNAL_COMPONENTS}" + -DWITH_BENCHMARK=OFF + -DOPENTELEMETRY_EXTERNAL_COMPONENT_PATH=${OPENTELEMETRY_CPP_EXTERNAL_COMPONENTS} ${FEATURE_OPTIONS} MAYBE_UNUSED_VARIABLES WITH_GENEVA + WITH_USER_EVENTS + BUILD_TRACEPOINTS ) vcpkg_cmake_install() diff --git a/overlays/opentelemetry-cpp/vcpkg.json b/overlays/opentelemetry-cpp/vcpkg.json index dda8cae1a3c184..ad357c7d07fdfb 100644 --- a/overlays/opentelemetry-cpp/vcpkg.json +++ b/overlays/opentelemetry-cpp/vcpkg.json @@ -1,8 +1,8 @@ { "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", "name": "opentelemetry-cpp", - "version-semver": "1.13.0", - "port-version": 4, + "version-semver": "1.14.2", + "port-version": 2, "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." @@ -23,14 +23,29 @@ ], "features": { "elasticsearch": { - "description": "Whether to include the Elasticsearch Client in the SDK" + "description": "Whether to include the Elasticsearch Client in the SDK", + "dependencies": [ + { + "name": "curl", + "default-features": false + } + ] }, "etw": { "description": "Whether to include the ETW Exporter in the SDK", "supports": "windows" }, "geneva": { - "description": "Whether to include the Geneva Exporter from the opentelemetry-cpp-contrib repository" + "description": "Whether to include the Geneva Exporter from the opentelemetry-cpp-contrib repository", + "dependencies": [ + { + "name": "opentelemetry-cpp", + "features": [ + "etw" + ], + "platform": "windows" + } + ] }, "otlp-grpc": { "description": "Whether to include the OTLP gRPC exporter in the SDK", @@ -55,6 +70,20 @@ "prometheus-cpp" ] }, + "user-events": { + "description": "Whether to include the User Events Exporter from the opentelemetry-cpp-contrib repository", + "supports": "linux", + "dependencies": [ + "libeventheader-tracepoint", + "libtracepoint", + { + "name": "opentelemetry-cpp", + "features": [ + "otlp-http" + ] + } + ] + }, "zipkin": { "description": "Whether to include the Zipkin exporter in the SDK" } diff --git a/overlays/overlay_changelog_9.8.0 b/overlays/overlay_changelog_9.8.0 new file mode 100644 index 00000000000000..47a21d971b7646 --- /dev/null +++ b/overlays/overlay_changelog_9.8.0 @@ -0,0 +1,7 @@ +Delete pcre2 overlay - ports/pcre2 microsoft 2024.05.24 set to same version +delete libmysql - equivalent version found in ports/ +delete libxml - might have to revert - higher version in ports/ +delete libxslt - equivalent version found in ports/ +delete opentelemetry-cpp - Update version in ports/ + +update baseline to f7423ee180c4b7f40d43402c2feb3859161ef625 diff --git a/vcpkg-configuration.json b/vcpkg-configuration.json index 8c566b7c814a0b..67540da6a4c861 100644 --- a/vcpkg-configuration.json +++ b/vcpkg-configuration.json @@ -2,7 +2,7 @@ "default-registry": { "kind": "git", "repository": "https://github.com/microsoft/vcpkg", - "baseline": "fba75d09065fcc76a25dcf386b1d00d33f5175af" + "baseline": "f7423ee180c4b7f40d43402c2feb3859161ef625" }, "registries": [], "overlay-ports": [ diff --git a/vcpkg.json b/vcpkg.json index 11997256611a2e..4591ff9e6cc143 100644 --- a/vcpkg.json +++ b/vcpkg.json @@ -1,7 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg/master/scripts/vcpkg.schema.json", "name": "hpcc-platform", - "version": "9.2.0", + "version": "9.8.0", "dependencies": [ "apr", "apr-util",