From 2edb451d4a5f97f473062d49a22ef649c39cc82f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Du=C5=A1an=20Baran?= Date: Thu, 15 Aug 2024 11:41:19 +0200 Subject: [PATCH 1/6] Install pybind from pip. (#5238) This installs pybind11 from PIP so that the windows builds can find it. It is a workaround that will be properly fixed but for now this will unblock the 2.26 release and allow us to merge PRs. [sc-52966] --- TYPE: NO_HISTORY DESC: Use pybind11 from pip. --- .github/workflows/build-windows.yml | 2 ++ test/CMakeLists.txt | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 7b26ecee8c79..7ff184c78a11 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -136,6 +136,8 @@ jobs: uses: seanmiddleditch/gha-setup-ninja@v4 - name: Prevent vcpkg from building debug variants run: python $env:GITHUB_WORKSPACE/scripts/ci/patch_vcpkg_triplets.py + - name: Install dependencies from pip + run: python -m pip install pybind11[global] - name: Configure TileDB shell: pwsh diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index bf7c60f6b221..edc9b4b7be28 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -58,9 +58,9 @@ if (${TILEDB_ARROW_TESTS}) if (NOT ${pybind11_FOUND}) # Get the include arguments from the python executable (has "-I" compiler option) execute_process(COMMAND ${Python_EXECUTABLE} -m pybind11 --includes - OUTPUT_VARIABLE CMD_PYBIND11_INCLUDE - RESULT_VARIABLE CMD_PYBIND11_RESULT - OUTPUT_STRIP_TRAILING_WHITESPACE) + OUTPUT_VARIABLE CMD_PYBIND11_INCLUDE + RESULT_VARIABLE CMD_PYBIND11_RESULT + OUTPUT_STRIP_TRAILING_WHITESPACE) if (${CMD_PYBIND11_RESULT}) message(FATAL_ERROR "Unable to find pybind11 via cmake or 'python3 -m pybind11 --includes'") endif() From bcf0144f59c6664fa7f36e2c692c0a4df923e4ae Mon Sep 17 00:00:00 2001 From: Theodore Tsirpanis Date: Thu, 15 Aug 2024 12:48:06 +0300 Subject: [PATCH 2/6] Bump the vcpkg `builtin-baseline`. (#5010) [SC-48154](https://app.shortcut.com/tiledb-inc/story/48154/2-26-bump-the-vcpkg-builtin-baseline) This PR bumps the vcpkg `builtin-baseline` which causes all of our dependencies to be updated to the most recent versions available on vcpkg. Some of our custom ports are no longer needed and were removed as well. To view the full list of updated ports, you can clone vcpkg and run `git diff 72010900b7cee36cea77aebb97695095c9358eaf 101cc9a69a1061969caf4b73579a34873fdd60fe -- .\versions\baseline.json > baseline.diff`. This is an abridged summary of the updated ports that we depend on: |Port|Old version|New version| |----|-----------|-----------| |aws-sdk-cpp|1.11.215|1.11.352| |azure-core-cpp|1.10.3|1.13.0| |azure-identity-cpp|1.6.0|1.8.0| |azure-storage-blobs-cpp|12.10.0|12.11.0| |azure-storage-common-cpp|12.5.0|12.6.0| |catch2|3.4.0|3.6.0| |capnproto|1.0.1|1.0.2| |curl|8.4.0|8.8.0| |fmt|10.1.1|10.2.1| |google-cloud-cpp|2.19.0|2.25.0| |libwebp|1.3.2|1.4.0| |libxml2|2.11.6|2.11.7| |openssl|3.1.4|3.3.1| |pcre2|10.42|10.43| |spdlog|1.12.0|1.14.1| |zlib|1.3|1.3.1| |zstd|1.5.5|1.5.6| The bump to the baseline might cause configure errors due to the vcpkg repository being out of date In this case, try one of the following things: * If you are using a cloned vcpkg repository and specified to the Core either a custom toolchain file, or the `VCPKG_ROOT` environment variable, update the vcpkg repository to the latest available commit, and try configuring again. * If you rely on the Core's build system to automatically download vcpkg (the default case), try deleting `build/_deps` and configure again. If it doesn't work, try performing a clean build. Let me know if any additional testing is required. --- TYPE: BUILD DESC: Update vcpkg version baseline to https://github.com/microsoft/vcpkg/commit/101cc9a69a1061969caf4b73579a34873fdd60fe. --- cmake/Options/TileDBToolchain.cmake | 2 +- ports/README.md | 16 +- ports/aws-c-io/fix-pointer-mismatch.patch | 22 + ports/aws-c-io/portfile.cmake | 34 + ports/aws-c-io/vcpkg.json | 24 + ports/aws-sdk-cpp/find-dependency.patch | 14 + ports/aws-sdk-cpp/fix-aws-root.patch | 22 + ports/aws-sdk-cpp/fix-winsock-headers.patch | 14 + ports/aws-sdk-cpp/fix_find_curl.patch | 31 + ports/aws-sdk-cpp/generateFeatures.ps1 | 73 + .../lock-curl-http-and-tls-settings.patch | 20 + ports/aws-sdk-cpp/no-test-deps.patch | 25 + ports/aws-sdk-cpp/portfile.cmake | 104 ++ ports/aws-sdk-cpp/usage | 12 + ports/aws-sdk-cpp/vcpkg.in.json | 37 + ports/aws-sdk-cpp/vcpkg.json | 1276 ++++++++++++++ ports/azure-storage-common-cpp/portfile.cmake | 32 - ports/azure-storage-common-cpp/vcpkg.json | 36 - ports/google-cloud-cpp/portfile.cmake | 86 - ports/google-cloud-cpp/remove_gmock.patch | 28 - .../google-cloud-cpp/support_absl_cxx17.patch | 19 - ports/google-cloud-cpp/vcpkg.json | 1509 ----------------- ports/pcre2/fix-cmake.patch | 334 ---- ports/pcre2/no-static-suffix.patch | 33 - ports/pcre2/pcre2-10.35_fix-uwp.patch | 10 - ports/pcre2/portfile.cmake | 73 - ports/pcre2/usage | 6 - ports/pcre2/vcpkg.json | 39 - ports/vcpkg-cmake-config/copyright | 23 - ports/vcpkg-cmake-config/portfile.cmake | 12 - .../vcpkg-port-config.cmake | 1 - ports/vcpkg-cmake-config/vcpkg.json | 6 - .../vcpkg_cmake_config_fixup.cmake | 266 --- .../test/unit_bit_width_reduction_pipeline.cc | 1 + tiledb/sm/filter/test/unit_xor_pipeline.cc | 1 + tiledb/sm/serialization/tiledb-rest.capnp.h | 2 +- vcpkg.json | 13 +- 37 files changed, 1724 insertions(+), 2532 deletions(-) create mode 100644 ports/aws-c-io/fix-pointer-mismatch.patch create mode 100644 ports/aws-c-io/portfile.cmake create mode 100644 ports/aws-c-io/vcpkg.json create mode 100644 ports/aws-sdk-cpp/find-dependency.patch create mode 100644 ports/aws-sdk-cpp/fix-aws-root.patch create mode 100644 ports/aws-sdk-cpp/fix-winsock-headers.patch create mode 100644 ports/aws-sdk-cpp/fix_find_curl.patch create mode 100644 ports/aws-sdk-cpp/generateFeatures.ps1 create mode 100644 ports/aws-sdk-cpp/lock-curl-http-and-tls-settings.patch create mode 100644 ports/aws-sdk-cpp/no-test-deps.patch create mode 100644 ports/aws-sdk-cpp/portfile.cmake create mode 100644 ports/aws-sdk-cpp/usage create mode 100644 ports/aws-sdk-cpp/vcpkg.in.json create mode 100644 ports/aws-sdk-cpp/vcpkg.json delete mode 100644 ports/azure-storage-common-cpp/portfile.cmake delete mode 100644 ports/azure-storage-common-cpp/vcpkg.json delete mode 100644 ports/google-cloud-cpp/portfile.cmake delete mode 100644 ports/google-cloud-cpp/remove_gmock.patch delete mode 100644 ports/google-cloud-cpp/support_absl_cxx17.patch delete mode 100644 ports/google-cloud-cpp/vcpkg.json delete mode 100644 ports/pcre2/fix-cmake.patch delete mode 100644 ports/pcre2/no-static-suffix.patch delete mode 100644 ports/pcre2/pcre2-10.35_fix-uwp.patch delete mode 100644 ports/pcre2/portfile.cmake delete mode 100644 ports/pcre2/usage delete mode 100644 ports/pcre2/vcpkg.json delete mode 100644 ports/vcpkg-cmake-config/copyright delete mode 100644 ports/vcpkg-cmake-config/portfile.cmake delete mode 100644 ports/vcpkg-cmake-config/vcpkg-port-config.cmake delete mode 100644 ports/vcpkg-cmake-config/vcpkg.json delete mode 100644 ports/vcpkg-cmake-config/vcpkg_cmake_config_fixup.cmake diff --git a/cmake/Options/TileDBToolchain.cmake b/cmake/Options/TileDBToolchain.cmake index f9cd9d186fb1..6da80c2b146c 100644 --- a/cmake/Options/TileDBToolchain.cmake +++ b/cmake/Options/TileDBToolchain.cmake @@ -36,7 +36,7 @@ if (NOT DEFINED CMAKE_TOOLCHAIN_FILE) # Inspired from https://github.com/Azure/azure-sdk-for-cpp/blob/azure-core_1.10.3/cmake-modules/AzureVcpkg.cmake message("TILEDB_DISABLE_AUTO_VCPKG is not defined. Fetch a local copy of vcpkg.") # To help with resolving conflicts, when you update the commit, also update its date. - set(VCPKG_COMMIT_STRING 72010900b7cee36cea77aebb97695095c9358eaf) # 2023-12-05 + set(VCPKG_COMMIT_STRING 7aeffc91033ad35cc4e2c152f213a866ec6c11ac) # 2024-07-13 message("Vcpkg commit string used: ${VCPKG_COMMIT_STRING}") include(FetchContent) FetchContent_Declare( diff --git a/ports/README.md b/ports/README.md index 299ed29fb802..26e98d4e5020 100644 --- a/ports/README.md +++ b/ports/README.md @@ -26,13 +26,13 @@ $ git commit After copying the port, add an entry to the table below. You should also contribute your changes to vcpkg and/or the upstream package repository. +For ease of review when patching existing ports, you are recommended to make one commit that copies the upstream port unchanged, and another commit that makes the changes you need. + ## List of port overlays -| Port | Reason | -|----------------------------|---------------------------------------------------------------------------------------------------------| -| `libmagic` | Updating to the upstream port deferred due to failures. | -| `pcre2` | To be removed alongside libmagic. | -| `azure-storage-common-cpp` | Patching to disable default features on libxml2 (https://github.com/Azure/azure-sdk-for-cpp/pull/5221). | -| `libfaketime` | Port does not yet exist upstream | -| `vcpkg-cmake-config` | Patching to fix build issues with CMake 3.29.1. (https://github.com/microsoft/vcpkg/pull/38017) | -| `google-cloud-cpp` | Patching to remove dependency on GMock. (https://github.com/microsoft/vcpkg/pull/39802) | +| Port | Reason | +|---------------|----------------------------------------------------------------------------------------------------------------------------| +| `aws-c-io` | Patching to fix MinGW build failures. (https://github.com/awslabs/aws-c-io/pull/664) | +| `aws-sdk-cpp` | Patching to fix MinGW build failures, and to avoid building test-only SDKs (https://github.com/aws/aws-sdk-cpp/pull/3061). | +| `libmagic` | Updating to the upstream port deferred due to failures. | +| `libfaketime` | Port does not yet exist upstream | diff --git a/ports/aws-c-io/fix-pointer-mismatch.patch b/ports/aws-c-io/fix-pointer-mismatch.patch new file mode 100644 index 000000000000..474624554e29 --- /dev/null +++ b/ports/aws-c-io/fix-pointer-mismatch.patch @@ -0,0 +1,22 @@ +diff --git a/source/windows/secure_channel_tls_handler.c b/source/windows/secure_channel_tls_handler.c +index b62b1a0..48f4556 100644 +--- a/source/windows/secure_channel_tls_handler.c ++++ b/source/windows/secure_channel_tls_handler.c +@@ -53,7 +53,7 @@ struct secure_channel_ctx { + struct aws_tls_ctx ctx; + struct aws_string *alpn_list; + SCHANNEL_CRED credentials; +- PCERT_CONTEXT pcerts; ++ PCCERT_CONTEXT pcerts; + HCERTSTORE cert_store; + HCERTSTORE custom_trust_store; + HCRYPTPROV crypto_provider; +@@ -188,7 +188,7 @@ static int s_manually_verify_peer_cert(struct aws_channel_handler *handler) { + int result = AWS_OP_ERR; + CERT_CONTEXT *peer_certificate = NULL; + HCERTCHAINENGINE engine = NULL; +- CERT_CHAIN_CONTEXT *cert_chain_ctx = NULL; ++ PCCERT_CHAIN_CONTEXT cert_chain_ctx = NULL; + + /* get the peer's certificate so we can validate it.*/ + SECURITY_STATUS status = diff --git a/ports/aws-c-io/portfile.cmake b/ports/aws-c-io/portfile.cmake new file mode 100644 index 000000000000..0d814d7398b1 --- /dev/null +++ b/ports/aws-c-io/portfile.cmake @@ -0,0 +1,34 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO awslabs/aws-c-io + REF "v${VERSION}" + SHA512 b5dc81635ce775c3783df2d4f6ccf0890b1e1669bddb1c10f6d200203684e84504ca87099cb88874010df28f98f658da5a4eacb9e4df0408d40d845f3d394f48 + HEAD_REF master + PATCHES + "fix-pointer-mismatch.patch" +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/aws-c-common" # use extra cmake files + -DBUILD_TESTING=FALSE +) + +vcpkg_cmake_install() + +string(REPLACE "dynamic" "shared" subdir "${VCPKG_LIBRARY_LINKAGE}") +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/${PORT}/cmake/${subdir}" DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/${PORT}/cmake") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}-config.cmake" [[/${type}/]] "/") + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/lib/${PORT}" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/lib/${PORT}" +) + +vcpkg_copy_pdbs() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/aws-c-io/vcpkg.json b/ports/aws-c-io/vcpkg.json new file mode 100644 index 000000000000..cf067314159a --- /dev/null +++ b/ports/aws-c-io/vcpkg.json @@ -0,0 +1,24 @@ +{ + "name": "aws-c-io", + "version": "0.14.9", + "description": "Handles all IO and TLS work for application protocols.", + "homepage": "https://github.com/awslabs/aws-c-io", + "license": "Apache-2.0", + "supports": "!(windows & arm) & !uwp", + "dependencies": [ + "aws-c-cal", + "aws-c-common", + { + "name": "s2n", + "platform": "!uwp & !windows" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/aws-sdk-cpp/find-dependency.patch b/ports/aws-sdk-cpp/find-dependency.patch new file mode 100644 index 000000000000..4ddf5156428d --- /dev/null +++ b/ports/aws-sdk-cpp/find-dependency.patch @@ -0,0 +1,14 @@ +diff --git a/toolchains/core-config.cmake b/toolchains/core-config.cmake +index d90bfaf747..ab14402577 100644 +--- a/toolchains/core-config.cmake ++++ b/toolchains/core-config.cmake +@@ -15,5 +15,9 @@ if (AWSSDK_CRYPTO_IN_SOURCE_BUILD) + find_dependency(crypto) + find_dependency(ssl) + endif() ++find_dependency(ZLIB) ++if("@ENABLE_CURL_CLIENT@") ++ find_dependency(CURL) ++endif() + set(BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_PREV}) + include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@-targets.cmake") diff --git a/ports/aws-sdk-cpp/fix-aws-root.patch b/ports/aws-sdk-cpp/fix-aws-root.patch new file mode 100644 index 000000000000..da4365ad7218 --- /dev/null +++ b/ports/aws-sdk-cpp/fix-aws-root.patch @@ -0,0 +1,22 @@ +diff --git a/cmake/AWSSDKConfig.cmake b/cmake/AWSSDKConfig.cmake +--- a/cmake/AWSSDKConfig.cmake (revision 2f90f9fd6c56460bd382243aa215fcddcb5883c8) ++++ b/cmake/AWSSDKConfig.cmake (date 1636913220527) +@@ -54,18 +54,14 @@ + string(REPLACE ";" "${AWS_MODULE_DIR};" SYSTEM_MODULE_PATH "${CMAKE_SYSTEM_PREFIX_PATH}${AWS_MODULE_DIR}") + list(APPEND CMAKE_MODULE_PATH ${AWS_MODULE_PATH} ${SYSTEM_MODULE_PATH}) + +-# On Windows, dlls are treated as runtime target and installed in bindir + if (WIN32 AND AWSSDK_INSTALL_AS_SHARED_LIBS) +- set(AWSSDK_INSTALL_LIBDIR "${AWSSDK_INSTALL_BINDIR}") + # If installed CMake scripts are associated with dll library, define USE_IMPORT_EXPORT for customers + add_definitions(-DUSE_IMPORT_EXPORT) + endif() + + + # Compute the default installation root relative to this file. +-# from prefix/lib/cmake/AWSSDK/xx.cmake to prefix + get_filename_component(AWSSDK_DEFAULT_ROOT_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +-get_filename_component(AWSSDK_DEFAULT_ROOT_DIR "${AWSSDK_DEFAULT_ROOT_DIR}" PATH) + get_filename_component(AWSSDK_DEFAULT_ROOT_DIR "${AWSSDK_DEFAULT_ROOT_DIR}" PATH) + get_filename_component(AWSSDK_DEFAULT_ROOT_DIR "${AWSSDK_DEFAULT_ROOT_DIR}" PATH) + get_filename_component(AWS_NATIVE_SDK_ROOT "${CMAKE_CURRENT_SOURCE_DIR}" ABSOLUTE) diff --git a/ports/aws-sdk-cpp/fix-winsock-headers.patch b/ports/aws-sdk-cpp/fix-winsock-headers.patch new file mode 100644 index 000000000000..d83754655ec0 --- /dev/null +++ b/ports/aws-sdk-cpp/fix-winsock-headers.patch @@ -0,0 +1,14 @@ +diff --git a/src/aws-cpp-sdk-core/source/http/windows/WinHttpSyncHttpClient.cpp b/src/aws-cpp-sdk-core/source/http/windows/WinHttpSyncHttpClient.cpp +index b8ab519..7cd91e9 100644 +--- a/src/aws-cpp-sdk-core/source/http/windows/WinHttpSyncHttpClient.cpp ++++ b/src/aws-cpp-sdk-core/source/http/windows/WinHttpSyncHttpClient.cpp +@@ -19,6 +19,9 @@ + + #include + #include ++#ifdef __MINGW32__ ++#include ++#endif + #include // for tcp_keepalive + #include + #include diff --git a/ports/aws-sdk-cpp/fix_find_curl.patch b/ports/aws-sdk-cpp/fix_find_curl.patch new file mode 100644 index 000000000000..b33505265417 --- /dev/null +++ b/ports/aws-sdk-cpp/fix_find_curl.patch @@ -0,0 +1,31 @@ +diff --git a/cmake/external_dependencies.cmake b/cmake/external_dependencies.cmake +index acf16c0..3a49fb4 100644 +--- a/cmake/external_dependencies.cmake ++++ b/cmake/external_dependencies.cmake +@@ -80,23 +80,12 @@ if(NOT NO_HTTP_CLIENT AND NOT USE_CRT_HTTP_CLIENT) + set(BUILD_CURL 1) + message(STATUS " Building Curl as part of AWS SDK") + else() +- include(FindCURL) ++ find_package(CURL REQUIRED) + if(NOT CURL_FOUND) + message(FATAL_ERROR "Could not find curl") ++ else() ++ set(CURL_LIBRARIES CURL::libcurl) + endif() +- +- # When built from source using cmake, curl does not include +- # CURL_INCLUDE_DIRS or CURL_INCLUDE_DIRS so we need to use +- # find_package to fix it +- if ("${CURL_INCLUDE_DIRS}" STREQUAL "" AND "${CURL_LIBRARIES}" STREQUAL "") +- message(STATUS "Could not find curl include or library path, falling back to find with config.") +- find_package(CURL) +- set(CURL_LIBRARIES CURL::libcurl) +- else () +- message(STATUS " Curl include directory: ${CURL_INCLUDE_DIRS}") +- List(APPEND EXTERNAL_DEPS_INCLUDE_DIRS ${CURL_INCLUDE_DIRS}) +- set(CLIENT_LIBS ${CURL_LIBRARIES}) +- endif () + set(CLIENT_LIBS_ABSTRACT_NAME curl) + message(STATUS " Curl target link: ${CURL_LIBRARIES}") + endif() diff --git a/ports/aws-sdk-cpp/generateFeatures.ps1 b/ports/aws-sdk-cpp/generateFeatures.ps1 new file mode 100644 index 000000000000..299ef13583d6 --- /dev/null +++ b/ports/aws-sdk-cpp/generateFeatures.ps1 @@ -0,0 +1,73 @@ +[CmdletBinding()] +param( + [Parameter(Mandatory=$true)][string]$SourcesRef, + [Parameter(Mandatory=$false)][string]$PortDirectory = $PSScriptRoot, + [Parameter(Mandatory=$false)][string]$vcpkg = "$PSScriptRoot/../../vcpkg" +) + +$ErrorActionPreference = "Stop" + +$ManifestIn = "$PortDirectory/vcpkg.in.json" +$ManifestOut = "$PortDirectory/vcpkg.json" + +$ExtractedSources = "${env:TEMP}/aws-sdk-cpp-generateFeatures-$SourcesRef" +if (-not (Test-Path $ExtractedSources)) { + if (Test-Path "$ExtractedSources.tmp") { + Remove-Item -Force "$ExtractedSources.tmp" + } + git clone --depth=1 "https://github.com/aws/aws-sdk-cpp" "$ExtractedSources.tmp" | Out-Host + git -c "$ExtractedSources.tmp" checkout $SourcesRef + Move-Item "$ExtractedSources.tmp" "$ExtractedSources" +} +Write-Host "Using sources directory: $ExtractedSources" + + +$subfolders = Get-ChildItem -Path "$ExtractedSources\generated\src\aws-cpp-sdk-*", "$ExtractedSources\src\aws-cpp-sdk*" | Sort-Object -Property Name + +$manifest = Get-Content $ManifestIn | ConvertFrom-Json +$manifest | Add-Member ` + -NotePropertyName '$note' ` + -NotePropertyValue 'Automatically generated by generateFeatures.ps1' +$manifest | Add-Member -NotePropertyName 'features' -NotePropertyValue @{} + +function GetDescription($dir, $modulename) +{ + if (Test-Path "$dir\CMakeLists.txt") + { + $descs = @(Select-String -Path "$dir\CMakeLists.txt" -Pattern "`"C\+\+ SDK for the AWS [^`"]*`"") + if ($descs.count -eq 1) { + $desc = $descs[0].Matches.Value -replace "`"","" + "$desc" + } + else { "C++ SDK for the AWS $modulename service" } + } + else { "C++ SDK for the AWS $modulename service" } +} + +$featureDependencies = @{} +Select-String -Path "$ExtractedSources\cmake\sdksCommon.cmake" -Pattern "list\(APPEND SDK_DEPENDENCY_LIST `"([\w-]+):([\w-,]+)`"\)" -AllMatches ` +| ForEach-Object { $_.Matches } ` +| ForEach-Object { $featureDependencies[$_.Groups[1].Value] = @($_.Groups[2].Value -split "," ` +| Where-Object { $_ -ne "core" }) } + +foreach ($subfolder in $subfolders) +{ + $modulename = $subfolder.name -replace "^aws-cpp-sdk-","" + if ($modulename -match "-tests`$") { continue } + if ($modulename -match "-sample`$") { continue } + if ($modulename -eq "core") { continue } + + $lowermodulename = $modulename.ToLower() + + $featureObj = @{ description = (GetDescription $subfolder $modulename) } + + if ($featureDependencies.ContainsKey($lowermodulename)) { + $featureObj.dependencies = ,@{ name = "aws-sdk-cpp"; "default-features" = $false; "features" = $featureDependencies[$lowermodulename] } + } + + $manifest.features.Add("$lowermodulename", $featureObj) +} + +[IO.File]::WriteAllText($ManifestOut, (ConvertTo-Json -Depth 10 -InputObject $manifest)) + +& $vcpkg format-manifest --feature-flags=-manifests $ManifestOut diff --git a/ports/aws-sdk-cpp/lock-curl-http-and-tls-settings.patch b/ports/aws-sdk-cpp/lock-curl-http-and-tls-settings.patch new file mode 100644 index 000000000000..0f7a3b191830 --- /dev/null +++ b/ports/aws-sdk-cpp/lock-curl-http-and-tls-settings.patch @@ -0,0 +1,20 @@ +diff --git a/src/aws-cpp-sdk-core/CMakeLists.txt b/src/aws-cpp-sdk-core/CMakeLists.txt +index c44546b0e..b66888362 100644 +--- a/src/aws-cpp-sdk-core/CMakeLists.txt ++++ b/src/aws-cpp-sdk-core/CMakeLists.txt +@@ -113,13 +113,8 @@ if(ENABLE_CURL_CLIENT) + int main() { + CURL* handle = curl_easy_init(); + return curl_easy_setopt(handle, CURLOPT_PROXY_SSLCERT, \"client.pem\"); }") +- if (CMAKE_CROSSCOMPILING) +- check_c_source_compiles("${CHECK_CURL_HAS_H2}" CURL_HAS_H2) +- check_c_source_compiles("${CHECK_CURL_HAS_TLS_PROXY}" CURL_HAS_TLS_PROXY) +- else() +- check_c_source_runs("${CHECK_CURL_HAS_H2}" CURL_HAS_H2) +- check_c_source_runs("${CHECK_CURL_HAS_TLS_PROXY}" CURL_HAS_TLS_PROXY) +- endif() ++ set(CURL_HAS_H2 OFF) ++ set(CURL_HAS_TLS_PROXY ON) + elseif(ENABLE_WINDOWS_CLIENT) + # NOTE: HTTP/2 is not supported when using IXML_HTTP_REQUEST_2 + if(USE_IXML_HTTP_REQUEST_2) diff --git a/ports/aws-sdk-cpp/no-test-deps.patch b/ports/aws-sdk-cpp/no-test-deps.patch new file mode 100644 index 000000000000..167bccbb5ffc --- /dev/null +++ b/ports/aws-sdk-cpp/no-test-deps.patch @@ -0,0 +1,25 @@ +diff --git a/cmake/sdks.cmake b/cmake/sdks.cmake +index 75283cdd1b6..71d383e3323 100644 +--- a/cmake/sdks.cmake ++++ b/cmake/sdks.cmake +@@ -34,12 +34,14 @@ if(BUILD_ONLY) + endforeach() + endif() + +- get_dependencies_for_test(${TARGET} DEPENDENCY_LIST) +- if(DEPENDENCY_LIST) +- STRING(REPLACE "," ";" LIST_RESULT ${DEPENDENCY_LIST}) +- foreach(DEPENDENCY IN LISTS LIST_RESULT) +- list(APPEND SDK_DEPENDENCY_BUILD_LIST ${DEPENDENCY}) +- endforeach() ++ if(ENABLE_TESTING) ++ get_dependencies_for_test(${TARGET} DEPENDENCY_LIST) ++ if(DEPENDENCY_LIST) ++ STRING(REPLACE "," ";" LIST_RESULT ${DEPENDENCY_LIST}) ++ foreach(DEPENDENCY IN LISTS LIST_RESULT) ++ list(APPEND SDK_DEPENDENCY_BUILD_LIST ${DEPENDENCY}) ++ endforeach() ++ endif() + endif() + endforeach() + LIST(REMOVE_DUPLICATES SDK_BUILD_LIST) diff --git a/ports/aws-sdk-cpp/portfile.cmake b/ports/aws-sdk-cpp/portfile.cmake new file mode 100644 index 000000000000..05d281781b4f --- /dev/null +++ b/ports/aws-sdk-cpp/portfile.cmake @@ -0,0 +1,104 @@ +vcpkg_buildpath_length_warning(37) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO aws/aws-sdk-cpp + REF "${VERSION}" + SHA512 cdf2878d573398d65a20ce65d994552489ec06630e7db7db561f2e662d052d77c75395efc23445a610150817ac7db3eaaa66a42f4af6c7cee76216b04ce63dc7 + PATCHES + fix-aws-root.patch + lock-curl-http-and-tls-settings.patch + fix_find_curl.patch + find-dependency.patch + fix-winsock-headers.patch # In MinGW, mstcpip.h references types from headers it does not include itself. + no-test-deps.patch # https://github.com/aws/aws-sdk-cpp/pull/3061 +) + +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "dynamic" FORCE_SHARED_CRT) + +set(EXTRA_ARGS "") +if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS) + set(rpath "@loader_path") +elseif (VCPKG_TARGET_IS_ANDROID) + set(EXTRA_ARGS "-DTARGET_ARCH=ANDROID" + "-DGIT_EXECUTABLE=--invalid-git-executable--" + "-DGIT_FOUND=TRUE" + "-DNDK_DIR=$ENV{ANDROID_NDK_HOME}" + "-DANDROID_BUILD_ZLIB=FALSE" + "-DANDROID_BUILD_CURL=FALSE" + "-DANDROID_BUILD_OPENSSL=FALSE" + ) +else() + set(rpath "\$ORIGIN") +endif() + +string(REPLACE "awsmigrationhub" "AWSMigrationHub" targets "${FEATURES}") +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE + OPTIONS + ${EXTRA_ARGS} + "-DENABLE_UNITY_BUILD=ON" + "-DENABLE_TESTING=OFF" + "-DFORCE_SHARED_CRT=${FORCE_SHARED_CRT}" + "-DBUILD_ONLY=${targets}" + "-DBUILD_DEPS=OFF" + "-DBUILD_SHARED_LIBS=OFF" + "-DAWS_SDK_WARNINGS_ARE_ERRORS=OFF" + "-DCMAKE_INSTALL_RPATH=${rpath}" + "-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/aws-c-common" # use extra cmake files +) +vcpkg_cmake_install() + +foreach(TARGET IN LISTS targets) + string(TOLOWER "aws-cpp-sdk-${TARGET}" package) + vcpkg_cmake_config_fixup(PACKAGE_NAME "${package}" CONFIG_PATH "lib/cmake/aws-cpp-sdk-${TARGET}" DO_NOT_DELETE_PARENT_CONFIG_PATH) +endforeach() +vcpkg_cmake_config_fixup(PACKAGE_NAME "awssdk" CONFIG_PATH "lib/cmake/AWSSDK") + +vcpkg_copy_pdbs() + +file(GLOB_RECURSE AWS_TARGETS "${CURRENT_PACKAGES_DIR}/share/*/*-targets-*.cmake") +foreach(AWS_TARGET IN LISTS AWS_TARGETS) + file(READ ${AWS_TARGET} _contents) + string(REGEX REPLACE + "bin\\/([A-Za-z0-9_.-]+\\.lib)" + "lib/\\1" + _contents "${_contents}") + file(WRITE ${AWS_TARGET} "${_contents}") +endforeach() + +file(GLOB AWS_CONFIGS "${CURRENT_PACKAGES_DIR}/share/*/aws-cpp-sdk-*-config.cmake") +list(FILTER AWS_CONFIGS EXCLUDE REGEX "aws-cpp-sdk-core-config\\.cmake\$") +foreach(AWS_CONFIG IN LISTS AWS_CONFIGS) + file(READ "${AWS_CONFIG}" _contents) + file(WRITE "${AWS_CONFIG}" "include(CMakeFindDependencyMacro)\nfind_dependency(aws-cpp-sdk-core)\n${_contents}") +endforeach() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/lib/pkgconfig" + "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig" + "${CURRENT_PACKAGES_DIR}/nuget" + "${CURRENT_PACKAGES_DIR}/debug/nuget" +) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + file(GLOB LIB_FILES ${CURRENT_PACKAGES_DIR}/bin/*.lib) + if(LIB_FILES) + file(COPY ${LIB_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + file(REMOVE ${LIB_FILES}) + endif() + file(GLOB DEBUG_LIB_FILES ${CURRENT_PACKAGES_DIR}/debug/bin/*.lib) + if(DEBUG_LIB_FILES) + file(COPY ${DEBUG_LIB_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + file(REMOVE ${DEBUG_LIB_FILES}) + endif() + + file(APPEND "${CURRENT_PACKAGES_DIR}/include/aws/core/SDKConfig.h" "#ifndef USE_IMPORT_EXPORT\n#define USE_IMPORT_EXPORT\n#endif") +endif() + +configure_file("${CURRENT_PORT_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" @ONLY) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/aws-sdk-cpp/usage b/ports/aws-sdk-cpp/usage new file mode 100644 index 000000000000..37e1f617b2cb --- /dev/null +++ b/ports/aws-sdk-cpp/usage @@ -0,0 +1,12 @@ +The package @PORT@:@TARGET_TRIPLET@ provides CMake targets: + + When using AWSSDK, AWSSDK_ROOT_DIR must be defined by the user. + find_package(AWSSDK CONFIG COMPONENTS core dynamodb kinesis s3 REQUIRED) + target_include_directories(main PRIVATE ${AWSSDK_INCLUDE_DIRS}) + target_link_libraries(main PRIVATE ${AWSSDK_LIBRARIES}) + + OR + + find_package(aws-cpp-sdk-core REQUIRED) + target_include_directories(main PRIVATE aws-cpp-sdk-core) + target_link_libraries(main PRIVATE aws-cpp-sdk-core) diff --git a/ports/aws-sdk-cpp/vcpkg.in.json b/ports/aws-sdk-cpp/vcpkg.in.json new file mode 100644 index 000000000000..e71d1612b2ca --- /dev/null +++ b/ports/aws-sdk-cpp/vcpkg.in.json @@ -0,0 +1,37 @@ +{ + "name": "aws-sdk-cpp", + "version": "1.11.352", + "description": "AWS SDK for C++", + "homepage": "https://github.com/aws/aws-sdk-cpp", + "license": "Apache-2.0", + "supports": "!(windows & arm) & !uwp", + "dependencies": [ + "aws-crt-cpp", + { + "name": "curl", + "default-features": false, + "features": [ + "ssl" + ], + "platform": "!uwp & !windows" + }, + { + "name": "openssl", + "platform": "!uwp & !windows" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" + ], + "default-features": [ + "dynamodb", + "kinesis", + "s3" + ] +} diff --git a/ports/aws-sdk-cpp/vcpkg.json b/ports/aws-sdk-cpp/vcpkg.json new file mode 100644 index 000000000000..4d3b5eadca1e --- /dev/null +++ b/ports/aws-sdk-cpp/vcpkg.json @@ -0,0 +1,1276 @@ +{ + "$note": "Automatically generated by generateFeatures.ps1", + "name": "aws-sdk-cpp", + "version": "1.11.352", + "description": "AWS SDK for C++", + "homepage": "https://github.com/aws/aws-sdk-cpp", + "license": "Apache-2.0", + "supports": "!(windows & arm) & !uwp", + "dependencies": [ + "aws-crt-cpp", + { + "name": "curl", + "default-features": false, + "features": [ + "ssl" + ], + "platform": "!uwp & !windows" + }, + { + "name": "openssl", + "platform": "!uwp & !windows" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" + ], + "default-features": [ + "dynamodb", + "kinesis", + "s3" + ], + "features": { + "access-management": { + "description": "C++ SDK for the AWS access-management service", + "dependencies": [ + { + "name": "aws-sdk-cpp", + "default-features": false, + "features": [ + "cognito-identity", + "iam" + ] + } + ] + }, + "accessanalyzer": { + "description": "C++ SDK for the AWS accessanalyzer service" + }, + "account": { + "description": "C++ SDK for the AWS account service" + }, + "acm": { + "description": "C++ SDK for the AWS acm service" + }, + "acm-pca": { + "description": "C++ SDK for the AWS acm-pca service" + }, + "amp": { + "description": "C++ SDK for the AWS amp service" + }, + "amplify": { + "description": "C++ SDK for the AWS amplify service" + }, + "amplifybackend": { + "description": "C++ SDK for the AWS amplifybackend service" + }, + "amplifyuibuilder": { + "description": "C++ SDK for the AWS amplifyuibuilder service" + }, + "apigateway": { + "description": "C++ SDK for the AWS apigateway service" + }, + "apigatewaymanagementapi": { + "description": "C++ SDK for the AWS apigatewaymanagementapi service" + }, + "apigatewayv2": { + "description": "C++ SDK for the AWS apigatewayv2 service" + }, + "appconfig": { + "description": "C++ SDK for the AWS appconfig service" + }, + "appconfigdata": { + "description": "C++ SDK for the AWS appconfigdata service" + }, + "appfabric": { + "description": "C++ SDK for the AWS appfabric service" + }, + "appflow": { + "description": "C++ SDK for the AWS appflow service" + }, + "appintegrations": { + "description": "C++ SDK for the AWS appintegrations service" + }, + "application-autoscaling": { + "description": "C++ SDK for the AWS application-autoscaling service" + }, + "application-insights": { + "description": "C++ SDK for the AWS application-insights service" + }, + "application-signals": { + "description": "C++ SDK for the AWS application-signals service" + }, + "applicationcostprofiler": { + "description": "C++ SDK for the AWS applicationcostprofiler service" + }, + "appmesh": { + "description": "C++ SDK for the AWS appmesh service" + }, + "apprunner": { + "description": "C++ SDK for the AWS apprunner service" + }, + "appstream": { + "description": "C++ SDK for the AWS appstream service" + }, + "appsync": { + "description": "C++ SDK for the AWS appsync service" + }, + "apptest": { + "description": "C++ SDK for the AWS apptest service" + }, + "arc-zonal-shift": { + "description": "C++ SDK for the AWS arc-zonal-shift service" + }, + "artifact": { + "description": "C++ SDK for the AWS artifact service" + }, + "athena": { + "description": "C++ SDK for the AWS athena service" + }, + "auditmanager": { + "description": "C++ SDK for the AWS auditmanager service" + }, + "autoscaling": { + "description": "C++ SDK for the AWS autoscaling service" + }, + "autoscaling-plans": { + "description": "C++ SDK for the AWS autoscaling-plans service" + }, + "awsmigrationhub": { + "description": "C++ SDK for the AWS AWSMigrationHub service" + }, + "awstransfer": { + "description": "C++ SDK for the AWS awstransfer service" + }, + "b2bi": { + "description": "C++ SDK for the AWS b2bi service" + }, + "backup": { + "description": "C++ SDK for the AWS backup service" + }, + "backup-gateway": { + "description": "C++ SDK for the AWS backup-gateway service" + }, + "batch": { + "description": "C++ SDK for the AWS batch service" + }, + "bcm-data-exports": { + "description": "C++ SDK for the AWS bcm-data-exports service" + }, + "bedrock": { + "description": "C++ SDK for the AWS bedrock service" + }, + "bedrock-agent": { + "description": "C++ SDK for the AWS bedrock-agent service" + }, + "bedrock-agent-runtime": { + "description": "C++ SDK for the AWS bedrock-agent-runtime service" + }, + "bedrock-runtime": { + "description": "C++ SDK for the AWS bedrock-runtime service" + }, + "billingconductor": { + "description": "C++ SDK for the AWS billingconductor service" + }, + "braket": { + "description": "C++ SDK for the AWS braket service" + }, + "budgets": { + "description": "C++ SDK for the AWS budgets service" + }, + "ce": { + "description": "C++ SDK for the AWS ce service" + }, + "chatbot": { + "description": "C++ SDK for the AWS chatbot service" + }, + "chime": { + "description": "C++ SDK for the AWS chime service" + }, + "chime-sdk-identity": { + "description": "C++ SDK for the AWS chime-sdk-identity service" + }, + "chime-sdk-media-pipelines": { + "description": "C++ SDK for the AWS chime-sdk-media-pipelines service" + }, + "chime-sdk-meetings": { + "description": "C++ SDK for the AWS chime-sdk-meetings service" + }, + "chime-sdk-messaging": { + "description": "C++ SDK for the AWS chime-sdk-messaging service" + }, + "chime-sdk-voice": { + "description": "C++ SDK for the AWS chime-sdk-voice service" + }, + "cleanrooms": { + "description": "C++ SDK for the AWS cleanrooms service" + }, + "cleanroomsml": { + "description": "C++ SDK for the AWS cleanroomsml service" + }, + "cloud9": { + "description": "C++ SDK for the AWS cloud9 service" + }, + "cloudcontrol": { + "description": "C++ SDK for the AWS cloudcontrol service" + }, + "clouddirectory": { + "description": "C++ SDK for the AWS clouddirectory service" + }, + "cloudformation": { + "description": "C++ SDK for the AWS cloudformation service" + }, + "cloudfront": { + "description": "C++ SDK for the AWS cloudfront service" + }, + "cloudfront-keyvaluestore": { + "description": "C++ SDK for the AWS cloudfront-keyvaluestore service" + }, + "cloudhsm": { + "description": "C++ SDK for the AWS cloudhsm service" + }, + "cloudhsmv2": { + "description": "C++ SDK for the AWS cloudhsmv2 service" + }, + "cloudsearch": { + "description": "C++ SDK for the AWS cloudsearch service" + }, + "cloudsearchdomain": { + "description": "C++ SDK for the AWS cloudsearchdomain service" + }, + "cloudtrail": { + "description": "C++ SDK for the AWS cloudtrail service" + }, + "cloudtrail-data": { + "description": "C++ SDK for the AWS cloudtrail-data service" + }, + "codeartifact": { + "description": "C++ SDK for the AWS codeartifact service" + }, + "codebuild": { + "description": "C++ SDK for the AWS codebuild service" + }, + "codecatalyst": { + "description": "C++ SDK for the AWS codecatalyst service" + }, + "codecommit": { + "description": "C++ SDK for the AWS codecommit service" + }, + "codeconnections": { + "description": "C++ SDK for the AWS codeconnections service" + }, + "codedeploy": { + "description": "C++ SDK for the AWS codedeploy service" + }, + "codeguru-reviewer": { + "description": "C++ SDK for the AWS codeguru-reviewer service" + }, + "codeguru-security": { + "description": "C++ SDK for the AWS codeguru-security service" + }, + "codeguruprofiler": { + "description": "C++ SDK for the AWS codeguruprofiler service" + }, + "codepipeline": { + "description": "C++ SDK for the AWS codepipeline service" + }, + "codestar": { + "description": "C++ SDK for the AWS codestar service" + }, + "codestar-connections": { + "description": "C++ SDK for the AWS codestar-connections service" + }, + "codestar-notifications": { + "description": "C++ SDK for the AWS codestar-notifications service" + }, + "cognito-identity": { + "description": "C++ SDK for the AWS cognito-identity service" + }, + "cognito-idp": { + "description": "C++ SDK for the AWS cognito-idp service" + }, + "cognito-sync": { + "description": "C++ SDK for the AWS cognito-sync service" + }, + "comprehend": { + "description": "C++ SDK for the AWS comprehend service" + }, + "comprehendmedical": { + "description": "C++ SDK for the AWS comprehendmedical service" + }, + "compute-optimizer": { + "description": "C++ SDK for the AWS compute-optimizer service" + }, + "config": { + "description": "C++ SDK for the AWS config service" + }, + "connect": { + "description": "C++ SDK for the AWS connect service" + }, + "connect-contact-lens": { + "description": "C++ SDK for the AWS connect-contact-lens service" + }, + "connectcampaigns": { + "description": "C++ SDK for the AWS connectcampaigns service" + }, + "connectcases": { + "description": "C++ SDK for the AWS connectcases service" + }, + "connectparticipant": { + "description": "C++ SDK for the AWS connectparticipant service" + }, + "controlcatalog": { + "description": "C++ SDK for the AWS controlcatalog service" + }, + "controltower": { + "description": "C++ SDK for the AWS controltower service" + }, + "cost-optimization-hub": { + "description": "C++ SDK for the AWS cost-optimization-hub service" + }, + "cur": { + "description": "C++ SDK for the AWS cur service" + }, + "customer-profiles": { + "description": "C++ SDK for the AWS customer-profiles service" + }, + "databrew": { + "description": "C++ SDK for the AWS databrew service" + }, + "dataexchange": { + "description": "C++ SDK for the AWS dataexchange service" + }, + "datapipeline": { + "description": "C++ SDK for the AWS datapipeline service" + }, + "datasync": { + "description": "C++ SDK for the AWS datasync service" + }, + "datazone": { + "description": "C++ SDK for the AWS datazone service" + }, + "dax": { + "description": "C++ SDK for the AWS dax service" + }, + "deadline": { + "description": "C++ SDK for the AWS deadline service" + }, + "detective": { + "description": "C++ SDK for the AWS detective service" + }, + "devicefarm": { + "description": "C++ SDK for the AWS devicefarm service" + }, + "devops-guru": { + "description": "C++ SDK for the AWS devops-guru service" + }, + "directconnect": { + "description": "C++ SDK for the AWS directconnect service" + }, + "discovery": { + "description": "C++ SDK for the AWS discovery service" + }, + "dlm": { + "description": "C++ SDK for the AWS dlm service" + }, + "dms": { + "description": "C++ SDK for the AWS dms service" + }, + "docdb": { + "description": "C++ SDK for the AWS docdb service" + }, + "docdb-elastic": { + "description": "C++ SDK for the AWS docdb-elastic service" + }, + "drs": { + "description": "C++ SDK for the AWS drs service" + }, + "ds": { + "description": "C++ SDK for the AWS ds service" + }, + "dynamodb": { + "description": "C++ SDK for the AWS dynamodb service" + }, + "dynamodbstreams": { + "description": "C++ SDK for the AWS dynamodbstreams service" + }, + "ebs": { + "description": "C++ SDK for the AWS ebs service" + }, + "ec2": { + "description": "C++ SDK for the AWS ec2 service" + }, + "ec2-instance-connect": { + "description": "C++ SDK for the AWS ec2-instance-connect service" + }, + "ecr": { + "description": "C++ SDK for the AWS ecr service" + }, + "ecr-public": { + "description": "C++ SDK for the AWS ecr-public service" + }, + "ecs": { + "description": "C++ SDK for the AWS ecs service" + }, + "eks": { + "description": "C++ SDK for the AWS eks service" + }, + "eks-auth": { + "description": "C++ SDK for the AWS eks-auth service" + }, + "elastic-inference": { + "description": "C++ SDK for the AWS elastic-inference service" + }, + "elasticache": { + "description": "C++ SDK for the AWS elasticache service" + }, + "elasticbeanstalk": { + "description": "C++ SDK for the AWS elasticbeanstalk service" + }, + "elasticfilesystem": { + "description": "C++ SDK for the AWS elasticfilesystem service" + }, + "elasticloadbalancing": { + "description": "C++ SDK for the AWS elasticloadbalancing service" + }, + "elasticloadbalancingv2": { + "description": "C++ SDK for the AWS elasticloadbalancingv2 service" + }, + "elasticmapreduce": { + "description": "C++ SDK for the AWS elasticmapreduce service" + }, + "elastictranscoder": { + "description": "C++ SDK for the AWS elastictranscoder service" + }, + "email": { + "description": "C++ SDK for the AWS email service" + }, + "emr-containers": { + "description": "C++ SDK for the AWS emr-containers service" + }, + "emr-serverless": { + "description": "C++ SDK for the AWS emr-serverless service" + }, + "entityresolution": { + "description": "C++ SDK for the AWS entityresolution service" + }, + "es": { + "description": "C++ SDK for the AWS es service" + }, + "eventbridge": { + "description": "C++ SDK for the AWS eventbridge service" + }, + "events": { + "description": "C++ SDK for the AWS events service" + }, + "evidently": { + "description": "C++ SDK for the AWS evidently service" + }, + "finspace": { + "description": "C++ SDK for the AWS finspace service" + }, + "finspace-data": { + "description": "C++ SDK for the AWS finspace-data service" + }, + "firehose": { + "description": "C++ SDK for the AWS firehose service" + }, + "fis": { + "description": "C++ SDK for the AWS fis service" + }, + "fms": { + "description": "C++ SDK for the AWS fms service" + }, + "forecast": { + "description": "C++ SDK for the AWS forecast service" + }, + "forecastquery": { + "description": "C++ SDK for the AWS forecastquery service" + }, + "frauddetector": { + "description": "C++ SDK for the AWS frauddetector service" + }, + "freetier": { + "description": "C++ SDK for the AWS freetier service" + }, + "fsx": { + "description": "C++ SDK for the AWS fsx service" + }, + "gamelift": { + "description": "C++ SDK for the AWS gamelift service" + }, + "glacier": { + "description": "C++ SDK for the AWS glacier service" + }, + "globalaccelerator": { + "description": "C++ SDK for the AWS globalaccelerator service" + }, + "glue": { + "description": "C++ SDK for the AWS glue service" + }, + "grafana": { + "description": "C++ SDK for the AWS grafana service" + }, + "greengrass": { + "description": "C++ SDK for the AWS greengrass service" + }, + "greengrassv2": { + "description": "C++ SDK for the AWS greengrassv2 service" + }, + "groundstation": { + "description": "C++ SDK for the AWS groundstation service" + }, + "guardduty": { + "description": "C++ SDK for the AWS guardduty service" + }, + "health": { + "description": "C++ SDK for the AWS health service" + }, + "healthlake": { + "description": "C++ SDK for the AWS healthlake service" + }, + "iam": { + "description": "C++ SDK for the AWS iam service" + }, + "identity-management": { + "description": "C++ SDK for the AWS identity-management service", + "dependencies": [ + { + "name": "aws-sdk-cpp", + "default-features": false, + "features": [ + "cognito-identity", + "sts" + ] + } + ] + }, + "identitystore": { + "description": "C++ SDK for the AWS identitystore service" + }, + "imagebuilder": { + "description": "C++ SDK for the AWS imagebuilder service" + }, + "importexport": { + "description": "C++ SDK for the AWS importexport service" + }, + "inspector": { + "description": "C++ SDK for the AWS inspector service" + }, + "inspector-scan": { + "description": "C++ SDK for the AWS inspector-scan service" + }, + "inspector2": { + "description": "C++ SDK for the AWS inspector2 service" + }, + "internetmonitor": { + "description": "C++ SDK for the AWS internetmonitor service" + }, + "iot": { + "description": "C++ SDK for the AWS iot service" + }, + "iot-data": { + "description": "C++ SDK for the AWS iot-data service" + }, + "iot-jobs-data": { + "description": "C++ SDK for the AWS iot-jobs-data service" + }, + "iot1click-devices": { + "description": "C++ SDK for the AWS iot1click-devices service" + }, + "iot1click-projects": { + "description": "C++ SDK for the AWS iot1click-projects service" + }, + "iotanalytics": { + "description": "C++ SDK for the AWS iotanalytics service" + }, + "iotdeviceadvisor": { + "description": "C++ SDK for the AWS iotdeviceadvisor service" + }, + "iotevents": { + "description": "C++ SDK for the AWS iotevents service" + }, + "iotevents-data": { + "description": "C++ SDK for the AWS iotevents-data service" + }, + "iotfleethub": { + "description": "C++ SDK for the AWS iotfleethub service" + }, + "iotfleetwise": { + "description": "C++ SDK for the AWS iotfleetwise service" + }, + "iotsecuretunneling": { + "description": "C++ SDK for the AWS iotsecuretunneling service" + }, + "iotsitewise": { + "description": "C++ SDK for the AWS iotsitewise service" + }, + "iotthingsgraph": { + "description": "C++ SDK for the AWS iotthingsgraph service" + }, + "iottwinmaker": { + "description": "C++ SDK for the AWS iottwinmaker service" + }, + "iotwireless": { + "description": "C++ SDK for the AWS iotwireless service" + }, + "ivs": { + "description": "C++ SDK for the AWS ivs service" + }, + "ivs-realtime": { + "description": "C++ SDK for the AWS ivs-realtime service" + }, + "ivschat": { + "description": "C++ SDK for the AWS ivschat service" + }, + "kafka": { + "description": "C++ SDK for the AWS kafka service" + }, + "kafkaconnect": { + "description": "C++ SDK for the AWS kafkaconnect service" + }, + "kendra": { + "description": "C++ SDK for the AWS kendra service" + }, + "kendra-ranking": { + "description": "C++ SDK for the AWS kendra-ranking service" + }, + "keyspaces": { + "description": "C++ SDK for the AWS keyspaces service" + }, + "kinesis": { + "description": "C++ SDK for the AWS kinesis service" + }, + "kinesis-video-archived-media": { + "description": "C++ SDK for the AWS kinesis-video-archived-media service" + }, + "kinesis-video-media": { + "description": "C++ SDK for the AWS kinesis-video-media service" + }, + "kinesis-video-signaling": { + "description": "C++ SDK for the AWS kinesis-video-signaling service" + }, + "kinesis-video-webrtc-storage": { + "description": "C++ SDK for the AWS kinesis-video-webrtc-storage service" + }, + "kinesisanalytics": { + "description": "C++ SDK for the AWS kinesisanalytics service" + }, + "kinesisanalyticsv2": { + "description": "C++ SDK for the AWS kinesisanalyticsv2 service" + }, + "kinesisvideo": { + "description": "C++ SDK for the AWS kinesisvideo service" + }, + "kms": { + "description": "C++ SDK for the AWS kms service" + }, + "lakeformation": { + "description": "C++ SDK for the AWS lakeformation service" + }, + "lambda": { + "description": "C++ SDK for the AWS lambda service" + }, + "launch-wizard": { + "description": "C++ SDK for the AWS launch-wizard service" + }, + "lex": { + "description": "C++ SDK for the AWS lex service" + }, + "lex-models": { + "description": "C++ SDK for the AWS lex-models service" + }, + "lexv2-models": { + "description": "C++ SDK for the AWS lexv2-models service" + }, + "lexv2-runtime": { + "description": "C++ SDK for the AWS lexv2-runtime service" + }, + "license-manager": { + "description": "C++ SDK for the AWS license-manager service" + }, + "license-manager-linux-subscriptions": { + "description": "C++ SDK for the AWS license-manager-linux-subscriptions service" + }, + "license-manager-user-subscriptions": { + "description": "C++ SDK for the AWS license-manager-user-subscriptions service" + }, + "lightsail": { + "description": "C++ SDK for the AWS lightsail service" + }, + "location": { + "description": "C++ SDK for the AWS location service" + }, + "logs": { + "description": "C++ SDK for the AWS logs service" + }, + "lookoutequipment": { + "description": "C++ SDK for the AWS lookoutequipment service" + }, + "lookoutmetrics": { + "description": "C++ SDK for the AWS lookoutmetrics service" + }, + "lookoutvision": { + "description": "C++ SDK for the AWS lookoutvision service" + }, + "m2": { + "description": "C++ SDK for the AWS m2 service" + }, + "machinelearning": { + "description": "C++ SDK for the AWS machinelearning service" + }, + "macie2": { + "description": "C++ SDK for the AWS macie2 service" + }, + "mailmanager": { + "description": "C++ SDK for the AWS mailmanager service" + }, + "managedblockchain": { + "description": "C++ SDK for the AWS managedblockchain service" + }, + "managedblockchain-query": { + "description": "C++ SDK for the AWS managedblockchain-query service" + }, + "marketplace-agreement": { + "description": "C++ SDK for the AWS marketplace-agreement service" + }, + "marketplace-catalog": { + "description": "C++ SDK for the AWS marketplace-catalog service" + }, + "marketplace-deployment": { + "description": "C++ SDK for the AWS marketplace-deployment service" + }, + "marketplace-entitlement": { + "description": "C++ SDK for the AWS marketplace-entitlement service" + }, + "marketplacecommerceanalytics": { + "description": "C++ SDK for the AWS marketplacecommerceanalytics service" + }, + "mediaconnect": { + "description": "C++ SDK for the AWS mediaconnect service" + }, + "mediaconvert": { + "description": "C++ SDK for the AWS mediaconvert service" + }, + "medialive": { + "description": "C++ SDK for the AWS medialive service" + }, + "mediapackage": { + "description": "C++ SDK for the AWS mediapackage service" + }, + "mediapackage-vod": { + "description": "C++ SDK for the AWS mediapackage-vod service" + }, + "mediapackagev2": { + "description": "C++ SDK for the AWS mediapackagev2 service" + }, + "mediastore": { + "description": "C++ SDK for the AWS mediastore service" + }, + "mediastore-data": { + "description": "C++ SDK for the AWS mediastore-data service" + }, + "mediatailor": { + "description": "C++ SDK for the AWS mediatailor service" + }, + "medical-imaging": { + "description": "C++ SDK for the AWS medical-imaging service" + }, + "memorydb": { + "description": "C++ SDK for the AWS memorydb service" + }, + "meteringmarketplace": { + "description": "C++ SDK for the AWS meteringmarketplace service" + }, + "mgn": { + "description": "C++ SDK for the AWS mgn service" + }, + "migration-hub-refactor-spaces": { + "description": "C++ SDK for the AWS migration-hub-refactor-spaces service" + }, + "migrationhub-config": { + "description": "C++ SDK for the AWS migrationhub-config service" + }, + "migrationhuborchestrator": { + "description": "C++ SDK for the AWS migrationhuborchestrator service" + }, + "migrationhubstrategy": { + "description": "C++ SDK for the AWS migrationhubstrategy service" + }, + "mobile": { + "description": "C++ SDK for the AWS mobile service" + }, + "monitoring": { + "description": "C++ SDK for the AWS monitoring service" + }, + "mq": { + "description": "C++ SDK for the AWS mq service" + }, + "mturk-requester": { + "description": "C++ SDK for the AWS mturk-requester service" + }, + "mwaa": { + "description": "C++ SDK for the AWS mwaa service" + }, + "neptune": { + "description": "C++ SDK for the AWS neptune service" + }, + "neptune-graph": { + "description": "C++ SDK for the AWS neptune-graph service" + }, + "neptunedata": { + "description": "C++ SDK for the AWS neptunedata service" + }, + "network-firewall": { + "description": "C++ SDK for the AWS network-firewall service" + }, + "networkmanager": { + "description": "C++ SDK for the AWS networkmanager service" + }, + "networkmonitor": { + "description": "C++ SDK for the AWS networkmonitor service" + }, + "nimble": { + "description": "C++ SDK for the AWS nimble service" + }, + "oam": { + "description": "C++ SDK for the AWS oam service" + }, + "omics": { + "description": "C++ SDK for the AWS omics service" + }, + "opensearch": { + "description": "C++ SDK for the AWS opensearch service" + }, + "opensearchserverless": { + "description": "C++ SDK for the AWS opensearchserverless service" + }, + "opsworks": { + "description": "C++ SDK for the AWS opsworks service" + }, + "opsworkscm": { + "description": "C++ SDK for the AWS opsworkscm service" + }, + "organizations": { + "description": "C++ SDK for the AWS organizations service" + }, + "osis": { + "description": "C++ SDK for the AWS osis service" + }, + "outposts": { + "description": "C++ SDK for the AWS outposts service" + }, + "panorama": { + "description": "C++ SDK for the AWS panorama service" + }, + "payment-cryptography": { + "description": "C++ SDK for the AWS payment-cryptography service" + }, + "payment-cryptography-data": { + "description": "C++ SDK for the AWS payment-cryptography-data service" + }, + "pca-connector-ad": { + "description": "C++ SDK for the AWS pca-connector-ad service" + }, + "pca-connector-scep": { + "description": "C++ SDK for the AWS pca-connector-scep service" + }, + "personalize": { + "description": "C++ SDK for the AWS personalize service" + }, + "personalize-events": { + "description": "C++ SDK for the AWS personalize-events service" + }, + "personalize-runtime": { + "description": "C++ SDK for the AWS personalize-runtime service" + }, + "pi": { + "description": "C++ SDK for the AWS pi service" + }, + "pinpoint": { + "description": "C++ SDK for the AWS pinpoint service" + }, + "pinpoint-email": { + "description": "C++ SDK for the AWS pinpoint-email service" + }, + "pinpoint-sms-voice-v2": { + "description": "C++ SDK for the AWS pinpoint-sms-voice-v2 service" + }, + "pipes": { + "description": "C++ SDK for the AWS pipes service" + }, + "polly": { + "description": "C++ SDK for the AWS polly service" + }, + "pricing": { + "description": "C++ SDK for the AWS pricing service" + }, + "privatenetworks": { + "description": "C++ SDK for the AWS privatenetworks service" + }, + "proton": { + "description": "C++ SDK for the AWS proton service" + }, + "qbusiness": { + "description": "C++ SDK for the AWS qbusiness service" + }, + "qconnect": { + "description": "C++ SDK for the AWS qconnect service" + }, + "qldb": { + "description": "C++ SDK for the AWS qldb service" + }, + "qldb-session": { + "description": "C++ SDK for the AWS qldb-session service" + }, + "queues": { + "description": "C++ SDK for the AWS queues service", + "dependencies": [ + { + "name": "aws-sdk-cpp", + "default-features": false, + "features": [ + "sqs" + ] + } + ] + }, + "quicksight": { + "description": "C++ SDK for the AWS quicksight service" + }, + "ram": { + "description": "C++ SDK for the AWS ram service" + }, + "rbin": { + "description": "C++ SDK for the AWS rbin service" + }, + "rds": { + "description": "C++ SDK for the AWS rds service" + }, + "rds-data": { + "description": "C++ SDK for the AWS rds-data service" + }, + "redshift": { + "description": "C++ SDK for the AWS redshift service" + }, + "redshift-data": { + "description": "C++ SDK for the AWS redshift-data service" + }, + "redshift-serverless": { + "description": "C++ SDK for the AWS redshift-serverless service" + }, + "rekognition": { + "description": "C++ SDK for the AWS rekognition service" + }, + "repostspace": { + "description": "C++ SDK for the AWS repostspace service" + }, + "resiliencehub": { + "description": "C++ SDK for the AWS resiliencehub service" + }, + "resource-explorer-2": { + "description": "C++ SDK for the AWS resource-explorer-2 service" + }, + "resource-groups": { + "description": "C++ SDK for the AWS resource-groups service" + }, + "resourcegroupstaggingapi": { + "description": "C++ SDK for the AWS resourcegroupstaggingapi service" + }, + "robomaker": { + "description": "C++ SDK for the AWS robomaker service" + }, + "rolesanywhere": { + "description": "C++ SDK for the AWS rolesanywhere service" + }, + "route53": { + "description": "C++ SDK for the AWS route53 service" + }, + "route53-recovery-cluster": { + "description": "C++ SDK for the AWS route53-recovery-cluster service" + }, + "route53-recovery-control-config": { + "description": "C++ SDK for the AWS route53-recovery-control-config service" + }, + "route53-recovery-readiness": { + "description": "C++ SDK for the AWS route53-recovery-readiness service" + }, + "route53domains": { + "description": "C++ SDK for the AWS route53domains service" + }, + "route53profiles": { + "description": "C++ SDK for the AWS route53profiles service" + }, + "route53resolver": { + "description": "C++ SDK for the AWS route53resolver service" + }, + "rum": { + "description": "C++ SDK for the AWS rum service" + }, + "s3": { + "description": "C++ SDK for the AWS s3 service" + }, + "s3-crt": { + "description": "C++ SDK for the AWS s3-crt service" + }, + "s3-encryption": { + "description": "C++ SDK for the AWS s3-encryption service", + "dependencies": [ + { + "name": "aws-sdk-cpp", + "default-features": false, + "features": [ + "kms", + "s3" + ] + } + ] + }, + "s3control": { + "description": "C++ SDK for the AWS s3control service" + }, + "s3outposts": { + "description": "C++ SDK for the AWS s3outposts service" + }, + "sagemaker": { + "description": "C++ SDK for the AWS sagemaker service" + }, + "sagemaker-a2i-runtime": { + "description": "C++ SDK for the AWS sagemaker-a2i-runtime service" + }, + "sagemaker-edge": { + "description": "C++ SDK for the AWS sagemaker-edge service" + }, + "sagemaker-featurestore-runtime": { + "description": "C++ SDK for the AWS sagemaker-featurestore-runtime service" + }, + "sagemaker-geospatial": { + "description": "C++ SDK for the AWS sagemaker-geospatial service" + }, + "sagemaker-metrics": { + "description": "C++ SDK for the AWS sagemaker-metrics service" + }, + "sagemaker-runtime": { + "description": "C++ SDK for the AWS sagemaker-runtime service" + }, + "savingsplans": { + "description": "C++ SDK for the AWS savingsplans service" + }, + "scheduler": { + "description": "C++ SDK for the AWS scheduler service" + }, + "schemas": { + "description": "C++ SDK for the AWS schemas service" + }, + "sdb": { + "description": "C++ SDK for the AWS sdb service" + }, + "secretsmanager": { + "description": "C++ SDK for the AWS secretsmanager service" + }, + "securityhub": { + "description": "C++ SDK for the AWS securityhub service" + }, + "securitylake": { + "description": "C++ SDK for the AWS securitylake service" + }, + "serverlessrepo": { + "description": "C++ SDK for the AWS serverlessrepo service" + }, + "service-quotas": { + "description": "C++ SDK for the AWS service-quotas service" + }, + "servicecatalog": { + "description": "C++ SDK for the AWS servicecatalog service" + }, + "servicecatalog-appregistry": { + "description": "C++ SDK for the AWS servicecatalog-appregistry service" + }, + "servicediscovery": { + "description": "C++ SDK for the AWS servicediscovery service" + }, + "sesv2": { + "description": "C++ SDK for the AWS sesv2 service" + }, + "shield": { + "description": "C++ SDK for the AWS shield service" + }, + "signer": { + "description": "C++ SDK for the AWS signer service" + }, + "simspaceweaver": { + "description": "C++ SDK for the AWS simspaceweaver service" + }, + "sms": { + "description": "C++ SDK for the AWS sms service" + }, + "sms-voice": { + "description": "C++ SDK for the AWS sms-voice service" + }, + "snow-device-management": { + "description": "C++ SDK for the AWS snow-device-management service" + }, + "snowball": { + "description": "C++ SDK for the AWS snowball service" + }, + "sns": { + "description": "C++ SDK for the AWS sns service" + }, + "sqs": { + "description": "C++ SDK for the AWS sqs service" + }, + "ssm": { + "description": "C++ SDK for the AWS ssm service" + }, + "ssm-contacts": { + "description": "C++ SDK for the AWS ssm-contacts service" + }, + "ssm-incidents": { + "description": "C++ SDK for the AWS ssm-incidents service" + }, + "ssm-sap": { + "description": "C++ SDK for the AWS ssm-sap service" + }, + "sso": { + "description": "C++ SDK for the AWS sso service" + }, + "sso-admin": { + "description": "C++ SDK for the AWS sso-admin service" + }, + "sso-oidc": { + "description": "C++ SDK for the AWS sso-oidc service" + }, + "states": { + "description": "C++ SDK for the AWS states service" + }, + "storagegateway": { + "description": "C++ SDK for the AWS storagegateway service" + }, + "sts": { + "description": "C++ SDK for the AWS sts service" + }, + "supplychain": { + "description": "C++ SDK for the AWS supplychain service" + }, + "support": { + "description": "C++ SDK for the AWS support service" + }, + "support-app": { + "description": "C++ SDK for the AWS support-app service" + }, + "swf": { + "description": "C++ SDK for the AWS swf service" + }, + "synthetics": { + "description": "C++ SDK for the AWS synthetics service" + }, + "taxsettings": { + "description": "C++ SDK for the AWS taxsettings service" + }, + "text-to-speech": { + "description": "C++ SDK for the AWS text-to-speech service", + "dependencies": [ + { + "name": "aws-sdk-cpp", + "default-features": false, + "features": [ + "polly" + ] + } + ] + }, + "textract": { + "description": "C++ SDK for the AWS textract service" + }, + "timestream-influxdb": { + "description": "C++ SDK for the AWS timestream-influxdb service" + }, + "timestream-query": { + "description": "C++ SDK for the AWS timestream-query service" + }, + "timestream-write": { + "description": "C++ SDK for the AWS timestream-write service" + }, + "tnb": { + "description": "C++ SDK for the AWS tnb service" + }, + "transcribe": { + "description": "C++ SDK for the AWS transcribe service" + }, + "transcribestreaming": { + "description": "C++ SDK for the AWS transcribestreaming service" + }, + "transfer": { + "description": "C++ SDK for the AWS transfer service", + "dependencies": [ + { + "name": "aws-sdk-cpp", + "default-features": false, + "features": [ + "s3" + ] + } + ] + }, + "translate": { + "description": "C++ SDK for the AWS translate service" + }, + "trustedadvisor": { + "description": "C++ SDK for the AWS trustedadvisor service" + }, + "verifiedpermissions": { + "description": "C++ SDK for the AWS verifiedpermissions service" + }, + "voice-id": { + "description": "C++ SDK for the AWS voice-id service" + }, + "vpc-lattice": { + "description": "C++ SDK for the AWS vpc-lattice service" + }, + "waf": { + "description": "C++ SDK for the AWS waf service" + }, + "waf-regional": { + "description": "C++ SDK for the AWS waf-regional service" + }, + "wafv2": { + "description": "C++ SDK for the AWS wafv2 service" + }, + "wellarchitected": { + "description": "C++ SDK for the AWS wellarchitected service" + }, + "wisdom": { + "description": "C++ SDK for the AWS wisdom service" + }, + "workdocs": { + "description": "C++ SDK for the AWS workdocs service" + }, + "worklink": { + "description": "C++ SDK for the AWS worklink service" + }, + "workmail": { + "description": "C++ SDK for the AWS workmail service" + }, + "workmailmessageflow": { + "description": "C++ SDK for the AWS workmailmessageflow service" + }, + "workspaces": { + "description": "C++ SDK for the AWS workspaces service" + }, + "workspaces-thin-client": { + "description": "C++ SDK for the AWS workspaces-thin-client service" + }, + "workspaces-web": { + "description": "C++ SDK for the AWS workspaces-web service" + }, + "xray": { + "description": "C++ SDK for the AWS xray service" + } + } +} diff --git a/ports/azure-storage-common-cpp/portfile.cmake b/ports/azure-storage-common-cpp/portfile.cmake deleted file mode 100644 index 482ed9687f13..000000000000 --- a/ports/azure-storage-common-cpp/portfile.cmake +++ /dev/null @@ -1,32 +0,0 @@ -# NOTE: All changes made to this file will get overwritten by the next port release. -# Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp. - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO Azure/azure-sdk-for-cpp - REF azure-storage-common_12.5.0 - SHA512 46c9cc4ebec54f289ba7270356da4e89e5f8e890004c7a232200b87ca33357064c2f46670a1090fe41ca6962cdbc76d2e3520bb600438cbc0f21f15cf7816f04 -) - -if(EXISTS "${SOURCE_PATH}/sdk/storage/azure-storage-common") - file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/storage/_") - file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/_") - file(REMOVE_RECURSE "${SOURCE_PATH}/_") - - file(RENAME "${SOURCE_PATH}/sdk/storage/azure-storage-common" "${SOURCE_PATH}/sdk/storage/_") - file(RENAME "${SOURCE_PATH}/sdk/storage" "${SOURCE_PATH}/sdk/_") - file(RENAME "${SOURCE_PATH}/sdk" "${SOURCE_PATH}/_") -endif() - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}/_/_/_" - OPTIONS - -DWARNINGS_AS_ERRORS=OFF - -DBUILD_TESTING=OFF -) - -vcpkg_cmake_install() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -vcpkg_cmake_config_fixup() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -vcpkg_copy_pdbs() diff --git a/ports/azure-storage-common-cpp/vcpkg.json b/ports/azure-storage-common-cpp/vcpkg.json deleted file mode 100644 index 8dd26d908204..000000000000 --- a/ports/azure-storage-common-cpp/vcpkg.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "$comment": "NOTE: All changes made to this file will get overwritten by the next port release. Please contribute your changes to https://github.com/Azure/azure-sdk-for-cpp.", - "name": "azure-storage-common-cpp", - "version-semver": "12.5.0", - "port-version": 1, - "description": [ - "Microsoft Azure Common Storage SDK for C++", - "This library provides common Azure Storage-related abstractions for Azure SDK." - ], - "homepage": "https://github.com/Azure/azure-sdk-for-cpp/tree/main/sdk/storage/azure-storage-common", - "license": "MIT", - "dependencies": [ - { - "name": "azure-core-cpp", - "default-features": false, - "version>=": "1.10.3" - }, - { - "name": "libxml2", - "default-features": false, - "platform": "!windows" - }, - { - "name": "openssl", - "platform": "!windows" - }, - { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true - } - ] -} diff --git a/ports/google-cloud-cpp/portfile.cmake b/ports/google-cloud-cpp/portfile.cmake deleted file mode 100644 index 4f9674ea9e0a..000000000000 --- a/ports/google-cloud-cpp/portfile.cmake +++ /dev/null @@ -1,86 +0,0 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO googleapis/google-cloud-cpp - REF "v${VERSION}" - SHA512 a392da19ac353409ecbf30e390803b2e34670552fd54466a08ee554a77c893d447289b30d5841c7f79b2a23244a269d8ecac8f7fbd8a34dda45ce2d8b1d46817 - HEAD_REF main - PATCHES - support_absl_cxx17.patch - remove_gmock.patch -) - -if ("grpc-common" IN_LIST FEATURES) - vcpkg_add_to_path(PREPEND "${CURRENT_HOST_INSTALLED_DIR}/tools/grpc") -endif () - -set(GOOGLE_CLOUD_CPP_ENABLE "${FEATURES}") -list(REMOVE_ITEM GOOGLE_CLOUD_CPP_ENABLE "core") -# This feature does not exist, but allows us to simplify the vcpkg.json -# file. -list(REMOVE_ITEM GOOGLE_CLOUD_CPP_ENABLE "grpc-common") -list(REMOVE_ITEM GOOGLE_CLOUD_CPP_ENABLE "rest-common") -list(REMOVE_ITEM GOOGLE_CLOUD_CPP_ENABLE "googleapis") -# google-cloud-cpp uses dialogflow_cx and dialogflow_es. Underscores -# are invalid in `vcpkg` features, we use dashes (`-`) as a separator -# for the `vcpkg` feature name, and convert it here to something that -# `google-cloud-cpp` would like. -if ("dialogflow-cx" IN_LIST FEATURES) - list(REMOVE_ITEM GOOGLE_CLOUD_CPP_ENABLE "dialogflow-cx") - list(APPEND GOOGLE_CLOUD_CPP_ENABLE "dialogflow_cx") -endif () -if ("dialogflow-es" IN_LIST FEATURES) - list(REMOVE_ITEM GOOGLE_CLOUD_CPP_ENABLE "dialogflow-es") - list(APPEND GOOGLE_CLOUD_CPP_ENABLE "dialogflow_es") -endif () - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - DISABLE_PARALLEL_CONFIGURE - OPTIONS - "-DGOOGLE_CLOUD_CPP_ENABLE=${GOOGLE_CLOUD_CPP_ENABLE}" - -DGOOGLE_CLOUD_CPP_ENABLE_MACOS_OPENSSL_CHECK=OFF - -DGOOGLE_CLOUD_CPP_ENABLE_WERROR=OFF - -DGOOGLE_CLOUD_CPP_ENABLE_CCACHE=OFF - -DGOOGLE_CLOUD_CPP_ENABLE_EXAMPLES=OFF - -DBUILD_TESTING=OFF - # This is needed by the `experimental-storage-grpc` feature until vcpkg - # gets Protobuf >= 4.23.0. It has no effect for other features, so - # it is simpler to just always turn it on. - -DGOOGLE_CLOUD_CPP_ENABLE_CTYPE_CORD_WORKAROUND=ON -) - -vcpkg_cmake_install() - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -foreach(feature IN LISTS FEATURES) - set(config_path "lib/cmake/google_cloud_cpp_${feature}") - # Most features get their own package in `google-cloud-cpp`. - # The exceptions are captured by this `if()` command, basically - # things like `core` and `experimental-storage-grpc` are skipped. - if(NOT IS_DIRECTORY "${CURRENT_PACKAGES_DIR}/${config_path}") - continue() - endif() - vcpkg_cmake_config_fixup(PACKAGE_NAME "google_cloud_cpp_${feature}" - CONFIG_PATH "${config_path}" - DO_NOT_DELETE_PARENT_CONFIG_PATH) -endforeach() -# These packages are automatically installed depending on what features are -# enabled. -foreach(suffix common compute_protos googleapis grpc_utils iam_v2 logging_type rest_internal rest_protobuf_internal dialogflow_cx dialogflow_es) - set(config_path "lib/cmake/google_cloud_cpp_${suffix}") - if(NOT IS_DIRECTORY "${CURRENT_PACKAGES_DIR}/${config_path}") - continue() - endif() - vcpkg_cmake_config_fixup(PACKAGE_NAME "google_cloud_cpp_${suffix}" - CONFIG_PATH "${config_path}" - DO_NOT_DELETE_PARENT_CONFIG_PATH) -endforeach() - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/cmake" - "${CURRENT_PACKAGES_DIR}/debug/lib/cmake" - "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) - -vcpkg_copy_pdbs() diff --git a/ports/google-cloud-cpp/remove_gmock.patch b/ports/google-cloud-cpp/remove_gmock.patch deleted file mode 100644 index 304640345752..000000000000 --- a/ports/google-cloud-cpp/remove_gmock.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/google/cloud/google_cloud_cpp_common.cmake b/google/cloud/google_cloud_cpp_common.cmake -index 1a14c77..4e8058e 100644 ---- a/google/cloud/google_cloud_cpp_common.cmake -+++ b/google/cloud/google_cloud_cpp_common.cmake -@@ -271,9 +271,6 @@ set(google_cloud_cpp_mocks_hdrs - mocks/mock_stream_range.h) - export_list_to_bazel("google_cloud_cpp_mocks.bzl" "google_cloud_cpp_mocks_hdrs" - YEAR "2022") --target_link_libraries( -- google_cloud_cpp_mocks INTERFACE google-cloud-cpp::common GTest::gmock_main -- GTest::gmock GTest::gtest) - set_target_properties(google_cloud_cpp_mocks PROPERTIES EXPORT_NAME - google-cloud-cpp::mocks) - target_include_directories( -diff --git a/google/cloud/storage/google_cloud_cpp_storage_grpc.cmake b/google/cloud/storage/google_cloud_cpp_storage_grpc.cmake -index a12bb20..eb3182f 100644 ---- a/google/cloud/storage/google_cloud_cpp_storage_grpc.cmake -+++ b/google/cloud/storage/google_cloud_cpp_storage_grpc.cmake -@@ -219,9 +219,6 @@ set(google_cloud_cpp_storage_grpc_mocks_hdrs - mocks/mock_async_writer_connection.h) - export_list_to_bazel("google_cloud_cpp_storage_grpc_mocks.bzl" - "google_cloud_cpp_storage_grpc_mocks_hdrs" YEAR "2023") --target_link_libraries( -- google_cloud_cpp_storage_grpc_mocks -- INTERFACE google-cloud-cpp::experimental-storage_grpc GTest::gmock) - set_target_properties( - google_cloud_cpp_storage_grpc_mocks - PROPERTIES EXPORT_NAME "google-cloud-cpp::experimental-storage_grpc_mocks") diff --git a/ports/google-cloud-cpp/support_absl_cxx17.patch b/ports/google-cloud-cpp/support_absl_cxx17.patch deleted file mode 100644 index 582b88a52d40..000000000000 --- a/ports/google-cloud-cpp/support_absl_cxx17.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3fb0564..b4a251b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -29,6 +29,14 @@ if (NOT "${PROJECT_VERSION_PRE_RELEASE}" STREQUAL "") - set(PROJECT_VERSION "${PROJECT_VERSION}-${PROJECT_VERSION_PRE_RELEASE}") - endif () - -+find_package(absl CONFIG REQUIRED) -+ -+# Use CMAKE_CXX_STANDARD=17 if ABSL_USE_CXX17 is set -+if (ABSL_USE_CXX17) -+ message(STATUS "Found absl uses CXX17, enable CXX17 feature.") -+ set(CMAKE_CXX_STANDARD 17) -+endif () -+ - if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") - if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.3) - message( diff --git a/ports/google-cloud-cpp/vcpkg.json b/ports/google-cloud-cpp/vcpkg.json deleted file mode 100644 index 0c5ac9338bd1..000000000000 --- a/ports/google-cloud-cpp/vcpkg.json +++ /dev/null @@ -1,1509 +0,0 @@ -{ - "name": "google-cloud-cpp", - "version": "2.19.0", - "description": "C++ Client Libraries for Google Cloud Platform APIs.", - "homepage": "https://github.com/googleapis/google-cloud-cpp", - "license": "Apache-2.0", - "supports": "!uwp", - "dependencies": [ - "abseil", - "openssl", - { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true - } - ], - "default-features": [ - "bigquery", - "bigtable", - "iam", - "pubsub", - "spanner", - "storage" - ], - "features": { - "accessapproval": { - "description": "Access Approval API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "accesscontextmanager": { - "description": "Access Context Manager API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "advisorynotifications": { - "description": "Advisory Notifications API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "alloydb": { - "description": "Alloy DB API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "apigateway": { - "description": "API Gateway API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "apigeeconnect": { - "description": "Apigee Connect API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "apikeys": { - "description": "API Keys API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "appengine": { - "description": "App Engine Admin API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "artifactregistry": { - "description": "Artifact Registry API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "asset": { - "description": "Cloud Asset API C++ Client Library", - "supports": "!windows", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "accesscontextmanager", - "grpc-common", - "osconfig" - ] - } - ] - }, - "assuredworkloads": { - "description": "Assured Workloads API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "automl": { - "description": "Cloud AutoML API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "baremetalsolution": { - "description": "Bare Metal Solution API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "batch": { - "description": "Batch API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "beyondcorp": { - "description": "BeyondCorp API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "bigquery": { - "description": "The Google Cloud BigQuery C++ client library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "bigtable": { - "description": "The Google Cloud Bigtable C++ client library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "billing": { - "description": "Cloud Billing Budget API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "binaryauthorization": { - "description": "Binary Authorization API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grafeas", - "grpc-common" - ] - } - ] - }, - "certificatemanager": { - "description": "Certificate Manager API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "channel": { - "description": "Cloud Channel API C++ Client Library", - "supports": "!windows", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "cloudbuild": { - "description": "Cloud Build API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "commerce": { - "description": "Cloud Commerce C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "composer": { - "description": "Cloud Composer C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "compute": { - "description": "Compute Engine C++ Client Library", - "supports": "!windows", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common", - "rest-common" - ] - } - ] - }, - "confidentialcomputing": { - "description": "Confidential Computing API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "config": { - "description": "Infrastructure Manager API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "connectors": { - "description": "Connectors API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "contactcenterinsights": { - "description": "Contact Center AI Insights API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "container": { - "description": "Kubernetes Engine API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "containeranalysis": { - "description": "Container Analysis API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grafeas", - "grpc-common" - ] - } - ] - }, - "datacatalog": { - "description": "Google Cloud Data Catalog API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "datafusion": { - "description": "Cloud Data Fusion API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "datamigration": { - "description": "Database Migration API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "dataplex": { - "description": "Cloud Dataplex API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "dataproc": { - "description": "Cloud Dataproc API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "datastore": { - "description": "Cloud Datastore API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "datastream": { - "description": "Datastream API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "deploy": { - "description": "Google Cloud Deploy API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "dialogflow-cx": { - "description": "Cloud Dialogflow CX API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "dialogflow-es": { - "description": "Cloud Dialogflow ES API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "discoveryengine": { - "description": "Discovery Engine API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "dlp": { - "description": "Cloud Data Loss Prevention (DLP) API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "documentai": { - "description": "Cloud Document AI API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "edgecontainer": { - "description": "Distributed Cloud Edge Container API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "edgenetwork": { - "description": "Distributed Cloud Edge Network API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "eventarc": { - "description": "Eventarc API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "experimental-storage-grpc": { - "description": "The GCS+gRPC plugin", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common", - "storage" - ] - } - ] - }, - "filestore": { - "description": "Cloud Filestore API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "functions": { - "description": "Cloud Functions API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "gkehub": { - "description": "GKE Hub C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "gkemulticloud": { - "description": "Anthos Multi-Cloud C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "grafeas": { - "description": "Protocol buffers implementing the 'Grafeas API' (metadata about software artifacts)", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "grpc-common": { - "description": "Dependencies used by all gRPC-based libraries", - "dependencies": [ - "grpc", - { - "name": "grpc", - "host": true - }, - "protobuf", - { - "name": "protobuf", - "host": true - } - ] - }, - "iam": { - "description": "The Google Cloud IAM C++ client library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "iap": { - "description": "Cloud Identity-Aware Proxy API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "ids": { - "description": "Cloud IDS API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "kms": { - "description": "Cloud Key Management Service (KMS) API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "language": { - "description": "Cloud Natural Language API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "logging": { - "description": "Google Cloud Logging C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "managedidentities": { - "description": "Managed Service for Microsoft Active Directory API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "memcache": { - "description": "Cloud Memorystore for Memcached API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "metastore": { - "description": "Dataproc Metastore API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "migrationcenter": { - "description": "Migration Center API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "monitoring": { - "description": "Cloud Monitoring API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "netapp": { - "description": "NetApp API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "networkconnectivity": { - "description": "Network Connectivity API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "networkmanagement": { - "description": "Network Management API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "networksecurity": { - "description": "Secure Web Proxy API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "notebooks": { - "description": "Notebooks API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "oauth2": { - "description": "OAuth2 Access Token Generation Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "rest-common" - ] - } - ] - }, - "opentelemetry": { - "description": "OpenTelemetry C++ GCP Exporter Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "rest-common", - "trace" - ] - }, - "opentelemetry-cpp" - ] - }, - "optimization": { - "description": "Cloud Optimization API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "orgpolicy": { - "description": "Organization Policy API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "osconfig": { - "description": "Cloud OS Config API C++ Client library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "oslogin": { - "description": "Cloud OS Login API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "policysimulator": { - "description": "Policy Simulator API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "policytroubleshooter": { - "description": "Policy Troubleshooter API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "privateca": { - "description": "Certificate Authority API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "profiler": { - "description": "Cloud Profiler API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "pubsub": { - "description": "The Google Cloud Bigtable C++ client library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "rapidmigrationassessment": { - "description": "Rapid Migration Assessment C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "recommender": { - "description": "Recommender C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "redis": { - "description": "Google Cloud Memorystore for Redis API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "resourcemanager": { - "description": "Cloud Resource Manager API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "resourcesettings": { - "description": "Resource Settings API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "rest-common": { - "description": "Dependencies used by all REST-based libraries", - "dependencies": [ - { - "name": "curl", - "features": [ - "ssl" - ] - }, - "nlohmann-json" - ] - }, - "retail": { - "description": "Retail API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "run": { - "description": "Cloud Run Admin API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "scheduler": { - "description": "Cloud Scheduler API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "secretmanager": { - "description": "The Google Cloud Secret Manager C++ client library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "securesourcemanager": { - "description": "Secure Source Manager API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "securitycenter": { - "description": "Security Command Center API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "servicecontrol": { - "description": "Service Control API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "servicedirectory": { - "description": "Service Directory API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "servicemanagement": { - "description": "Service Management API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "serviceusage": { - "description": "Service Usage API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "shell": { - "description": "Cloud Shell API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "spanner": { - "description": "The Google Cloud Spanner C++ client library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "speech": { - "description": "The Google Cloud Speech-to-Text C++ client library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "sql": { - "description": "The Google Cloud SQL Admin C++ client library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "rest-common" - ] - } - ] - }, - "storage": { - "description": "The Google Cloud Storage C++ client library", - "dependencies": [ - "crc32c", - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "rest-common" - ] - } - ] - }, - "storageinsights": { - "description": "Storage Insights API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "storagetransfer": { - "description": "Storage Transfer API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "support": { - "description": "Cloud Support API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "talent": { - "description": "Cloud Talent Solution API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "tasks": { - "description": "The Google Cloud Tasks C++ client library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "telcoautomation": { - "description": "Cloud Telco Automation API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "texttospeech": { - "description": "Cloud Text-to-Speech API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "tpu": { - "description": "Cloud TPU API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "trace": { - "description": "Stackdriver Trace API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "translate": { - "description": "Cloud Translation API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "video": { - "description": "Video Services C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "videointelligence": { - "description": "Cloud Video Intelligence API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "vision": { - "description": "Cloud Vision API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "vmmigration": { - "description": "VM Migration API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "vmwareengine": { - "description": "VMware Engine API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "vpcaccess": { - "description": "Serverless VPC Access API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "webrisk": { - "description": "Web Risk API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "websecurityscanner": { - "description": "Web Security Scanner API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "workflows": { - "description": "Workflow Executions API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - }, - "workstations": { - "description": "Workstations API C++ Client Library", - "dependencies": [ - { - "name": "google-cloud-cpp", - "default-features": false, - "features": [ - "grpc-common" - ] - } - ] - } - } - } diff --git a/ports/pcre2/fix-cmake.patch b/ports/pcre2/fix-cmake.patch deleted file mode 100644 index 93d2f7196957..000000000000 --- a/ports/pcre2/fix-cmake.patch +++ /dev/null @@ -1,334 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index cec7dfb..84d1769 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -100,6 +100,9 @@ - # 2021-08-28 PH increased minimum version - # 2021-08-28 PH added test for realpath() - # 2022-12-10 PH added support for pcre2posix_test -+# 2023-01-15 Carlo added C99 as the minimum required -+# 2023-06-03 Theodore used standard CMake constructs to export the library's targets. -+# 2023-08-06 PH added support for setting variable length lookbehind maximum - - # Increased minimum to 2.8.5 to support GNUInstallDirs. - # Increased minimum to 3.1 to support imported targets. -@@ -136,6 +139,7 @@ INCLUDE(CheckFunctionExists) - INCLUDE(CheckSymbolExists) - INCLUDE(CheckIncludeFile) - INCLUDE(CheckTypeSize) -+INCLUDE(CMakePackageConfigHelpers) - INCLUDE(GNUInstallDirs) # for CMAKE_INSTALL_LIBDIR - - CHECK_INCLUDE_FILE(dirent.h HAVE_DIRENT_H) -@@ -705,7 +709,9 @@ IF(PCRE2_BUILD_PCRE2_8) - VERSION ${LIBPCRE2_8_VERSION} - SOVERSION ${LIBPCRE2_8_SOVERSION}) - TARGET_COMPILE_DEFINITIONS(pcre2-8-static PUBLIC PCRE2_STATIC) -- TARGET_INCLUDE_DIRECTORIES(pcre2-8-static PUBLIC ${PROJECT_BINARY_DIR}) -+ TARGET_INCLUDE_DIRECTORIES(pcre2-8-static PUBLIC -+ $ -+ $) - IF(REQUIRE_PTHREAD) - TARGET_LINK_LIBRARIES(pcre2-8-static Threads::Threads) - ENDIF(REQUIRE_PTHREAD) -@@ -718,8 +724,9 @@ IF(PCRE2_BUILD_PCRE2_8) - VERSION ${LIBPCRE2_POSIX_VERSION} - SOVERSION ${LIBPCRE2_POSIX_SOVERSION}) - TARGET_LINK_LIBRARIES(pcre2-posix-static pcre2-8-static) -- TARGET_COMPILE_DEFINITIONS(pcre2-posix-static PUBLIC PCRE2_STATIC) -- TARGET_INCLUDE_DIRECTORIES(pcre2-posix-static PUBLIC ${PROJECT_BINARY_DIR}) -+ TARGET_INCLUDE_DIRECTORIES(pcre2-posix-static PUBLIC -+ $ -+ $) - SET(targets ${targets} pcre2-posix-static) - - IF(MSVC) -@@ -736,7 +743,9 @@ IF(PCRE2_BUILD_PCRE2_8) - - IF(BUILD_SHARED_LIBS) - ADD_LIBRARY(pcre2-8-shared SHARED ${PCRE2_HEADERS} ${PCRE2_SOURCES} ${PROJECT_BINARY_DIR}/config.h) -- TARGET_INCLUDE_DIRECTORIES(pcre2-8-shared PUBLIC ${PROJECT_BINARY_DIR}) -+ TARGET_INCLUDE_DIRECTORIES(pcre2-8-shared PUBLIC -+ $ -+ $) - SET_TARGET_PROPERTIES(pcre2-8-shared PROPERTIES - COMPILE_DEFINITIONS PCRE2_CODE_UNIT_WIDTH=8 - MACHO_COMPATIBILITY_VERSION "${LIBPCRE2_8_MACHO_COMPATIBILITY_VERSION}" -@@ -749,7 +758,9 @@ IF(PCRE2_BUILD_PCRE2_8) - ENDIF(REQUIRE_PTHREAD) - SET(targets ${targets} pcre2-8-shared) - ADD_LIBRARY(pcre2-posix-shared SHARED ${PCRE2POSIX_HEADERS} ${PCRE2POSIX_SOURCES}) -- TARGET_INCLUDE_DIRECTORIES(pcre2-posix-shared PUBLIC ${PROJECT_BINARY_DIR}) -+ TARGET_INCLUDE_DIRECTORIES(pcre2-posix-shared PUBLIC -+ $ -+ $) - SET_TARGET_PROPERTIES(pcre2-posix-shared PROPERTIES - COMPILE_DEFINITIONS PCRE2_CODE_UNIT_WIDTH=8 - MACHO_COMPATIBILITY_VERSION "${LIBPCRE2_POSIX_MACHO_COMPATIBILITY_VERSION}" -@@ -786,7 +797,9 @@ ENDIF(PCRE2_BUILD_PCRE2_8) - IF(PCRE2_BUILD_PCRE2_16) - IF(BUILD_STATIC_LIBS) - ADD_LIBRARY(pcre2-16-static STATIC ${PCRE2_HEADERS} ${PCRE2_SOURCES} ${PROJECT_BINARY_DIR}/config.h) -- TARGET_INCLUDE_DIRECTORIES(pcre2-16-static PUBLIC ${PROJECT_BINARY_DIR}) -+ TARGET_INCLUDE_DIRECTORIES(pcre2-16-static PUBLIC -+ $ -+ $) - SET_TARGET_PROPERTIES(pcre2-16-static PROPERTIES - COMPILE_DEFINITIONS PCRE2_CODE_UNIT_WIDTH=16 - MACHO_COMPATIBILITY_VERSION "${LIBPCRE2_32_MACHO_COMPATIBILITY_VERSION}" -@@ -811,7 +824,9 @@ IF(PCRE2_BUILD_PCRE2_16) - - IF(BUILD_SHARED_LIBS) - ADD_LIBRARY(pcre2-16-shared SHARED ${PCRE2_HEADERS} ${PCRE2_SOURCES} ${PROJECT_BINARY_DIR}/config.h) -- TARGET_INCLUDE_DIRECTORIES(pcre2-16-shared PUBLIC ${PROJECT_BINARY_DIR}) -+ TARGET_INCLUDE_DIRECTORIES(pcre2-16-shared PUBLIC -+ $ -+ $) - SET_TARGET_PROPERTIES(pcre2-16-shared PROPERTIES - COMPILE_DEFINITIONS PCRE2_CODE_UNIT_WIDTH=16 - MACHO_COMPATIBILITY_VERSION "${LIBPCRE2_32_MACHO_COMPATIBILITY_VERSION}" -@@ -848,7 +863,9 @@ ENDIF(PCRE2_BUILD_PCRE2_16) - IF(PCRE2_BUILD_PCRE2_32) - IF(BUILD_STATIC_LIBS) - ADD_LIBRARY(pcre2-32-static STATIC ${PCRE2_HEADERS} ${PCRE2_SOURCES} ${PROJECT_BINARY_DIR}/config.h) -- TARGET_INCLUDE_DIRECTORIES(pcre2-32-static PUBLIC ${PROJECT_BINARY_DIR}) -+ TARGET_INCLUDE_DIRECTORIES(pcre2-32-static PUBLIC -+ $ -+ $) - SET_TARGET_PROPERTIES(pcre2-32-static PROPERTIES - COMPILE_DEFINITIONS PCRE2_CODE_UNIT_WIDTH=32 - MACHO_COMPATIBILITY_VERSION "${LIBPCRE2_32_MACHO_COMPATIBILITY_VERSION}" -@@ -873,7 +890,9 @@ IF(PCRE2_BUILD_PCRE2_32) - - IF(BUILD_SHARED_LIBS) - ADD_LIBRARY(pcre2-32-shared SHARED ${PCRE2_HEADERS} ${PCRE2_SOURCES} ${PROJECT_BINARY_DIR}/config.h) -- TARGET_INCLUDE_DIRECTORIES(pcre2-32-shared PUBLIC ${PROJECT_BINARY_DIR}) -+ TARGET_INCLUDE_DIRECTORIES(pcre2-32-shared PUBLIC -+ $ -+ $) - SET_TARGET_PROPERTIES(pcre2-32-shared PROPERTIES - COMPILE_DEFINITIONS PCRE2_CODE_UNIT_WIDTH=32 - MACHO_COMPATIBILITY_VERSION "${LIBPCRE2_32_MACHO_COMPATIBILITY_VERSION}" -@@ -1075,9 +1094,13 @@ ENDIF(PCRE2_BUILD_TESTS) - SET(CMAKE_INSTALL_ALWAYS 1) - - INSTALL(TARGETS ${targets} -- RUNTIME DESTINATION bin -+ EXPORT pcre2-targets -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+INSTALL(EXPORT pcre2-targets -+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/pcre2 -+ NAMESPACE pcre2::) - INSTALL(FILES ${pkg_config_files} DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) - INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/pcre2-config" - DESTINATION bin -@@ -1089,11 +1112,12 @@ INSTALL(FILES ${PCRE2_HEADERS} ${PCRE2POSIX_HEADERS} DESTINATION include) - # CMake config files. - set(PCRE2_CONFIG_IN ${CMAKE_CURRENT_SOURCE_DIR}/cmake/pcre2-config.cmake.in) - set(PCRE2_CONFIG_OUT ${CMAKE_CURRENT_BINARY_DIR}/cmake/pcre2-config.cmake) --configure_file(${PCRE2_CONFIG_IN} ${PCRE2_CONFIG_OUT} @ONLY) --set(PCRE2_CONFIG_VERSION_IN ${CMAKE_CURRENT_SOURCE_DIR}/cmake/pcre2-config-version.cmake.in) -+configure_package_config_file(${PCRE2_CONFIG_IN} ${PCRE2_CONFIG_OUT} INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/pcre2) - set(PCRE2_CONFIG_VERSION_OUT ${CMAKE_CURRENT_BINARY_DIR}/cmake/pcre2-config-version.cmake) --configure_file(${PCRE2_CONFIG_VERSION_IN} ${PCRE2_CONFIG_VERSION_OUT} @ONLY) --install(FILES ${PCRE2_CONFIG_OUT} ${PCRE2_CONFIG_VERSION_OUT} DESTINATION cmake) -+write_basic_package_version_file(${PCRE2_CONFIG_VERSION_OUT} -+ VERSION ${PCRE2_MAJOR}.${PCRE2_MINOR}.0 -+ COMPATIBILITY SameMajorVersion) -+install(FILES ${PCRE2_CONFIG_OUT} ${PCRE2_CONFIG_VERSION_OUT} DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/pcre2) - - FILE(GLOB html ${PROJECT_SOURCE_DIR}/doc/html/*.html) - FILE(GLOB man1 ${PROJECT_SOURCE_DIR}/doc/*.1) -diff --git a/cmake/pcre2-config-version.cmake.in b/cmake/pcre2-config-version.cmake.in -deleted file mode 100644 -index dac149e..0000000 ---- a/cmake/pcre2-config-version.cmake.in -+++ /dev/null -@@ -1,15 +0,0 @@ --set(PACKAGE_VERSION_MAJOR @PCRE2_MAJOR@) --set(PACKAGE_VERSION_MINOR @PCRE2_MINOR@) --set(PACKAGE_VERSION_PATCH 0) --set(PACKAGE_VERSION @PCRE2_MAJOR@.@PCRE2_MINOR@.0) -- --# Check whether the requested PACKAGE_FIND_VERSION is compatible --if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION OR -- PACKAGE_VERSION_MAJOR GREATER PACKAGE_FIND_VERSION_MAJOR) -- set(PACKAGE_VERSION_COMPATIBLE FALSE) --else() -- set(PACKAGE_VERSION_COMPATIBLE TRUE) -- if(PACKAGE_VERSION VERSION_EQUAL PACKAGE_FIND_VERSION) -- set(PACKAGE_VERSION_EXACT TRUE) -- endif() --endif() -diff --git a/cmake/pcre2-config.cmake.in b/cmake/pcre2-config.cmake.in -index b313d6d..159669b 100644 ---- a/cmake/pcre2-config.cmake.in -+++ b/cmake/pcre2-config.cmake.in -@@ -5,11 +5,17 @@ - # - # Static vs. shared - # ----------------- --# To make use of the static library instead of the shared one, one needs -+# To force using the static library instead of the shared one, one needs - # to set the variable PCRE2_USE_STATIC_LIBS to ON before calling find_package. -+# If the variable is not set, the static library will be used if only that has -+# been built, otherwise the shared library will be used. -+# -+# The following components are supported: 8BIT, 16BIT, 32BIT and POSIX. -+# They used to be required but not anymore; all available targets will -+# be defined regardless of the requested components. - # Example: - # set(PCRE2_USE_STATIC_LIBS ON) --# find_package(PCRE2 CONFIG COMPONENTS 8BIT) -+# find_package(PCRE2 CONFIG) - # - # This will define the following variables: - # -@@ -23,70 +29,42 @@ - # PCRE2::32BIT - The 32 bit PCRE2 library. - # PCRE2::POSIX - The POSIX PCRE2 library. - --set(PCRE2_NON_STANDARD_LIB_PREFIX @NON_STANDARD_LIB_PREFIX@) --set(PCRE2_NON_STANDARD_LIB_SUFFIX @NON_STANDARD_LIB_SUFFIX@) --set(PCRE2_8BIT_NAME pcre2-8) --set(PCRE2_16BIT_NAME pcre2-16) --set(PCRE2_32BIT_NAME pcre2-32) --set(PCRE2_POSIX_NAME pcre2-posix) --find_path(PCRE2_INCLUDE_DIR NAMES pcre2.h DOC "PCRE2 include directory") --if (PCRE2_USE_STATIC_LIBS) -- if (MSVC) -- set(PCRE2_8BIT_NAME pcre2-8-static) -- set(PCRE2_16BIT_NAME pcre2-16-static) -- set(PCRE2_32BIT_NAME pcre2-32-static) -- set(PCRE2_POSIX_NAME pcre2-posix-static) -- endif () -+@PACKAGE_INIT@ - -- set(PCRE2_PREFIX ${CMAKE_STATIC_LIBRARY_PREFIX}) -- set(PCRE2_SUFFIX ${CMAKE_STATIC_LIBRARY_SUFFIX}) --else () -- set(PCRE2_PREFIX ${CMAKE_SHARED_LIBRARY_PREFIX}) -- if (MINGW AND PCRE2_NON_STANDARD_LIB_PREFIX) -- set(PCRE2_PREFIX "") -- endif () -+include(CMakeFindDependencyMacro) -+if("@REQUIRE_PTHREAD@") # REQUIRE_PTHREAD -+ find_dependency(Threads) -+endif() - -- set(PCRE2_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX}) -- if (MINGW AND PCRE2_NON_STANDARD_LIB_SUFFIX) -- set(PCRE2_SUFFIX "-0.dll") -- endif () --endif () --find_library(PCRE2_8BIT_LIBRARY NAMES ${PCRE2_PREFIX}${PCRE2_8BIT_NAME}${PCRE2_SUFFIX} ${PCRE2_PREFIX}${PCRE2_8BIT_NAME}d${PCRE2_SUFFIX} DOC "8 bit PCRE2 library") --find_library(PCRE2_16BIT_LIBRARY NAMES ${PCRE2_PREFIX}${PCRE2_16BIT_NAME}${PCRE2_SUFFIX} ${PCRE2_PREFIX}${PCRE2_8BIT_NAME}d${PCRE2_SUFFIX} DOC "16 bit PCRE2 library") --find_library(PCRE2_32BIT_LIBRARY NAMES ${PCRE2_PREFIX}${PCRE2_32BIT_NAME}${PCRE2_SUFFIX} ${PCRE2_PREFIX}${PCRE2_8BIT_NAME}d${PCRE2_SUFFIX} DOC "32 bit PCRE2 library") --find_library(PCRE2_POSIX_LIBRARY NAMES ${PCRE2_PREFIX}${PCRE2_POSIX_NAME}${PCRE2_SUFFIX} ${PCRE2_PREFIX}${PCRE2_8BIT_NAME}d${PCRE2_SUFFIX} DOC "8 bit POSIX PCRE2 library") --unset(PCRE2_NON_STANDARD_LIB_PREFIX) --unset(PCRE2_NON_STANDARD_LIB_SUFFIX) --unset(PCRE2_8BIT_NAME) --unset(PCRE2_16BIT_NAME) --unset(PCRE2_32BIT_NAME) --unset(PCRE2_POSIX_NAME) -+include("${CMAKE_CURRENT_LIST_DIR}/pcre2-targets.cmake") - - # Set version --if (PCRE2_INCLUDE_DIR) -- set(PCRE2_VERSION "@PCRE2_MAJOR@.@PCRE2_MINOR@.0") --endif () -+set(PCRE2_VERSION "@PCRE2_MAJOR@.@PCRE2_MINOR@.0") - --# Which components have been found. --if (PCRE2_8BIT_LIBRARY) -- set(PCRE2_8BIT_FOUND TRUE) --endif () --if (PCRE2_16BIT_LIBRARY) -- set(PCRE2_16BIT_FOUND TRUE) --endif () --if (PCRE2_32BIT_LIBRARY) -- set(PCRE2_32BIT_FOUND TRUE) --endif () --if (PCRE2_POSIX_LIBRARY) -- set(PCRE2_POSIX_FOUND TRUE) --endif () -- --# Check if at least one component has been specified. --list(LENGTH PCRE2_FIND_COMPONENTS PCRE2_NCOMPONENTS) --if (PCRE2_NCOMPONENTS LESS 1) -- message(FATAL_ERROR "No components have been specified. This is not allowed. Please, specify at least one component.") --endif () --unset(PCRE2_NCOMPONENTS) -+# Chooses the linkage of the library to expose in the -+# unsuffixed edition of the target. -+macro(_pcre2_add_component_target component target) -+ # If the static library exists and either PCRE2_USE_STATIC_LIBS -+ # is defined, or the dynamic library does not exist, use the static library. -+ if(NOT TARGET PCRE2::${component}) -+ if(TARGET pcre2::pcre2-${target}-static AND (PCRE2_USE_STATIC_LIBS OR NOT TARGET pcre2::pcre2-${target}-shared)) -+ add_library(PCRE2::${component} ALIAS pcre2::pcre2-${target}-static) -+ set(PCRE2_${component}_FOUND TRUE) -+ # Otherwise use the dynamic library if it exists. -+ elseif(TARGET pcre2::pcre2-${target}-shared AND NOT PCRE2_USE_STATIC_LIBS) -+ add_library(PCRE2::${component} ALIAS pcre2::pcre2-${target}-shared) -+ set(PCRE2_${component}_FOUND TRUE) -+ endif() -+ if(PCRE2_${component}_FOUND) -+ get_target_property(PCRE2_${component}_LIBRARY PCRE2::${component} IMPORTED_LOCATION) -+ set(PCRE2_LIBRARIES ${PCRE2_LIBRARIES} ${PCRE2_${component}_LIBRARY}) -+ endif() -+ endif() -+endmacro() -+_pcre2_add_component_target(8BIT 8) -+_pcre2_add_component_target(16BIT 16) -+_pcre2_add_component_target(32BIT 32) -+_pcre2_add_component_target(POSIX posix) - - # When POSIX component has been specified make sure that also 8BIT component is specified. - set(PCRE2_8BIT_COMPONENT FALSE) -@@ -105,41 +83,5 @@ endif() - unset(PCRE2_8BIT_COMPONENT) - unset(PCRE2_POSIX_COMPONENT) - --include(FindPackageHandleStandardArgs) --set(${CMAKE_FIND_PACKAGE_NAME}_CONFIG "${CMAKE_CURRENT_LIST_FILE}") --find_package_handle_standard_args(PCRE2 -- FOUND_VAR PCRE2_FOUND -- REQUIRED_VARS PCRE2_INCLUDE_DIR -- HANDLE_COMPONENTS -- VERSION_VAR PCRE2_VERSION -- CONFIG_MODE --) -- --set(PCRE2_LIBRARIES) --if (PCRE2_FOUND) -- foreach(component ${PCRE2_FIND_COMPONENTS}) -- if (PCRE2_USE_STATIC_LIBS) -- add_library(PCRE2::${component} STATIC IMPORTED) -- target_compile_definitions(PCRE2::${component} INTERFACE PCRE2_STATIC) -- else () -- add_library(PCRE2::${component} SHARED IMPORTED) -- endif () -- set_target_properties(PCRE2::${component} PROPERTIES -- IMPORTED_LOCATION "${PCRE2_${component}_LIBRARY}" -- INTERFACE_INCLUDE_DIRECTORIES "${PCRE2_INCLUDE_DIR}" -- ) -- if (component STREQUAL "POSIX") -- set_target_properties(PCRE2::${component} PROPERTIES -- INTERFACE_LINK_LIBRARIES "PCRE2::8BIT" -- LINK_LIBRARIES "PCRE2::8BIT" -- ) -- endif () -- -- set(PCRE2_LIBRARIES ${PCRE2_LIBRARIES} ${PCRE2_${component}_LIBRARY}) -- mark_as_advanced(PCRE2_${component}_LIBRARY) -- endforeach() --endif () -- --mark_as_advanced( -- PCRE2_INCLUDE_DIR --) -+# Check for required components. -+check_required_components("PCRE2") diff --git a/ports/pcre2/no-static-suffix.patch b/ports/pcre2/no-static-suffix.patch deleted file mode 100644 index 7f41bcd566cf..000000000000 --- a/ports/pcre2/no-static-suffix.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index fa2181e..3bf5317 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -711,8 +711,8 @@ IF(PCRE2_BUILD_PCRE2_8) - SET(targets ${targets} pcre2-posix-static) - - IF(MSVC) -- SET_TARGET_PROPERTIES(pcre2-8-static PROPERTIES OUTPUT_NAME pcre2-8-static) -- SET_TARGET_PROPERTIES(pcre2-posix-static PROPERTIES OUTPUT_NAME pcre2-posix-static) -+ SET_TARGET_PROPERTIES(pcre2-8-static PROPERTIES OUTPUT_NAME pcre2-8) -+ SET_TARGET_PROPERTIES(pcre2-posix-static PROPERTIES OUTPUT_NAME pcre2-posix) - ELSE(MSVC) - SET_TARGET_PROPERTIES(pcre2-8-static PROPERTIES OUTPUT_NAME pcre2-8) - SET_TARGET_PROPERTIES(pcre2-posix-static PROPERTIES OUTPUT_NAME pcre2-posix) -@@ -777,7 +777,7 @@ IF(PCRE2_BUILD_PCRE2_16) - SET(targets ${targets} pcre2-16-static) - - IF(MSVC) -- SET_TARGET_PROPERTIES(pcre2-16-static PROPERTIES OUTPUT_NAME pcre2-16-static) -+ SET_TARGET_PROPERTIES(pcre2-16-static PROPERTIES OUTPUT_NAME pcre2-16) - ELSE(MSVC) - SET_TARGET_PROPERTIES(pcre2-16-static PROPERTIES OUTPUT_NAME pcre2-16) - ENDIF(MSVC) -@@ -829,7 +829,7 @@ IF(PCRE2_BUILD_PCRE2_32) - SET(targets ${targets} pcre2-32-static) - - IF(MSVC) -- SET_TARGET_PROPERTIES(pcre2-32-static PROPERTIES OUTPUT_NAME pcre2-32-static) -+ SET_TARGET_PROPERTIES(pcre2-32-static PROPERTIES OUTPUT_NAME pcre2-32) - ELSE(MSVC) - SET_TARGET_PROPERTIES(pcre2-32-static PROPERTIES OUTPUT_NAME pcre2-32) - ENDIF(MSVC) diff --git a/ports/pcre2/pcre2-10.35_fix-uwp.patch b/ports/pcre2/pcre2-10.35_fix-uwp.patch deleted file mode 100644 index 476dde0f6a4c..000000000000 --- a/ports/pcre2/pcre2-10.35_fix-uwp.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/CMakeLists.txt 2020-05-09 16:43:10.000000000 +0200 -+++ b/CMakeLists.txt 2020-06-03 20:57:17.026182500 +0200 -@@ -619,6 +619,7 @@ - - IF(MSVC) - ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS) -+ add_compile_options(/wd4146) - ENDIF(MSVC) - - SET(CMAKE_INCLUDE_CURRENT_DIR 1) diff --git a/ports/pcre2/portfile.cmake b/ports/pcre2/portfile.cmake deleted file mode 100644 index 5d6c5c39b6a6..000000000000 --- a/ports/pcre2/portfile.cmake +++ /dev/null @@ -1,73 +0,0 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO PCRE2Project/pcre2 - REF "pcre2-${VERSION}" - SHA512 3d0ee66e23809d3da2fe2bf4ed6e20b0fb96c293a91668935f6319e8d02e480eeef33da01e08a7436a18a1a85a116d83186b953520f394c866aad3cea73c7f5c - HEAD_REF master - PATCHES - pcre2-10.35_fix-uwp.patch - no-static-suffix.patch - fix-cmake.patch -) - -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" INSTALL_PDB) -string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" BUILD_STATIC_CRT) - -vcpkg_check_features( - OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - jit PCRE2_SUPPORT_JIT -) - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - ${FEATURE_OPTIONS} - -DBUILD_STATIC_LIBS=${BUILD_STATIC} - -DPCRE2_STATIC_RUNTIME=${BUILD_STATIC_CRT} - -DPCRE2_BUILD_PCRE2_8=ON - -DPCRE2_BUILD_PCRE2_16=ON - -DPCRE2_BUILD_PCRE2_32=ON - -DPCRE2_SUPPORT_UNICODE=ON - -DPCRE2_BUILD_TESTS=OFF - -DPCRE2_BUILD_PCRE2GREP=OFF - -DCMAKE_DISABLE_FIND_PACKAGE_BZip2=ON - -DCMAKE_DISABLE_FIND_PACKAGE_ZLIB=ON - -DCMAKE_DISABLE_FIND_PACKAGE_Readline=ON - -DCMAKE_DISABLE_FIND_PACKAGE_Editline=ON - -DINSTALL_MSVC_PDB=${INSTALL_PDB} - ) - -vcpkg_cmake_install() -vcpkg_copy_pdbs() - -file(READ "${CURRENT_PACKAGES_DIR}/include/pcre2.h" PCRE2_H) -if(BUILD_STATIC) - string(REPLACE "defined(PCRE2_STATIC)" "1" PCRE2_H "${PCRE2_H}") -else() - string(REPLACE "defined(PCRE2_STATIC)" "0" PCRE2_H "${PCRE2_H}") -endif() -file(WRITE "${CURRENT_PACKAGES_DIR}/include/pcre2.h" "${PCRE2_H}") - -vcpkg_fixup_pkgconfig() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) - -file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/man" - "${CURRENT_PACKAGES_DIR}/share/doc" - "${CURRENT_PACKAGES_DIR}/debug/include" - "${CURRENT_PACKAGES_DIR}/debug/man" - "${CURRENT_PACKAGES_DIR}/debug/share") - -if(BUILD_STATIC) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") -elseif(VCPKG_TARGET_IS_WINDOWS) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/bin/pcre2-config" "${CURRENT_PACKAGES_DIR}" "`dirname $0`/..") - if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/bin/pcre2-config") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/bin/pcre2-config" "${CURRENT_PACKAGES_DIR}" "`dirname $0`/../..") - endif() -endif() - -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/pcre2/usage b/ports/pcre2/usage deleted file mode 100644 index a8e97871bd52..000000000000 --- a/ports/pcre2/usage +++ /dev/null @@ -1,6 +0,0 @@ -The package pcre2 is compatible with built-in CMake targets: - - # Each component imports a target: - # TARGETS: pcre2::8BIT pcre2::16BIT pcre2::32BIT pcre2::POSIX - find_package(pcre2 CONFIG REQUIRED) - target_link_libraries(main PRIVATE pcre2::8BIT pcre2::POSIX) diff --git a/ports/pcre2/vcpkg.json b/ports/pcre2/vcpkg.json deleted file mode 100644 index 3dd6b9455d55..000000000000 --- a/ports/pcre2/vcpkg.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "pcre2", - "version": "10.42", - "port-version": 1, - "description": "Regular Expression pattern matching using the same syntax and semantics as Perl 5.", - "homepage": "https://github.com/PCRE2Project/pcre2", - "license": "BSD-3-Clause", - "dependencies": [ - { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true - } - ], - "default-features": [ - "platform-default-features" - ], - "features": { - "jit": { - "description": "Enable support for Just-In-Time compiling regex matchers", - "supports": "!emscripten" - }, - "platform-default-features": { - "description": "Enable default features", - "dependencies": [ - { - "name": "pcre2", - "features": [ - "jit" - ], - "platform": "!emscripten" - } - ] - } - } -} diff --git a/ports/vcpkg-cmake-config/copyright b/ports/vcpkg-cmake-config/copyright deleted file mode 100644 index 2e4eac8264fa..000000000000 --- a/ports/vcpkg-cmake-config/copyright +++ /dev/null @@ -1,23 +0,0 @@ -Copyright (c) Microsoft Corporation - -All rights reserved. - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/ports/vcpkg-cmake-config/portfile.cmake b/ports/vcpkg-cmake-config/portfile.cmake deleted file mode 100644 index fc3dbafd5184..000000000000 --- a/ports/vcpkg-cmake-config/portfile.cmake +++ /dev/null @@ -1,12 +0,0 @@ -if(NOT TARGET_TRIPLET STREQUAL _HOST_TRIPLET) - # make FATAL_ERROR in CI when issue #16773 fixed - message(WARNING "vcpkg-cmake-config is a host-only port; please mark it as a host port in your dependencies.") -endif() - -file(INSTALL - "${CMAKE_CURRENT_LIST_DIR}/vcpkg_cmake_config_fixup.cmake" - "${CMAKE_CURRENT_LIST_DIR}/vcpkg-port-config.cmake" - "${CMAKE_CURRENT_LIST_DIR}/copyright" - DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") - -set(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/ports/vcpkg-cmake-config/vcpkg-port-config.cmake b/ports/vcpkg-cmake-config/vcpkg-port-config.cmake deleted file mode 100644 index 980d411315c7..000000000000 --- a/ports/vcpkg-cmake-config/vcpkg-port-config.cmake +++ /dev/null @@ -1 +0,0 @@ -include("${CMAKE_CURRENT_LIST_DIR}/vcpkg_cmake_config_fixup.cmake") diff --git a/ports/vcpkg-cmake-config/vcpkg.json b/ports/vcpkg-cmake-config/vcpkg.json deleted file mode 100644 index df1da76c8f70..000000000000 --- a/ports/vcpkg-cmake-config/vcpkg.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "vcpkg-cmake-config", - "version-date": "2024-04-07", - "documentation": "https://vcpkg.io/en/docs/README.html", - "license": "MIT" -} diff --git a/ports/vcpkg-cmake-config/vcpkg_cmake_config_fixup.cmake b/ports/vcpkg-cmake-config/vcpkg_cmake_config_fixup.cmake deleted file mode 100644 index 246588129a91..000000000000 --- a/ports/vcpkg-cmake-config/vcpkg_cmake_config_fixup.cmake +++ /dev/null @@ -1,266 +0,0 @@ -include_guard(GLOBAL) - -function(vcpkg_cmake_config_fixup) - cmake_parse_arguments(PARSE_ARGV 0 "arg" "DO_NOT_DELETE_PARENT_CONFIG_PATH;NO_PREFIX_CORRECTION" "PACKAGE_NAME;CONFIG_PATH;TOOLS_PATH" "") - - if(DEFINED arg_UNPARSED_ARGUMENTS) - message(FATAL_ERROR "vcpkg_cmake_config_fixup was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}") - endif() - if(NOT arg_PACKAGE_NAME) - set(arg_PACKAGE_NAME "${PORT}") - endif() - if(NOT arg_CONFIG_PATH) - set(arg_CONFIG_PATH "share/${arg_PACKAGE_NAME}") - endif() - if(NOT arg_TOOLS_PATH) - set(arg_TOOLS_PATH "tools/${PORT}") - endif() - set(target_path "share/${arg_PACKAGE_NAME}") - - string(REPLACE "." "\\." EXECUTABLE_SUFFIX "${VCPKG_TARGET_EXECUTABLE_SUFFIX}") - - set(debug_share "${CURRENT_PACKAGES_DIR}/debug/${target_path}") - set(release_share "${CURRENT_PACKAGES_DIR}/${target_path}") - - if(NOT arg_CONFIG_PATH STREQUAL "share/${arg_PACKAGE_NAME}") - if(arg_CONFIG_PATH STREQUAL "share") - set(arg_CONFIG_PATH z_vcpkg_share) - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/share" "${CURRENT_PACKAGES_DIR}/debug/${arg_CONFIG_PATH}") - file(RENAME "${CURRENT_PACKAGES_DIR}/share" "${CURRENT_PACKAGES_DIR}/${arg_CONFIG_PATH}") - endif() - - set(debug_config "${CURRENT_PACKAGES_DIR}/debug/${arg_CONFIG_PATH}") - set(release_config "${CURRENT_PACKAGES_DIR}/${arg_CONFIG_PATH}") - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - if(NOT EXISTS "${debug_config}") - message(FATAL_ERROR "'${debug_config}' does not exist.") - endif() - - # This roundabout handling enables CONFIG_PATH = share - file(MAKE_DIRECTORY "${debug_share}") - file(GLOB files "${debug_config}/*") - file(COPY ${files} DESTINATION "${debug_share}") - file(REMOVE_RECURSE "${debug_config}") - endif() - - file(GLOB files "${release_config}/*") - file(COPY ${files} DESTINATION "${release_share}") - file(REMOVE_RECURSE "${release_config}") - - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - get_filename_component(debug_config_dir_name "${debug_config}" NAME) - string(TOLOWER "${debug_config_dir_name}" debug_config_dir_name) - if(debug_config_dir_name STREQUAL "cmake" AND NOT arg_DO_NOT_DELETE_PARENT_CONFIG_PATH) - file(REMOVE_RECURSE "${debug_config}") - else() - get_filename_component(debug_config_parent_dir "${debug_config}" DIRECTORY) - get_filename_component(debug_config_dir_name "${debug_config_parent_dir}" NAME) - string(TOLOWER "${debug_config_dir_name}" debug_config_dir_name) - if(debug_config_dir_name STREQUAL "cmake" AND NOT arg_DO_NOT_DELETE_PARENT_CONFIG_PATH) - file(REMOVE_RECURSE "${debug_config_parent_dir}") - endif() - endif() - endif() - - get_filename_component(release_config_dir_name "${release_config}" NAME) - string(TOLOWER "${release_config_dir_name}" release_config_dir_name) - if(release_config_dir_name STREQUAL "cmake" AND NOT arg_DO_NOT_DELETE_PARENT_CONFIG_PATH) - file(REMOVE_RECURSE "${release_config}") - else() - get_filename_component(release_config_parent_dir "${release_config}" DIRECTORY) - get_filename_component(release_config_dir_name "${release_config_parent_dir}" NAME) - string(TOLOWER "${release_config_dir_name}" release_config_dir_name) - if(release_config_dir_name STREQUAL "cmake" AND NOT arg_DO_NOT_DELETE_PARENT_CONFIG_PATH) - file(REMOVE_RECURSE "${release_config_parent_dir}") - endif() - endif() - endif() - - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - if(NOT EXISTS "${debug_share}") - message(FATAL_ERROR "'${debug_share}' does not exist.") - endif() - endif() - - file(GLOB_RECURSE release_targets - "${release_share}/*-release.cmake" - ) - foreach(release_target IN LISTS release_targets) - file(READ "${release_target}" contents) - string(REPLACE "${CURRENT_INSTALLED_DIR}" "\${_IMPORT_PREFIX}" contents "${contents}") - string(REGEX REPLACE "\\\${_IMPORT_PREFIX}/bin/([^ \"]+${EXECUTABLE_SUFFIX})" "\${_IMPORT_PREFIX}/${arg_TOOLS_PATH}/\\1" contents "${contents}") - file(WRITE "${release_target}" "${contents}") - endforeach() - - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(GLOB_RECURSE debug_targets - "${debug_share}/*-debug.cmake" - ) - foreach(debug_target IN LISTS debug_targets) - file(RELATIVE_PATH debug_target_rel "${debug_share}" "${debug_target}") - - file(READ "${debug_target}" contents) - string(REPLACE "${CURRENT_INSTALLED_DIR}" "\${_IMPORT_PREFIX}" contents "${contents}") - string(REGEX REPLACE "\\\${_IMPORT_PREFIX}/bin/([^ \";]+${EXECUTABLE_SUFFIX})" "\${_IMPORT_PREFIX}/${arg_TOOLS_PATH}/\\1" contents "${contents}") - string(REPLACE "\${_IMPORT_PREFIX}/lib" "\${_IMPORT_PREFIX}/debug/lib" contents "${contents}") - string(REPLACE "\${_IMPORT_PREFIX}/bin" "\${_IMPORT_PREFIX}/debug/bin" contents "${contents}") - file(WRITE "${release_share}/${debug_target_rel}" "${contents}") - - file(REMOVE "${debug_target}") - endforeach() - endif() - - #Fix ${_IMPORT_PREFIX} and absolute paths in cmake generated targets and configs; - #Since those can be renamed we have to check in every *.cmake, but only once. - file(GLOB_RECURSE main_cmakes "${release_share}/*.cmake") - if(NOT DEFINED Z_VCPKG_CMAKE_CONFIG_ALREADY_FIXED_UP) - vcpkg_list(SET Z_VCPKG_CMAKE_CONFIG_ALREADY_FIXED_UP) - endif() - foreach(already_fixed_up IN LISTS Z_VCPKG_CMAKE_CONFIG_ALREADY_FIXED_UP) - vcpkg_list(REMOVE_ITEM main_cmakes "${already_fixed_up}") - endforeach() - vcpkg_list(APPEND Z_VCPKG_CMAKE_CONFIG_ALREADY_FIXED_UP ${main_cmakes}) - set(Z_VCPKG_CMAKE_CONFIG_ALREADY_FIXED_UP "${Z_VCPKG_CMAKE_CONFIG_ALREADY_FIXED_UP}" CACHE INTERNAL "") - - foreach(main_cmake IN LISTS main_cmakes) - file(READ "${main_cmake}" contents) - # Note: I think the following comment is no longer true, since we now require the path to be `share/blah` - # however, I don't know it for sure. - # - nimazzuc - - #This correction is not correct for all cases. To make it correct for all cases it needs to consider - #original folder deepness to CURRENT_PACKAGES_DIR in comparison to the moved to folder deepness which - #is always at least (>=) 2, e.g. share/${PORT}. Currently the code assumes it is always 2 although - #this requirement is only true for the *Config.cmake. The targets are not required to be in the same - #folder as the *Config.cmake! - if(NOT arg_NO_PREFIX_CORRECTION) - string(REGEX REPLACE -[[get_filename_component\(_IMPORT_PREFIX "\${CMAKE_CURRENT_LIST_FILE}" PATH\)( -get_filename_component\(_IMPORT_PREFIX "\${_IMPORT_PREFIX}" PATH\))*]] -[[get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)]] - contents "${contents}") # see #1044 for details why this replacement is necessary. See #4782 why it must be a regex. - string(REGEX REPLACE -[[get_filename_component\(PACKAGE_PREFIX_DIR "\${CMAKE_CURRENT_LIST_DIR}/\.\./(\.\./)*" ABSOLUTE\)]] -[[get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../" ABSOLUTE)]] - contents "${contents}") - string(REGEX REPLACE -[[(get_filename_component\(PACKAGE_\${CMAKE_FIND_PACKAGE_NAME}_COUNTER_[1-9][0-9]*) "\${CMAKE_CURRENT_LIST_DIR}/\.\./(\.\./)*" ABSOLUTE\)]] -"\\1 \"\${CMAKE_CURRENT_LIST_DIR}/../../\" ABSOLUTE)" # adapt to https://gitlab.kitware.com/cmake/cmake/-/merge_requests/9390 - contents "${contents}") - string(REGEX REPLACE -[[get_filename_component\(PACKAGE_PREFIX_DIR "\${CMAKE_CURRENT_LIST_DIR}/\.\.((\\|/)\.\.)*" ABSOLUTE\)]] -[[get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../" ABSOLUTE)]] - contents "${contents}") # This is a meson-related workaround, see https://github.com/mesonbuild/meson/issues/6955 - string(REGEX REPLACE -[[(get_filename_component\(PACKAGE_\${CMAKE_FIND_PACKAGE_NAME}_COUNTER_[1-9][0-9]*) "\${CMAKE_CURRENT_LIST_DIR}/\.\.((\\|/)\.\.)*" ABSOLUTE\)]] -"\\1 \"\${CMAKE_CURRENT_LIST_DIR}/../../\" ABSOLUTE)" - contents "${contents}") - endif() - - # Merge release and debug configurations of target property INTERFACE_LINK_LIBRARIES. - string(REPLACE "${release_share}/" "${debug_share}/" debug_cmake "${main_cmake}") - if(DEFINED VCPKG_BUILD_TYPE) - # Skip. Warning: A release-only port in a dual-config installation - # may pull release dependencies into the debug configuration. - elseif(NOT contents MATCHES "INTERFACE_LINK_LIBRARIES") - # Skip. No relevant properties. - elseif(NOT contents MATCHES "# Generated CMake target import file\\.") - # Skip. No safe assumptions about a matching debug import file. - elseif(NOT EXISTS "${debug_cmake}") - message(SEND_ERROR "Did not find a debug import file matching '${main_cmake}'") - else() - file(READ "${debug_cmake}" debug_contents) - while(contents MATCHES "set_target_properties\\(([^ \$]*) PROPERTIES[^)]*\\)") - set(matched_command "${CMAKE_MATCH_0}") - string(REPLACE "+" "\\+" target "${CMAKE_MATCH_1}") - if(NOT debug_contents MATCHES "set_target_properties\\(${target} PROPERTIES[^)]*\\)") - message(SEND_ERROR "Did not find a debug configuration for target '${target}'.") - endif() - set(debug_command "${CMAKE_MATCH_0}") - string(REGEX MATCH " INTERFACE_LINK_LIBRARIES \"([^\"]*)\"" release_line "${matched_command}") - set(release_libs "${CMAKE_MATCH_1}") - string(REGEX MATCH " INTERFACE_LINK_LIBRARIES \"([^\"]*)\"" debug_line "${debug_command}") - set(debug_libs "${CMAKE_MATCH_1}") - z_vcpkg_cmake_config_fixup_merge(merged_libs release_libs debug_libs) - string(REPLACE "${release_line}" " INTERFACE_LINK_LIBRARIES \"${merged_libs}\"" updated_command "${matched_command}") - string(REPLACE "set_target_properties" "set_target_properties::done" updated_command "${updated_command}") # Prevend 2nd match - string(REPLACE "${matched_command}" "${updated_command}" contents "${contents}") - endwhile() - string(REPLACE "set_target_properties::done" "set_target_properties" contents "${contents}") # Restore original command - endif() - - #Fix absolute paths to installed dir with ones relative to ${CMAKE_CURRENT_LIST_DIR} - #This happens if vcpkg built libraries are directly linked to a target instead of using - #an imported target. - string(REPLACE "${CURRENT_INSTALLED_DIR}" [[${VCPKG_IMPORT_PREFIX}]] contents "${contents}") - file(TO_CMAKE_PATH "${CURRENT_PACKAGES_DIR}" cmake_current_packages_dir) - string(REPLACE "${cmake_current_packages_dir}" [[${VCPKG_IMPORT_PREFIX}]] contents "${contents}") - # If ${VCPKG_IMPORT_PREFIX} was actually used, inject a definition of it: - string(FIND "${contents}" [[${VCPKG_IMPORT_PREFIX}]] index) - if (NOT index STREQUAL "-1") - get_filename_component(main_cmake_dir "${main_cmake}" DIRECTORY) - # Calculate relative to be a sequence of "../" - file(RELATIVE_PATH relative "${main_cmake_dir}" "${cmake_current_packages_dir}") - string(PREPEND contents "get_filename_component(VCPKG_IMPORT_PREFIX \"\${CMAKE_CURRENT_LIST_DIR}\/${relative}\" ABSOLUTE)\n") - endif() - - file(WRITE "${main_cmake}" "${contents}") - endforeach() - - file(GLOB_RECURSE unused_files - "${debug_share}/*[Tt]argets.cmake" - "${debug_share}/*[Cc]onfig.cmake" - "${debug_share}/*[Cc]onfigVersion.cmake" - "${debug_share}/*[Cc]onfig-version.cmake" - ) - foreach(unused_file IN LISTS unused_files) - file(REMOVE "${unused_file}") - endforeach() - - # Remove /debug// if it's empty. - file(GLOB_RECURSE remaining_files "${debug_share}/*") - if(remaining_files STREQUAL "") - file(REMOVE_RECURSE "${debug_share}") - endif() - - # Remove /debug/share/ if it's empty. - file(GLOB_RECURSE remaining_files "${CURRENT_PACKAGES_DIR}/debug/share/*") - if(remaining_files STREQUAL "") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") - endif() -endfunction() - -# Merges link interface library lists for release and debug -# into a single expression which use generator expression as necessary. -function(z_vcpkg_cmake_config_fixup_merge out_var release_var debug_var) - set(release_libs "VCPKG;${${release_var}}") - string(REGEX REPLACE ";optimized;([^;]*)" ";\\1" release_libs "${release_libs}") - string(REGEX REPLACE ";debug;([^;]*)" ";" release_libs "${release_libs}") - list(REMOVE_AT release_libs 0) - list(FILTER release_libs EXCLUDE REGEX [[^\\[$]<\\[$]:]]) - list(TRANSFORM release_libs REPLACE [[^\\[$]<\\[$]>:(.*)>$]] "\\1") - - set(debug_libs "VCPKG;${${debug_var}}") - string(REGEX REPLACE ";optimized;([^;]*)" ";" debug_libs "${debug_libs}") - string(REGEX REPLACE ";debug;([^;]*)" ";\\1" debug_libs "${debug_libs}") - list(REMOVE_AT debug_libs 0) - list(FILTER debug_libs EXCLUDE REGEX [[^\\[$]<\\[$]>:]]) - list(TRANSFORM debug_libs REPLACE [[^\\[$]<\\[$]:(.*)>$]] "\\1") - - set(merged_libs "") - foreach(release_lib debug_lib IN ZIP_LISTS release_libs debug_libs) - if(release_lib STREQUAL debug_lib) - list(APPEND merged_libs "${release_lib}") - else() - if(release_lib) - list(APPEND merged_libs "\\\$<\\\$>:${release_lib}>") - endif() - if(debug_lib) - list(APPEND merged_libs "\\\$<\\\$:${debug_lib}>") - endif() - endif() - endforeach() - set("${out_var}" "${merged_libs}" PARENT_SCOPE) -endfunction() diff --git a/tiledb/sm/filter/test/unit_bit_width_reduction_pipeline.cc b/tiledb/sm/filter/test/unit_bit_width_reduction_pipeline.cc index 9d2717548445..5dd2d9d93f63 100644 --- a/tiledb/sm/filter/test/unit_bit_width_reduction_pipeline.cc +++ b/tiledb/sm/filter/test/unit_bit_width_reduction_pipeline.cc @@ -34,6 +34,7 @@ #include #include +#include #include "../bit_width_reduction_filter.h" #include "filter_test_support.h" diff --git a/tiledb/sm/filter/test/unit_xor_pipeline.cc b/tiledb/sm/filter/test/unit_xor_pipeline.cc index 3f4e18a17ea7..d384743ebca2 100644 --- a/tiledb/sm/filter/test/unit_xor_pipeline.cc +++ b/tiledb/sm/filter/test/unit_xor_pipeline.cc @@ -34,6 +34,7 @@ #include #include +#include #include "../bit_width_reduction_filter.h" #include "../bitshuffle_filter.h" diff --git a/tiledb/sm/serialization/tiledb-rest.capnp.h b/tiledb/sm/serialization/tiledb-rest.capnp.h index a528dd8bb156..2035123aeab8 100644 --- a/tiledb/sm/serialization/tiledb-rest.capnp.h +++ b/tiledb/sm/serialization/tiledb-rest.capnp.h @@ -9,7 +9,7 @@ #ifndef CAPNP_VERSION #error \ "CAPNP_VERSION is not defined, is capnp/generated-header-support.h missing?" -#elif CAPNP_VERSION != 1000001 +#elif CAPNP_VERSION != 1000002 #error \ "Version mismatch between generated code and library headers. You must use the same version of the Cap'n Proto compiler and library." #endif diff --git a/vcpkg.json b/vcpkg.json index 21f28a1eacd1..8b6d524d37cb 100644 --- a/vcpkg.json +++ b/vcpkg.json @@ -1,5 +1,5 @@ { - "builtin-baseline": "72010900b7cee36cea77aebb97695095c9358eaf", + "builtin-baseline": "7aeffc91033ad35cc4e2c152f213a866ec6c11ac", "dependencies": [ "bzip2", "libmagic", @@ -17,12 +17,7 @@ "description": "Support Azure Blob Storage", "dependencies": [ "azure-storage-blobs-cpp", - "azure-identity-cpp", - { - "name": "libxml2", - "default-features": false, - "platform": "!windows" - } + "azure-identity-cpp" ] }, "gcs": { @@ -68,8 +63,8 @@ "dependencies": [ "catch2", { - "name": "libfaketime", - "platform": "!windows" + "name": "libfaketime", + "platform": "!windows" } ] }, From 2c7812a53f6a88e5ede490d5fcbdd64724b90284 Mon Sep 17 00:00:00 2001 From: Theodore Tsirpanis Date: Thu, 15 Aug 2024 13:13:03 +0300 Subject: [PATCH 3/6] Update `LoadedFragmentMetadata::create` to return a shared pointer. (#5214) [SC-51612](https://app.shortcut.com/tiledb-inc/story/51612/use-make-shared-to-create-loadedfragmentmetadata) Using `make_shared` to create the shared pointer is more efficient because the control plane is located next to the object. --- TYPE: NO_HISTORY --- tiledb/sm/fragment/loaded_fragment_metadata.cc | 7 ++++--- tiledb/sm/fragment/loaded_fragment_metadata.h | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/tiledb/sm/fragment/loaded_fragment_metadata.cc b/tiledb/sm/fragment/loaded_fragment_metadata.cc index 0bc0b7b1955d..b4e2776038f0 100644 --- a/tiledb/sm/fragment/loaded_fragment_metadata.cc +++ b/tiledb/sm/fragment/loaded_fragment_metadata.cc @@ -75,15 +75,16 @@ LoadedFragmentMetadata::LoadedFragmentMetadata( /* API */ /* ********************************* */ -LoadedFragmentMetadata* LoadedFragmentMetadata::create( +shared_ptr LoadedFragmentMetadata::create( FragmentMetadata& parent, shared_ptr memory_tracker, format_version_t version) { if (version <= 2) { - return tdb_new(V1V2PreloadedFragmentMetadata, parent, memory_tracker); + return make_shared( + HERE(), parent, memory_tracker); } - return tdb_new(OndemandFragmentMetadata, parent, memory_tracker); + return make_shared(HERE(), parent, memory_tracker); } uint64_t LoadedFragmentMetadata::persisted_tile_size( diff --git a/tiledb/sm/fragment/loaded_fragment_metadata.h b/tiledb/sm/fragment/loaded_fragment_metadata.h index b7d1845ebe8f..cd34362d73b5 100644 --- a/tiledb/sm/fragment/loaded_fragment_metadata.h +++ b/tiledb/sm/fragment/loaded_fragment_metadata.h @@ -95,7 +95,7 @@ class LoadedFragmentMetadata { * metadata corresponds to. * @param version The format version of the fragment */ - static LoadedFragmentMetadata* create( + static shared_ptr create( FragmentMetadata& parent, shared_ptr memory_tracker, format_version_t version); From 3084a0f1641a9c18b3ce20c22a55c113adcdf85e Mon Sep 17 00:00:00 2001 From: KiterLuc <67824247+KiterLuc@users.noreply.github.com> Date: Thu, 15 Aug 2024 12:38:23 +0200 Subject: [PATCH 4/6] Update dev history with content from 2.25. (#5240) TYPE: NO_HISTORY DESC: Update dev history with content from 2.25. --- HISTORY.md | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/HISTORY.md b/HISTORY.md index 4b78cef9702f..096b936e4d48 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,3 +1,67 @@ +# TileDB v2.25.0 Release Notes + +## Announcements + +* TileDB 2.25, includes the new current domain feature which allows to specify an area of the domain that is considered to be active for sparse arrays. + +## Deprecation announcements + +* The HDFS backend is no longer officially tested by TileDB. As announced before, it is scheduled to be removed in version 2.28, to be released in Q4 2024. [#5085](https://github.com/TileDB-Inc/TileDB/pull/5085) +* Support for reading sparse fragments in dense arrays will be removed in version 2.27. Writting sparse fragments in dense arrays was removed in version 2.5. [#5116](https://github.com/TileDB-Inc/TileDB/pull/5116) +* Support for returning the same results multiple times in sparse reads when ranges overlap will be removed in version 2.27. This was possible by setting `sm.merge_overlapping_ranges_experimental` to `false`, but the default `true` behavior has been there since version 2.17. + +## New features + +* REST support for current domain. [#5136](https://github.com/TileDB-Inc/TileDB/pull/5136) +* Disallow writing outside of the current domain. [#5165](https://github.com/TileDB-Inc/TileDB/pull/5165) +* Current domain: disallow reading outside of current domain. [#5168](https://github.com/TileDB-Inc/TileDB/pull/5168) + +## Improvements + +* Improve memory consumption for tile structures in dense reader. [#5046](https://github.com/TileDB-Inc/TileDB/pull/5046) + +## Defects removed + +* Fail early when trying to add members with relative URIs in remote groups. [#5025](https://github.com/TileDB-Inc/TileDB/pull/5025) +* Correct defective return value in `Posix::ls_with_sizes`. [#5037](https://github.com/TileDB-Inc/TileDB/pull/5037) +* Prevent constructing attribute with invalid cell_val_num. [#4952](https://github.com/TileDB-Inc/TileDB/pull/4952) +* Do not mask failures when listing a directory fails on POSIX. [#5043](https://github.com/TileDB-Inc/TileDB/pull/5043) +* Fix write queries using `sm.var_offsets.extra_element=true`. [#5033](https://github.com/TileDB-Inc/TileDB/pull/5033) +* Fix segfaults in WebP queries ran in parallel. [#5065](https://github.com/TileDB-Inc/TileDB/pull/5065) +* Fix exceptions with message: ```unknown exception type; no further information```. [#5080](https://github.com/TileDB-Inc/TileDB/pull/5080) +* Fix check for out of bounds dimension in Dimension::dimension_ptr. [#5094](https://github.com/TileDB-Inc/TileDB/pull/5094) +* Fix array latest schema selection for same MS timestamps schemas. [#5143](https://github.com/TileDB-Inc/TileDB/pull/5143) +* Fix serialization issue with schema evolution for query v3. [#5154](https://github.com/TileDB-Inc/TileDB/pull/5154) + +## Configuration changes + +* Add `vfs.s3.storage_class` config option to set the storage class of newly uploaded S3 objects. [#5053](https://github.com/TileDB-Inc/TileDB/pull/5053) +* Add `rest.custom_headers.*` config option to set custom headers on REST requests. [#5104](https://github.com/TileDB-Inc/TileDB/pull/5104) +* Add `rest.payer_namespace` config option to set the namespace to be charged for REST requests. [#5105](https://github.com/TileDB-Inc/TileDB/pull/5105) + +## API changes + +### C API + +* Add CurrentDomain API support. [#5041](https://github.com/TileDB-Inc/TileDB/pull/5041) + +### C++ API + +* Current Domain CPP API implementation. [#5056](https://github.com/TileDB-Inc/TileDB/pull/5056) + +## Build System Changes + +* Backwards compatibility with older CMake versions for libfaketime. [#5049](https://github.com/TileDB-Inc/TileDB/pull/5049) +* Automatic downloading of vcpkg can be disabled by enabling the `TILEDB_DISABLE_AUTO_VCPKG` CMake option, in addition to setting the environment variable with trhe same name. [#5048](https://github.com/TileDB-Inc/TileDB/pull/5048) +* Improve embedding of `magic.mgc` and allow compiling with any libmagic version. [#4989](https://github.com/TileDB-Inc/TileDB/pull/4989) + +## Internal Improvements + +* Implement actualize function that orders data underlying `alt_var_length_view` [#5087](https://github.com/TileDB-Inc/TileDB/pull/5087) +* Implement a partitioning function to partition cells to fit into fixed size bins [#5092](https://github.com/TileDB-Inc/TileDB/pull/5092) +* Implementation of a `chunk_view` class to provide a subset of C++23 chunk_view, suitable for supporting external sort. [#5035](https://github.com/TileDB-Inc/TileDB/pull/5035) +* Tests that the chunks in a `chunk_view` can be separately sorted. [#5052](https://github.com/TileDB-Inc/TileDB/pull/5052) + # TileDB v2.24.2 Release Notes ## Defects removed From ca51aa0f58ad620da9970eb774cd6dbb66ce1111 Mon Sep 17 00:00:00 2001 From: KiterLuc <67824247+KiterLuc@users.noreply.github.com> Date: Thu, 15 Aug 2024 12:51:03 +0200 Subject: [PATCH 5/6] Bump dev version to 2.27.0. (#5241) --- TYPE: NO_HISTORY DESC: Bump dev version to 2.27.0. --- tiledb/doxygen/source/conf.py | 4 ++-- tiledb/sm/c_api/tiledb_version.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tiledb/doxygen/source/conf.py b/tiledb/doxygen/source/conf.py index 8768bc04b2c5..b974dede4a30 100644 --- a/tiledb/doxygen/source/conf.py +++ b/tiledb/doxygen/source/conf.py @@ -76,9 +76,9 @@ author = 'TileDB, Inc.' # The short X.Y version. -version = '2.26' +version = '2.27' # The full version, including alpha/beta/rc tags. -release = '2.26.0' +release = '2.27.0' # Breathe extension configuration. doxygen_xml_dir = os.path.join(TILEDB_BUILD_DIR, 'xml/') diff --git a/tiledb/sm/c_api/tiledb_version.h b/tiledb/sm/c_api/tiledb_version.h index 54c76b536022..2ee548169b7b 100644 --- a/tiledb/sm/c_api/tiledb_version.h +++ b/tiledb/sm/c_api/tiledb_version.h @@ -27,5 +27,5 @@ */ #define TILEDB_VERSION_MAJOR 2 -#define TILEDB_VERSION_MINOR 26 +#define TILEDB_VERSION_MINOR 27 #define TILEDB_VERSION_PATCH 0 From 5b92634492e6e1a821280a95b9df6cca8a561bfb Mon Sep 17 00:00:00 2001 From: Theodore Tsirpanis Date: Thu, 15 Aug 2024 14:28:47 +0300 Subject: [PATCH 6/6] Do not set `Content-MD5` in S3. (#5226) [SC-52300](https://app.shortcut.com/tiledb-inc/story/52300/do-not-set-content-md5-in-s3) This PR removes setting the `Content-MD5` header on S3 uploads. There are multiple reasons for this: * The header is [not supported on directory buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-differences.html#s3-express-differences-unsupported-features) used by S3 Express One Zone. * Computing the MD5 hash of the data immediately before uploading them has a performance overhead and does not provide additional security. * We don't do a similar thing in the other cloud VFSes. Validated by: * Creating, writing, consolidating and vacuuming an array on a directory bucket. * Running `quickstart_dense_cpp` on a Google Cloud Storage bucket using the S3 compatibility API. --- TYPE: BUG DESC: Fix incompatibilities with S3 Express One Zone, by stopping setting `Content-MD5` on all S3 uploads. Co-authored-by: KiterLuc <67824247+KiterLuc@users.noreply.github.com> --- tiledb/sm/filesystem/s3.cc | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/tiledb/sm/filesystem/s3.cc b/tiledb/sm/filesystem/s3.cc index c6af58a93ec0..ee1ccab5b28d 100644 --- a/tiledb/sm/filesystem/s3.cc +++ b/tiledb/sm/filesystem/s3.cc @@ -1786,12 +1786,6 @@ void S3::write_direct(const URI& uri, const void* buffer, uint64_t length) { put_object_request.SetBody(stream); put_object_request.SetContentLength(length); - // we only want to hash once, and must do it after setting the body - auto md5_hash = - Aws::Utils::HashingUtils::CalculateMD5(*put_object_request.GetBody()); - - put_object_request.SetContentMD5( - Aws::Utils::HashingUtils::Base64Encode(md5_hash)); put_object_request.SetContentType("application/octet-stream"); put_object_request.SetBucket(aws_uri.GetAuthority()); put_object_request.SetKey(aws_uri.GetPath()); @@ -1815,16 +1809,6 @@ void S3::write_direct(const URI& uri, const void* buffer, uint64_t length) { outcome_error_message(put_object_outcome)); } - // verify the MD5 hash of the result - // note the etag is hex-encoded not base64 - Aws::StringStream md5_hex; - md5_hex << "\"" << Aws::Utils::HashingUtils::HexEncode(md5_hash) << "\""; - if (md5_hex.str() != put_object_outcome.GetResult().GetETag()) { - throw S3Exception( - "Object uploaded successfully, but MD5 hash does " - "not match result from server!' "); - } - throw_if_not_ok(wait_for_object_to_propagate( put_object_request.GetBucket(), put_object_request.GetKey())); } @@ -1974,8 +1958,6 @@ S3::MakeUploadPartCtx S3::make_upload_part_req( upload_part_request.SetPartNumber(upload_part_num); upload_part_request.SetUploadId(upload_id); upload_part_request.SetBody(stream); - upload_part_request.SetContentMD5(Aws::Utils::HashingUtils::Base64Encode( - Aws::Utils::HashingUtils::CalculateMD5(*stream))); upload_part_request.SetContentLength(length); if (request_payer_ != Aws::S3::Model::RequestPayer::NOT_SET) upload_part_request.SetRequestPayer(request_payer_);