diff --git a/recipes/azure-core-cpp/0001-remove-wil-from-exported-config.patch b/recipes/azure-core-cpp/0001-remove-wil-from-exported-config.patch new file mode 100644 index 0000000000000..4b480344f8c40 --- /dev/null +++ b/recipes/azure-core-cpp/0001-remove-wil-from-exported-config.patch @@ -0,0 +1,15 @@ +diff --git a/sdk/core/azure-core/vcpkg/Config.cmake.in b/sdk/core/azure-core/vcpkg/Config.cmake.in +index 412cce6d..e1f1d037 100644 +--- a/sdk/core/azure-core/vcpkg/Config.cmake.in ++++ b/sdk/core/azure-core/vcpkg/Config.cmake.in +@@ -10,10 +10,6 @@ if(@BUILD_TRANSPORT_CURL@) + find_dependency(CURL @CURL_MIN_REQUIRED_VERSION@) + endif() + +-if(@BUILD_TRANSPORT_WINHTTP@) +- find_dependency(wil) +-endif() +- + if (NOT WIN32) + find_dependency(OpenSSL) + endif() diff --git a/recipes/azure-core-cpp/bld.bat b/recipes/azure-core-cpp/bld.bat new file mode 100644 index 0000000000000..336b75534e06a --- /dev/null +++ b/recipes/azure-core-cpp/bld.bat @@ -0,0 +1,17 @@ +@echo on + +set "AZURE_SDK_DISABLE_AUTO_VCPKG=ON" + +cd sdk\core\azure-core + +mkdir build +cd build +cmake %CMAKE_ARGS% ^ + -G Ninja ^ + -D BUILD_SHARED_LIBS=ON ^ + -D BUILD_TRANSPORT_WINHTTP=ON ^ + .. +if %ERRORLEVEL% neq 0 exit 1 + +cmake --build . --target install --config Release +if %ERRORLEVEL% neq 0 exit 1 diff --git a/recipes/azure-core-cpp/build.sh b/recipes/azure-core-cpp/build.sh new file mode 100644 index 0000000000000..61f8ef69a346d --- /dev/null +++ b/recipes/azure-core-cpp/build.sh @@ -0,0 +1,26 @@ +#!/bin/bash +set -eux + +# Disable installing dependencies with vcpkg +# https://github.com/Azure/azure-sdk-for-cpp/blob/main/CONTRIBUTING.md#customize-the-vcpkg-dependency-integration +# https://github.com/search?utf8=%E2%9C%93&q=AZURE_SDK_DISABLE_AUTO_VCPKG&type=code +export AZURE_SDK_DISABLE_AUTO_VCPKG=ON + +# https://conda-forge.org/docs/maintainer/knowledge_base.html#newer-c-features-with-old-sdk +if [[ "${target_platform}" == osx-* ]] +then + CXXFLAGS="${CXXFLAGS} -D_LIBCPP_DISABLE_AVAILABILITY" +fi + +cd sdk/core/azure-core + +# https://github.com/Azure/azure-sdk-for-cpp/blob/main/CONTRIBUTING.md#building-the-project +mkdir build +cd build +cmake $CMAKE_ARGS \ + -D CMAKE_BUILD_TYPE=Release \ + -G Ninja \ + -D BUILD_SHARED_LIBS=ON \ + -D BUILD_TRANSPORT_CURL=ON \ + .. +cmake --build . --target install --config Release diff --git a/recipes/azure-core-cpp/meta.yaml b/recipes/azure-core-cpp/meta.yaml new file mode 100644 index 0000000000000..81862fed0ce4e --- /dev/null +++ b/recipes/azure-core-cpp/meta.yaml @@ -0,0 +1,75 @@ +{% set version = "1.10.0" %} +{% set sha256 = "e6ae26ad30376bef6272024564764ba7bf5756063dc94cc4b74180cd004ab75e" %} + +package: + name: azure-core-cpp + version: {{ version }} + +source: + url: https://github.com/Azure/azure-sdk-for-cpp/archive/refs/tags/azure-core_{{ version }}.tar.gz + sha256: {{ sha256 }} + patches: + # https://github.com/Azure/azure-sdk-for-cpp/issues/4784 + # https://github.com/Azure/azure-sdk-for-cpp/pull/4785 + - 0001-remove-wil-from-exported-config.patch + +build: + number: 0 + run_exports: + - {{ pin_subpackage("azure-core-cpp", max_pin="x") }} + +# https://github.com/Azure/azure-sdk-for-cpp/blob/main/sdk/core/azure-core/vcpkg.json +requirements: + build: + - {{ compiler("cxx") }} + - cmake + - ninja + host: + - libcurl + - openssl # [not win] + - wil # [win] + +test: + requires: + - {{ compiler('cxx') }} + - cmake + - ninja + commands: + # shared libs + - test -f ${PREFIX}/lib/libazure-core${SHLIB_EXT} # [unix] + - if not exist %LIBRARY_BIN%\azure-core.dll exit 1 # [win] + - if not exist %LIBRARY_LIB%\azure-core.lib exit 1 # [win] + + # headers + - test -f ${PREFIX}/include/azure/core.hpp # [unix] + - if not exist %LIBRARY_INC%\azure\core.hpp exit 1 # [win] + + # CMake metadata + - test -f ${PREFIX}/share/azure-core-cpp/azure-core-cppTargets.cmake # [unix] + - if not exist %LIBRARY_PREFIX%\share\azure-core-cpp\azure-core-cppTargets.cmake exit 1 # [win] + + # CMake find_package() and target_link_libraries() + - cmake $CMAKE_ARGS -G Ninja -S $RECIPE_DIR/test-linking-src -B test-linking-bld # [unix] + - cmake %CMAKE_ARGS% -G Ninja -S %RECIPE_DIR%\test-linking-src -B test-linking-bld # [win] + - cmake --build test-linking-bld + - cmake --build test-linking-bld --target test + +about: + home: https://github.com/Azure/azure-sdk-for-cpp/ + summary: Azure SDK Core Library for C++ + description: >- + Azure::Core (`azure-core`) provides shared primitives, abstractions, and + helpers for modern Azure SDK client libraries written in the C++ + license: MIT + license_family: MIT + license_file: + - LICENSE.txt + - sdk/core/azure-core/NOTICE.txt + doc_url: https://azure.github.io/azure-sdk-for-cpp/ + dev_url: https://github.com/Azure/azure-sdk-for-cpp/tree/main/sdk/core/azure-core/ + +extra: + recipe-maintainers: + - jdblischak + - jjerphan + - Shelnutt2 diff --git a/recipes/azure-core-cpp/test-linking-src/CMakeLists.txt b/recipes/azure-core-cpp/test-linking-src/CMakeLists.txt new file mode 100644 index 0000000000000..f63e43944842e --- /dev/null +++ b/recipes/azure-core-cpp/test-linking-src/CMakeLists.txt @@ -0,0 +1,17 @@ +cmake_minimum_required(VERSION 3.20) + +project( + test-azure-sdk-for-cpp + LANGUAGES CXX +) + +add_executable( + test-azure-sdk-for-cpp + test.cpp +) + +find_package(azure-core-cpp CONFIG REQUIRED) +target_link_libraries(test-azure-sdk-for-cpp PRIVATE Azure::azure-core) + +enable_testing() +add_test(NAME test-azure-sdk-for-cpp COMMAND test-azure-sdk-for-cpp) diff --git a/recipes/azure-core-cpp/test-linking-src/test.cpp b/recipes/azure-core-cpp/test-linking-src/test.cpp new file mode 100644 index 0000000000000..badc99f4c9506 --- /dev/null +++ b/recipes/azure-core-cpp/test-linking-src/test.cpp @@ -0,0 +1,14 @@ +// copy-pasted example from README +// https://github.com/Azure/azure-sdk-for-cpp/blob/96c34cb5f401e4a379c37e9d05e79980e6e0d50a/sdk/core/azure-core/README.md +#include + +int main() +{ + using namespace Azure::Core::Diagnostics; + + // See above for the level descriptions. + Logger::SetLevel(Logger::Level::Verbose); + + // SetListener accepts std::function<>, which can be either lambda or a function pointer. + Logger::SetListener([&](auto lvl, auto msg){ /* handle Logger::Level lvl and std::string msg */ }); +} diff --git a/recipes/azure-identity-cpp/CMakeLists.txt b/recipes/azure-identity-cpp/CMakeLists.txt new file mode 100644 index 0000000000000..a4dd1c8f1fd78 --- /dev/null +++ b/recipes/azure-identity-cpp/CMakeLists.txt @@ -0,0 +1,4 @@ +cmake_minimum_required(VERSION 3.0) +project(azure-identity-cpp-dependent-project LANGUAGES CXX) + +find_package(azure-identity-cpp CONFIG REQUIRED) diff --git a/recipes/azure-identity-cpp/bld.bat b/recipes/azure-identity-cpp/bld.bat new file mode 100644 index 0000000000000..5f3a9a699bff6 --- /dev/null +++ b/recipes/azure-identity-cpp/bld.bat @@ -0,0 +1,17 @@ +@echo on + +set "AZURE_SDK_DISABLE_AUTO_VCPKG=ON" + +cd sdk\identity\azure-identity + +mkdir build +cd build +cmake %CMAKE_ARGS% ^ + -G Ninja ^ + -D BUILD_SHARED_LIBS=ON ^ + -D BUILD_TRANSPORT_WINHTTP=ON ^ + .. +if %ERRORLEVEL% neq 0 exit 1 + +cmake --build . --target install --config Release +if %ERRORLEVEL% neq 0 exit 1 diff --git a/recipes/azure-identity-cpp/build.sh b/recipes/azure-identity-cpp/build.sh new file mode 100644 index 0000000000000..0bc21fdde7625 --- /dev/null +++ b/recipes/azure-identity-cpp/build.sh @@ -0,0 +1,26 @@ +#!/bin/bash +set -eux + +# Disable installing dependencies with vcpkg +# https://github.com/Azure/azure-sdk-for-cpp/blob/main/CONTRIBUTING.md#customize-the-vcpkg-dependency-integration +# https://github.com/search?utf8=%E2%9C%93&q=AZURE_SDK_DISABLE_AUTO_VCPKG&type=code +export AZURE_SDK_DISABLE_AUTO_VCPKG=ON + +# https://conda-forge.org/docs/maintainer/knowledge_base.html#newer-c-features-with-old-sdk +if [[ "${target_platform}" == osx-* ]] +then + CXXFLAGS="${CXXFLAGS} -D_LIBCPP_DISABLE_AVAILABILITY" +fi + +cd sdk/identity/azure-identity + +# https://github.com/Azure/azure-sdk-for-cpp/blob/main/CONTRIBUTING.md#building-the-project +mkdir build +cd build +cmake $CMAKE_ARGS \ + -D CMAKE_BUILD_TYPE=Release \ + -G Ninja \ + -D BUILD_SHARED_LIBS=ON \ + -D BUILD_TRANSPORT_CURL=ON \ + .. +cmake --build . --target install --config Release diff --git a/recipes/azure-identity-cpp/meta.yaml b/recipes/azure-identity-cpp/meta.yaml new file mode 100644 index 0000000000000..2eec8530bfa24 --- /dev/null +++ b/recipes/azure-identity-cpp/meta.yaml @@ -0,0 +1,73 @@ +{% set version = "1.5.1" %} +{% set sha256 = "651a660592540c267420b7e1c8dc98428a17396e45f7f6c92a864ab9a4fa028a" %} + +package: + name: azure-identity-cpp + version: {{ version }} + +source: + url: https://github.com/Azure/azure-sdk-for-cpp/archive/refs/tags/azure-identity_{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage("azure-identity-cpp", max_pin="x") }} + +# https://github.com/Azure/azure-sdk-for-cpp/blob/main/sdk/identity/azure-identity/vcpkg/vcpkg.json +requirements: + build: + - {{ compiler("cxx") }} + - cmake + - ninja + host: + # requires azure-core-cpp >=1.9.0 + - azure-core-cpp + - openssl + +test: + requires: + - {{ compiler('cxx') }} + - cmake + - ninja + files: + - CMakeLists.txt + commands: + # shared libs + - test -f ${PREFIX}/lib/libazure-identity${SHLIB_EXT} # [unix] + - if not exist %LIBRARY_BIN%\azure-identity.dll exit 1 # [win] + - if not exist %LIBRARY_LIB%\azure-identity.lib exit 1 # [win] + + # headers + - test -f ${PREFIX}/include/azure/identity.hpp # [unix] + - if not exist %LIBRARY_INC%\azure\identity.hpp exit 1 # [win] + + # CMake metadata + - test -f ${PREFIX}/share/azure-identity-cpp/azure-identity-cppTargets.cmake # [unix] + - if not exist %LIBRARY_PREFIX%\share\azure-identity-cpp\azure-identity-cppTargets.cmake exit 1 # [win] + + # CMake find_package() + - cmake $CMAKE_ARGS -G Ninja -S $RECIPE_DIR -B test-find-package # [unix] + - cmake %CMAKE_ARGS% -G Ninja -S %RECIPE_DIR% -B test-find-package # [win] + +about: + home: https://github.com/Azure/azure-sdk-for-cpp/ + summary: Azure Identity client library for C++ + description: >- + The Azure Identity library provides Azure Active Directory token + authentication support across the Azure SDK. It provides a set of + `TokenCredential` implementations which can be used to construct Azure SDK + clients which support AAD token authentication. + license: MIT + license_family: MIT + license_file: + - LICENSE.txt + - sdk/identity/azure-identity/NOTICE.txt + doc_url: https://azure.github.io/azure-sdk-for-cpp/ + dev_url: https://github.com/Azure/azure-sdk-for-cpp/tree/main/sdk/identity/azure-identity/ + +extra: + recipe-maintainers: + - jdblischak + - jjerphan + - Shelnutt2 diff --git a/recipes/azure-storage-blobs-cpp/CMakeLists.txt b/recipes/azure-storage-blobs-cpp/CMakeLists.txt new file mode 100644 index 0000000000000..edf6a6a6d6fcb --- /dev/null +++ b/recipes/azure-storage-blobs-cpp/CMakeLists.txt @@ -0,0 +1,4 @@ +cmake_minimum_required(VERSION 3.0) +project(azure-storage-blobs-cpp-dependent-project LANGUAGES CXX) + +find_package(azure-storage-blobs-cpp CONFIG REQUIRED) diff --git a/recipes/azure-storage-blobs-cpp/bld.bat b/recipes/azure-storage-blobs-cpp/bld.bat new file mode 100644 index 0000000000000..9755f8b59a5f8 --- /dev/null +++ b/recipes/azure-storage-blobs-cpp/bld.bat @@ -0,0 +1,17 @@ +@echo on + +set "AZURE_SDK_DISABLE_AUTO_VCPKG=ON" + +cd sdk\storage\azure-storage-blobs + +mkdir build +cd build +cmake %CMAKE_ARGS% ^ + -G Ninja ^ + -D BUILD_SHARED_LIBS=ON ^ + -D BUILD_TRANSPORT_WINHTTP=ON ^ + .. +if %ERRORLEVEL% neq 0 exit 1 + +cmake --build . --target install --config Release +if %ERRORLEVEL% neq 0 exit 1 diff --git a/recipes/azure-storage-blobs-cpp/build.sh b/recipes/azure-storage-blobs-cpp/build.sh new file mode 100644 index 0000000000000..2c35aeff14ab4 --- /dev/null +++ b/recipes/azure-storage-blobs-cpp/build.sh @@ -0,0 +1,26 @@ +#!/bin/bash +set -eux + +# Disable installing dependencies with vcpkg +# https://github.com/Azure/azure-sdk-for-cpp/blob/main/CONTRIBUTING.md#customize-the-vcpkg-dependency-integration +# https://github.com/search?utf8=%E2%9C%93&q=AZURE_SDK_DISABLE_AUTO_VCPKG&type=code +export AZURE_SDK_DISABLE_AUTO_VCPKG=ON + +# https://conda-forge.org/docs/maintainer/knowledge_base.html#newer-c-features-with-old-sdk +if [[ "${target_platform}" == osx-* ]] +then + CXXFLAGS="${CXXFLAGS} -D_LIBCPP_DISABLE_AVAILABILITY" +fi + +cd sdk/storage/azure-storage-blobs + +# https://github.com/Azure/azure-sdk-for-cpp/blob/main/CONTRIBUTING.md#building-the-project +mkdir build +cd build +cmake $CMAKE_ARGS \ + -D CMAKE_BUILD_TYPE=Release \ + -G Ninja \ + -D BUILD_SHARED_LIBS=ON \ + -D BUILD_TRANSPORT_CURL=ON \ + .. +cmake --build . --target install --config Release diff --git a/recipes/azure-storage-blobs-cpp/meta.yaml b/recipes/azure-storage-blobs-cpp/meta.yaml new file mode 100644 index 0000000000000..c8ba29a08acae --- /dev/null +++ b/recipes/azure-storage-blobs-cpp/meta.yaml @@ -0,0 +1,73 @@ +{% set version = "12.7.0" %} +{% set sha256 = "a28a665c740ae510053afa2c9b794052aa4de11d122b3ac4eaa0bb3bccb8983e" %} + +package: + name: azure-storage-blobs-cpp + version: {{ version }} + +source: + url: https://github.com/Azure/azure-sdk-for-cpp/archive/refs/tags/azure-storage-blobs_{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage("azure-storage-blobs-cpp", max_pin="x") }} + +# https://github.com/Azure/azure-sdk-for-cpp/blob/main/sdk/storage/azure-storage-blobs/vcpkg/vcpkg.json +requirements: + build: + - {{ compiler("cxx") }} + - cmake + - ninja + host: + - azure-core-cpp + # requires azure-storage-common-cpp >=12.3.1 + - azure-storage-common-cpp + +test: + requires: + - {{ compiler('cxx') }} + - cmake + - ninja + files: + - CMakeLists.txt + commands: + # shared libs + - test -f ${PREFIX}/lib/libazure-storage-blobs${SHLIB_EXT} # [unix] + - if not exist %LIBRARY_BIN%\azure-storage-blobs.dll exit 1 # [win] + - if not exist %LIBRARY_LIB%\azure-storage-blobs.lib exit 1 # [win] + + # headers + - test -f ${PREFIX}/include/azure/storage/blobs/append_blob_client.hpp # [unix] + - if not exist %LIBRARY_INC%\azure\storage\blobs\append_blob_client.hpp exit 1 # [win] + + # CMake metadata + - test -f ${PREFIX}/share/azure-storage-blobs-cpp/azure-storage-blobs-cppTargets.cmake # [unix] + - if not exist %LIBRARY_PREFIX%\share\azure-storage-blobs-cpp\azure-storage-blobs-cppTargets.cmake exit 1 # [win] + + # CMake find_package() + - cmake $CMAKE_ARGS -G Ninja -S $RECIPE_DIR -B test-find-package # [unix] + - cmake %CMAKE_ARGS% -G Ninja -S %RECIPE_DIR% -B test-find-package # [win] + +about: + home: https://github.com/Azure/azure-sdk-for-cpp/ + summary: Azure Storage Blobs Client Library for C++ + description: >- + Azure Blob storage is Microsoft's object storage solution for the cloud. + Blob storage is optimized for storing massive amounts of unstructured data. + Unstructured data is data that does not adhere to a particular data model or + definition, such as text or binary data. + license: MIT + license_family: MIT + license_file: + - LICENSE.txt + - sdk/storage/azure-storage-blobs/NOTICE.txt + doc_url: https://azure.github.io/azure-sdk-for-cpp/ + dev_url: https://github.com/Azure/azure-sdk-for-cpp/tree/main/sdk/storage/azure-storage-blobs/ + +extra: + recipe-maintainers: + - jdblischak + - jjerphan + - Shelnutt2 diff --git a/recipes/azure-storage-common-cpp/CMakeLists.txt b/recipes/azure-storage-common-cpp/CMakeLists.txt new file mode 100644 index 0000000000000..b18aeac0255ba --- /dev/null +++ b/recipes/azure-storage-common-cpp/CMakeLists.txt @@ -0,0 +1,4 @@ +cmake_minimum_required(VERSION 3.0) +project(azure-storage-common-cpp-dependent-project LANGUAGES CXX) + +find_package(azure-storage-common-cpp CONFIG REQUIRED) diff --git a/recipes/azure-storage-common-cpp/bld.bat b/recipes/azure-storage-common-cpp/bld.bat new file mode 100644 index 0000000000000..76eb9b6b946db --- /dev/null +++ b/recipes/azure-storage-common-cpp/bld.bat @@ -0,0 +1,17 @@ +@echo on + +set "AZURE_SDK_DISABLE_AUTO_VCPKG=ON" + +cd sdk\storage\azure-storage-common + +mkdir build +cd build +cmake %CMAKE_ARGS% ^ + -G Ninja ^ + -D BUILD_SHARED_LIBS=ON ^ + -D BUILD_TRANSPORT_WINHTTP=ON ^ + .. +if %ERRORLEVEL% neq 0 exit 1 + +cmake --build . --target install --config Release +if %ERRORLEVEL% neq 0 exit 1 diff --git a/recipes/azure-storage-common-cpp/build.sh b/recipes/azure-storage-common-cpp/build.sh new file mode 100644 index 0000000000000..31500846478e2 --- /dev/null +++ b/recipes/azure-storage-common-cpp/build.sh @@ -0,0 +1,26 @@ +#!/bin/bash +set -eux + +# Disable installing dependencies with vcpkg +# https://github.com/Azure/azure-sdk-for-cpp/blob/main/CONTRIBUTING.md#customize-the-vcpkg-dependency-integration +# https://github.com/search?utf8=%E2%9C%93&q=AZURE_SDK_DISABLE_AUTO_VCPKG&type=code +export AZURE_SDK_DISABLE_AUTO_VCPKG=ON + +# https://conda-forge.org/docs/maintainer/knowledge_base.html#newer-c-features-with-old-sdk +if [[ "${target_platform}" == osx-* ]] +then + CXXFLAGS="${CXXFLAGS} -D_LIBCPP_DISABLE_AVAILABILITY" +fi + +cd sdk/storage/azure-storage-common + +# https://github.com/Azure/azure-sdk-for-cpp/blob/main/CONTRIBUTING.md#building-the-project +mkdir build +cd build +cmake $CMAKE_ARGS \ + -D CMAKE_BUILD_TYPE=Release \ + -G Ninja \ + -D BUILD_SHARED_LIBS=ON \ + -D BUILD_TRANSPORT_CURL=ON \ + .. +cmake --build . --target install --config Release diff --git a/recipes/azure-storage-common-cpp/meta.yaml b/recipes/azure-storage-common-cpp/meta.yaml new file mode 100644 index 0000000000000..e7761033934b0 --- /dev/null +++ b/recipes/azure-storage-common-cpp/meta.yaml @@ -0,0 +1,75 @@ +{% set version = "12.3.2" %} +{% set sha256 = "23248eebb855e6a08595bca40c1b972f1ad61965846c83907adc8da1eff31159" %} + +package: + name: azure-storage-common-cpp + version: {{ version }} + +source: + url: https://github.com/Azure/azure-sdk-for-cpp/archive/refs/tags/azure-storage-common_{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage("azure-storage-common-cpp", max_pin="x") }} + +# https://github.com/Azure/azure-sdk-for-cpp/blob/main/sdk/storage/azure-storage-common/vcpkg/vcpkg.json +requirements: + build: + - {{ compiler("cxx") }} + - cmake + - ninja + host: + # requires azure-core-cpp >=1.9.0 + - azure-core-cpp + - libxml2 # [not win] + - openssl # [not win] + +test: + requires: + - {{ compiler('cxx') }} + - cmake + - ninja + files: + - CMakeLists.txt + commands: + # shared libs + - test -f ${PREFIX}/lib/libazure-storage-common${SHLIB_EXT} # [unix] + - if not exist %LIBRARY_BIN%\azure-storage-common.dll exit 1 # [win] + - if not exist %LIBRARY_LIB%\azure-storage-common.lib exit 1 # [win] + + # headers + - test -f ${PREFIX}/include/azure/storage/common/access_conditions.hpp # [unix] + - if not exist %LIBRARY_INC%\azure\storage\common\access_conditions.hpp exit 1 # [win] + + # CMake metadata + - test -f ${PREFIX}/share/azure-storage-common-cpp/azure-storage-common-cppTargets.cmake # [unix] + - if not exist %LIBRARY_PREFIX%\share\azure-storage-common-cpp\azure-storage-common-cppTargets.cmake exit 1 # [win] + + # CMake find_package() + - cmake $CMAKE_ARGS -G Ninja -S $RECIPE_DIR -B test-find-package # [unix] + - cmake %CMAKE_ARGS% -G Ninja -S %RECIPE_DIR% -B test-find-package # [win] + +about: + home: https://github.com/Azure/azure-sdk-for-cpp/ + summary: Azure Storage Common Client Library for C++ + description: >- + Azure Storage is a Microsoft-managed service providing cloud storage that is + highly available, secure, durable, scalable, and redundant. Azure Storage + includes Azure Blobs (objects), Azure Data Lake Storage Gen2, Azure Files, + and Azure Queues. The Azure Storage Common library provides infrastructure + shared by the other Azure Storage client libraries. + license: MIT + license_family: MIT + license_file: + - LICENSE.txt + - sdk/storage/azure-storage-common/NOTICE.txt + doc_url: https://azure.github.io/azure-sdk-for-cpp/ + dev_url: https://github.com/Azure/azure-sdk-for-cpp/tree/main/sdk/storage/azure-storage-common/ + +extra: + recipe-maintainers: + - jdblischak + - jjerphan + - Shelnutt2 diff --git a/recipes/azure-storage-files-datalake-cpp/CMakeLists.txt b/recipes/azure-storage-files-datalake-cpp/CMakeLists.txt new file mode 100644 index 0000000000000..90f6d97e66e0f --- /dev/null +++ b/recipes/azure-storage-files-datalake-cpp/CMakeLists.txt @@ -0,0 +1,4 @@ +cmake_minimum_required(VERSION 3.0) +project(azure-storage-files-datalake-cpp-dependent-project LANGUAGES CXX) + +find_package(azure-storage-files-datalake-cpp CONFIG REQUIRED) diff --git a/recipes/azure-storage-files-datalake-cpp/bld.bat b/recipes/azure-storage-files-datalake-cpp/bld.bat new file mode 100644 index 0000000000000..bff6f79b61019 --- /dev/null +++ b/recipes/azure-storage-files-datalake-cpp/bld.bat @@ -0,0 +1,17 @@ +@echo on + +set "AZURE_SDK_DISABLE_AUTO_VCPKG=ON" + +cd sdk\storage\azure-storage-files-datalake + +mkdir build +cd build +cmake %CMAKE_ARGS% ^ + -G Ninja ^ + -D BUILD_SHARED_LIBS=ON ^ + -D BUILD_TRANSPORT_WINHTTP=ON ^ + .. +if %ERRORLEVEL% neq 0 exit 1 + +cmake --build . --target install --config Release +if %ERRORLEVEL% neq 0 exit 1 diff --git a/recipes/azure-storage-files-datalake-cpp/build.sh b/recipes/azure-storage-files-datalake-cpp/build.sh new file mode 100644 index 0000000000000..3efb89dc22600 --- /dev/null +++ b/recipes/azure-storage-files-datalake-cpp/build.sh @@ -0,0 +1,26 @@ +#!/bin/bash +set -eux + +# Disable installing dependencies with vcpkg +# https://github.com/Azure/azure-sdk-for-cpp/blob/main/CONTRIBUTING.md#customize-the-vcpkg-dependency-integration +# https://github.com/search?utf8=%E2%9C%93&q=AZURE_SDK_DISABLE_AUTO_VCPKG&type=code +export AZURE_SDK_DISABLE_AUTO_VCPKG=ON + +# https://conda-forge.org/docs/maintainer/knowledge_base.html#newer-c-features-with-old-sdk +if [[ "${target_platform}" == osx-* ]] +then + CXXFLAGS="${CXXFLAGS} -D_LIBCPP_DISABLE_AVAILABILITY" +fi + +cd sdk/storage/azure-storage-files-datalake + +# https://github.com/Azure/azure-sdk-for-cpp/blob/main/CONTRIBUTING.md#building-the-project +mkdir build +cd build +cmake $CMAKE_ARGS \ + -D CMAKE_BUILD_TYPE=Release \ + -G Ninja \ + -D BUILD_SHARED_LIBS=ON \ + -D BUILD_TRANSPORT_CURL=ON \ + .. +cmake --build . --target install --config Release diff --git a/recipes/azure-storage-files-datalake-cpp/meta.yaml b/recipes/azure-storage-files-datalake-cpp/meta.yaml new file mode 100644 index 0000000000000..9eafe2432b038 --- /dev/null +++ b/recipes/azure-storage-files-datalake-cpp/meta.yaml @@ -0,0 +1,76 @@ +{% set version = "12.6.0" %} +{% set sha256 = "4d8d69b8f9fbe3a8faa8319f8d63e12a2b8710a784077eae4a39014dc35e30ba" %} + +package: + name: azure-storage-files-datalake-cpp + version: {{ version }} + +source: + url: https://github.com/Azure/azure-sdk-for-cpp/archive/refs/tags/azure-storage-files-datalake_{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage("azure-storage-files-datalake-cpp", max_pin="x") }} + +# https://github.com/Azure/azure-sdk-for-cpp/blob/main/sdk/storage/azure-storage-files-datalake/vcpkg/vcpkg.json +requirements: + build: + - {{ compiler("cxx") }} + - cmake + - ninja + host: + - azure-core-cpp + - azure-storage-common-cpp + # requires azure-storage-blobs-cpp >=12.7.0 + - azure-storage-blobs-cpp + +test: + requires: + - {{ compiler('cxx') }} + - cmake + - ninja + files: + - CMakeLists.txt + commands: + # shared libs + - test -f ${PREFIX}/lib/libazure-storage-files-datalake${SHLIB_EXT} # [unix] + - if not exist %LIBRARY_BIN%\azure-storage-files-datalake.dll exit 1 # [win] + - if not exist %LIBRARY_LIB%\azure-storage-files-datalake.lib exit 1 # [win] + + # headers + - test -f ${PREFIX}/include/azure/storage/files/datalake/datalake_directory_client.hpp # [unix] + - if not exist %LIBRARY_INC%\azure\storage\files\datalake\datalake_directory_client.hpp exit 1 # [win] + + # CMake metadata + - test -f ${PREFIX}/share/azure-storage-files-datalake-cpp/azure-storage-files-datalake-cppTargets.cmake # [unix] + - if not exist %LIBRARY_PREFIX%\share\azure-storage-files-datalake-cpp\azure-storage-files-datalake-cppTargets.cmake exit 1 # [win] + + # CMake find_package() + - cmake $CMAKE_ARGS -G Ninja -S $RECIPE_DIR -B test-find-package # [unix] + - cmake %CMAKE_ARGS% -G Ninja -S %RECIPE_DIR% -B test-find-package # [win] + +about: + home: https://github.com/Azure/azure-sdk-for-cpp/ + summary: Azure Storage Files Data Lake Client Library for C++ + description: >- + Azure Data Lake includes all the capabilities required to make it easy for + developers, data scientists, and analysts to store data of any size, shape, + and speed, and do all types of processing and analytics across platforms and + languages. It removes the complexities of ingesting and storing all of your + data while making it faster to get up and running with batch, streaming, and + interactive analytics. + license: MIT + license_family: MIT + license_file: + - LICENSE.txt + - sdk/storage/azure-storage-files-datalake/NOTICE.txt + doc_url: https://azure.github.io/azure-sdk-for-cpp/ + dev_url: https://github.com/Azure/azure-sdk-for-cpp/tree/main/sdk/storage/azure-storage-files-datalake/ + +extra: + recipe-maintainers: + - jdblischak + - jjerphan + - Shelnutt2 diff --git a/recipes/azure-storage-files-shares-cpp/CMakeLists.txt b/recipes/azure-storage-files-shares-cpp/CMakeLists.txt new file mode 100644 index 0000000000000..5c50880dc4527 --- /dev/null +++ b/recipes/azure-storage-files-shares-cpp/CMakeLists.txt @@ -0,0 +1,4 @@ +cmake_minimum_required(VERSION 3.0) +project(azure-storage-files-shares-cpp-dependent-project LANGUAGES CXX) + +find_package(azure-storage-files-shares-cpp CONFIG REQUIRED) diff --git a/recipes/azure-storage-files-shares-cpp/bld.bat b/recipes/azure-storage-files-shares-cpp/bld.bat new file mode 100644 index 0000000000000..bf7d1e299c1ab --- /dev/null +++ b/recipes/azure-storage-files-shares-cpp/bld.bat @@ -0,0 +1,17 @@ +@echo on + +set "AZURE_SDK_DISABLE_AUTO_VCPKG=ON" + +cd sdk\storage\azure-storage-files-shares + +mkdir build +cd build +cmake %CMAKE_ARGS% ^ + -G Ninja ^ + -D BUILD_SHARED_LIBS=ON ^ + -D BUILD_TRANSPORT_WINHTTP=ON ^ + .. +if %ERRORLEVEL% neq 0 exit 1 + +cmake --build . --target install --config Release +if %ERRORLEVEL% neq 0 exit 1 diff --git a/recipes/azure-storage-files-shares-cpp/build.sh b/recipes/azure-storage-files-shares-cpp/build.sh new file mode 100644 index 0000000000000..234ca13af8938 --- /dev/null +++ b/recipes/azure-storage-files-shares-cpp/build.sh @@ -0,0 +1,26 @@ +#!/bin/bash +set -eux + +# Disable installing dependencies with vcpkg +# https://github.com/Azure/azure-sdk-for-cpp/blob/main/CONTRIBUTING.md#customize-the-vcpkg-dependency-integration +# https://github.com/search?utf8=%E2%9C%93&q=AZURE_SDK_DISABLE_AUTO_VCPKG&type=code +export AZURE_SDK_DISABLE_AUTO_VCPKG=ON + +# https://conda-forge.org/docs/maintainer/knowledge_base.html#newer-c-features-with-old-sdk +if [[ "${target_platform}" == osx-* ]] +then + CXXFLAGS="${CXXFLAGS} -D_LIBCPP_DISABLE_AVAILABILITY" +fi + +cd sdk/storage/azure-storage-files-shares + +# https://github.com/Azure/azure-sdk-for-cpp/blob/main/CONTRIBUTING.md#building-the-project +mkdir build +cd build +cmake $CMAKE_ARGS \ + -D CMAKE_BUILD_TYPE=Release \ + -G Ninja \ + -D BUILD_SHARED_LIBS=ON \ + -D BUILD_TRANSPORT_CURL=ON \ + .. +cmake --build . --target install --config Release diff --git a/recipes/azure-storage-files-shares-cpp/meta.yaml b/recipes/azure-storage-files-shares-cpp/meta.yaml new file mode 100644 index 0000000000000..0fb52d6f02d3a --- /dev/null +++ b/recipes/azure-storage-files-shares-cpp/meta.yaml @@ -0,0 +1,75 @@ +{% set version = "12.5.0" %} +{% set sha256 = "676ed3b1784ce7e6a8c83be0c10ce61c87729231f54027babe7de78c28cb2a10" %} + +package: + name: azure-storage-files-shares-cpp + version: {{ version }} + +source: + url: https://github.com/Azure/azure-sdk-for-cpp/archive/refs/tags/azure-storage-files-shares_{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage("azure-storage-files-shares-cpp", max_pin="x") }} + +# https://github.com/Azure/azure-sdk-for-cpp/blob/main/sdk/storage/azure-storage-files-shares/vcpkg/vcpkg.json +requirements: + build: + - {{ compiler("cxx") }} + - cmake + - ninja + host: + - azure-core-cpp + # requires azure-storage-common-cpp >=12.3.2 + - azure-storage-common-cpp + +test: + requires: + - {{ compiler('cxx') }} + - cmake + - ninja + files: + - CMakeLists.txt + commands: + # shared libs + - test -f ${PREFIX}/lib/libazure-storage-files-shares${SHLIB_EXT} # [unix] + - if not exist %LIBRARY_BIN%\azure-storage-files-shares.dll exit 1 # [win] + - if not exist %LIBRARY_LIB%\azure-storage-files-shares.lib exit 1 # [win] + + # headers + - test -f ${PREFIX}/include/azure/storage/files/shares.hpp # [unix] + - if not exist %LIBRARY_INC%\azure\storage\files\shares.hpp exit 1 # [win] + + # CMake metadata + - test -f ${PREFIX}/share/azure-storage-files-shares-cpp/azure-storage-files-shares-cppTargets.cmake # [unix] + - if not exist %LIBRARY_PREFIX%\share\azure-storage-files-shares-cpp\azure-storage-files-shares-cppTargets.cmake exit 1 # [win] + + # CMake find_package() + - cmake $CMAKE_ARGS -G Ninja -S $RECIPE_DIR -B test-find-package # [unix] + - cmake %CMAKE_ARGS% -G Ninja -S %RECIPE_DIR% -B test-find-package # [win] + +about: + home: https://github.com/Azure/azure-sdk-for-cpp/ + summary: Azure Storage Files Shares Client Library for C++ + description: >- + Azure File Shares offers fully managed file shares in the cloud that are + accessible via the industry standard Server Message Block (SMB) protocol. + Azure file shares can be mounted concurrently by cloud or on-premises + deployments of Windows, Linux, and macOS. Additionally, Azure file shares + can be cached on Windows Servers with Azure File Sync for fast access near + where the data is being used. + license: MIT + license_family: MIT + license_file: + - LICENSE.txt + - sdk/storage/azure-storage-files-shares/NOTICE.txt + doc_url: https://azure.github.io/azure-sdk-for-cpp/ + dev_url: https://github.com/Azure/azure-sdk-for-cpp/tree/main/sdk/storage/azure-storage-files-shares/ + +extra: + recipe-maintainers: + - jdblischak + - jjerphan + - Shelnutt2 diff --git a/recipes/azure-storage-queues-cpp/CMakeLists.txt b/recipes/azure-storage-queues-cpp/CMakeLists.txt new file mode 100644 index 0000000000000..b0be2174d910b --- /dev/null +++ b/recipes/azure-storage-queues-cpp/CMakeLists.txt @@ -0,0 +1,4 @@ +cmake_minimum_required(VERSION 3.0) +project(azure-storage-queues-cpp-dependent-project LANGUAGES CXX) + +find_package(azure-storage-queues-cpp CONFIG REQUIRED) diff --git a/recipes/azure-storage-queues-cpp/bld.bat b/recipes/azure-storage-queues-cpp/bld.bat new file mode 100644 index 0000000000000..eb7da9ba815b1 --- /dev/null +++ b/recipes/azure-storage-queues-cpp/bld.bat @@ -0,0 +1,17 @@ +@echo on + +set "AZURE_SDK_DISABLE_AUTO_VCPKG=ON" + +cd sdk\storage\azure-storage-queues + +mkdir build +cd build +cmake %CMAKE_ARGS% ^ + -G Ninja ^ + -D BUILD_SHARED_LIBS=ON ^ + -D BUILD_TRANSPORT_WINHTTP=ON ^ + .. +if %ERRORLEVEL% neq 0 exit 1 + +cmake --build . --target install --config Release +if %ERRORLEVEL% neq 0 exit 1 diff --git a/recipes/azure-storage-queues-cpp/build.sh b/recipes/azure-storage-queues-cpp/build.sh new file mode 100644 index 0000000000000..f1c50d46b13ed --- /dev/null +++ b/recipes/azure-storage-queues-cpp/build.sh @@ -0,0 +1,26 @@ +#!/bin/bash +set -eux + +# Disable installing dependencies with vcpkg +# https://github.com/Azure/azure-sdk-for-cpp/blob/main/CONTRIBUTING.md#customize-the-vcpkg-dependency-integration +# https://github.com/search?utf8=%E2%9C%93&q=AZURE_SDK_DISABLE_AUTO_VCPKG&type=code +export AZURE_SDK_DISABLE_AUTO_VCPKG=ON + +# https://conda-forge.org/docs/maintainer/knowledge_base.html#newer-c-features-with-old-sdk +if [[ "${target_platform}" == osx-* ]] +then + CXXFLAGS="${CXXFLAGS} -D_LIBCPP_DISABLE_AVAILABILITY" +fi + +cd sdk/storage/azure-storage-queues + +# https://github.com/Azure/azure-sdk-for-cpp/blob/main/CONTRIBUTING.md#building-the-project +mkdir build +cd build +cmake $CMAKE_ARGS \ + -D CMAKE_BUILD_TYPE=Release \ + -G Ninja \ + -D BUILD_SHARED_LIBS=ON \ + -D BUILD_TRANSPORT_CURL=ON \ + .. +cmake --build . --target install --config Release diff --git a/recipes/azure-storage-queues-cpp/meta.yaml b/recipes/azure-storage-queues-cpp/meta.yaml new file mode 100644 index 0000000000000..2db19bb86c017 --- /dev/null +++ b/recipes/azure-storage-queues-cpp/meta.yaml @@ -0,0 +1,74 @@ +{% set version = "12.0.0" %} +{% set sha256 = "be038bd8b83b82b79e2bbdd428b958f4662b1cc1747035af94f30c7fb1e76d08" %} + +package: + name: azure-storage-queues-cpp + version: {{ version }} + +source: + url: https://github.com/Azure/azure-sdk-for-cpp/archive/refs/tags/azure-storage-queues_{{ version }}.tar.gz + sha256: {{ sha256 }} + +build: + number: 0 + run_exports: + - {{ pin_subpackage("azure-storage-queues-cpp", max_pin="x") }} + +# https://github.com/Azure/azure-sdk-for-cpp/blob/main/sdk/storage/azure-storage-queues/vcpkg/vcpkg.json +requirements: + build: + - {{ compiler("cxx") }} + - cmake + - ninja + host: + - azure-core-cpp + # requires azure-storage-common-cpp >=12.2.3 + - azure-storage-common-cpp + +test: + requires: + - {{ compiler('cxx') }} + - cmake + - ninja + files: + - CMakeLists.txt + commands: + # shared libs + - test -f ${PREFIX}/lib/libazure-storage-queues${SHLIB_EXT} # [unix] + - if not exist %LIBRARY_BIN%\azure-storage-queues.dll exit 1 # [win] + - if not exist %LIBRARY_LIB%\azure-storage-queues.lib exit 1 # [win] + + # headers + - test -f ${PREFIX}/include/azure/storage/queues.hpp # [unix] + - if not exist %LIBRARY_INC%\azure\storage\queues.hpp exit 1 # [win] + + # CMake metadata + - test -f ${PREFIX}/share/azure-storage-queues-cpp/azure-storage-queues-cppTargets.cmake # [unix] + - if not exist %LIBRARY_PREFIX%\share\azure-storage-queues-cpp\azure-storage-queues-cppTargets.cmake exit 1 # [win] + + # CMake find_package() + - cmake $CMAKE_ARGS -G Ninja -S $RECIPE_DIR -B test-find-package # [unix] + - cmake %CMAKE_ARGS% -G Ninja -S %RECIPE_DIR% -B test-find-package # [win] + +about: + home: https://github.com/Azure/azure-sdk-for-cpp/ + summary: Azure Storage Queues Client Library for C++ + description: >- + Azure Queue storage is a service for storing large numbers of messages that + can be accessed from anywhere in the world via authenticated calls using + HTTP or HTTPS. A single queue message can be up to 64 KB in size, and a + queue can contain millions of messages, up to the total capacity limit of a + storage account. + license: MIT + license_family: MIT + license_file: + - LICENSE.txt + - sdk/storage/azure-storage-queues/NOTICE.txt + doc_url: https://azure.github.io/azure-sdk-for-cpp/ + dev_url: https://github.com/Azure/azure-sdk-for-cpp/tree/main/sdk/storage/azure-storage-queues/ + +extra: + recipe-maintainers: + - jdblischak + - jjerphan + - Shelnutt2