diff --git a/README.md b/README.md index 7206c4597..82ff23eb2 100644 --- a/README.md +++ b/README.md @@ -150,7 +150,6 @@ If you experience network issues when downloading dependencies, you can customiz - `ICEBERG_ARROW_URL`: Apache Arrow tarball URL - `ICEBERG_AVRO_URL`: Apache Avro tarball URL -- `ICEBERG_AVRO_GIT_URL`: Apache Avro git repository URL - `ICEBERG_NANOARROW_URL`: Nanoarrow tarball URL - `ICEBERG_CROARING_URL`: CRoaring tarball URL - `ICEBERG_UTF8PROC_URL`: utf8proc tarball URL diff --git a/cmake_modules/IcebergThirdpartyToolchain.cmake b/cmake_modules/IcebergThirdpartyToolchain.cmake index d74f91f58..bde1c9c32 100644 --- a/cmake_modules/IcebergThirdpartyToolchain.cmake +++ b/cmake_modules/IcebergThirdpartyToolchain.cmake @@ -80,7 +80,6 @@ endfunction() # # ICEBERG_ARROW_URL - Apache Arrow tarball URL # ICEBERG_AVRO_URL - Apache Avro tarball URL -# ICEBERG_AVRO_GIT_URL - Apache Avro git repository URL # ICEBERG_NANOARROW_URL - Nanoarrow tarball URL # ICEBERG_CROARING_URL - CRoaring tarball URL # ICEBERG_UTF8PROC_URL - utf8proc tarball URL @@ -107,6 +106,21 @@ else() ) endif() +set(ICEBERG_AVRO_BUILD_VERSION "1.12.2") +set(ICEBERG_AVRO_BUILD_SHA512_CHECKSUM + "a31ad410d75c0e7f58fc9d9b7e7989dae12f328524806f6d64fdae22ddb9112fe2adc5fb74ee83df2135b87bd6618e8765a823220b2a0a162d1684192b9926da" +) + +if(DEFINED ENV{ICEBERG_AVRO_URL}) + set(AVRO_SOURCE_URL "$ENV{ICEBERG_AVRO_URL}") +else() + set(AVRO_SOURCE_URL + "https://www.apache.org/dyn/closer.lua?action=download&filename=/avro/avro-${ICEBERG_AVRO_BUILD_VERSION}/avro-src-${ICEBERG_AVRO_BUILD_VERSION}.tar.gz" + "https://downloads.apache.org/avro/avro-${ICEBERG_AVRO_BUILD_VERSION}/avro-src-${ICEBERG_AVRO_BUILD_VERSION}.tar.gz" + "https://archive.apache.org/dist/avro/avro-${ICEBERG_AVRO_BUILD_VERSION}/avro-src-${ICEBERG_AVRO_BUILD_VERSION}.tar.gz" + ) +endif() + set(ICEBERG_NANOARROW_BUILD_VERSION "0.9.0") set(ICEBERG_NANOARROW_BUILD_SHA256_CHECKSUM "801200a0e95e869d5c4bdeb5b535dba58551482bb782b7dc8bd599c8b6e8cacf") @@ -294,34 +308,16 @@ function(resolve_avro_dependency) OFF CACHE BOOL "" FORCE) - if(DEFINED ENV{ICEBERG_AVRO_URL}) - # Support custom tarball URL - fetchcontent_declare(avro-cpp - ${FC_DECLARE_COMMON_OPTIONS} - URL $ENV{ICEBERG_AVRO_URL} - SOURCE_SUBDIR - lang/c++ - FIND_PACKAGE_ARGS - NAMES - avro-cpp - CONFIG) - else() - if(DEFINED ENV{ICEBERG_AVRO_GIT_URL}) - set(AVRO_GIT_REPOSITORY "$ENV{ICEBERG_AVRO_GIT_URL}") - else() - set(AVRO_GIT_REPOSITORY "https://github.com/apache/avro.git") - endif() - fetchcontent_declare(avro-cpp - ${FC_DECLARE_COMMON_OPTIONS} - GIT_REPOSITORY ${AVRO_GIT_REPOSITORY} - GIT_TAG 997d50d312613e921598aaed30b082f9bcf9c6ea - SOURCE_SUBDIR - lang/c++ - FIND_PACKAGE_ARGS - NAMES - avro-cpp - CONFIG) - endif() + fetchcontent_declare(avro-cpp + ${FC_DECLARE_COMMON_OPTIONS} + URL ${AVRO_SOURCE_URL} + URL_HASH "SHA512=${ICEBERG_AVRO_BUILD_SHA512_CHECKSUM}" + SOURCE_SUBDIR + lang/c++ + FIND_PACKAGE_ARGS + NAMES + avro-cpp + CONFIG) fetchcontent_makeavailable(avro-cpp) diff --git a/mkdocs/docs/getting-started.md b/mkdocs/docs/getting-started.md index 52a04e635..9563314dd 100644 --- a/mkdocs/docs/getting-started.md +++ b/mkdocs/docs/getting-started.md @@ -140,7 +140,6 @@ If you experience network issues when downloading dependencies, you can override |----------|------------| | `ICEBERG_ARROW_URL` | Apache Arrow tarball | | `ICEBERG_AVRO_URL` | Apache Avro tarball | -| `ICEBERG_AVRO_GIT_URL` | Apache Avro git repository | | `ICEBERG_NANOARROW_URL` | Nanoarrow tarball | | `ICEBERG_CROARING_URL` | CRoaring tarball | | `ICEBERG_UTF8PROC_URL` | utf8proc tarball |