wgtmac commented on code in PR #319:
URL: https://github.com/apache/iceberg-cpp/pull/319#discussion_r2540718072


##########
cmake_modules/IcebergThirdpartyToolchain.cmake:
##########
@@ -221,9 +246,17 @@ endfunction()
 function(resolve_nanoarrow_dependency)
   prepare_fetchcontent()
 
+  if(DEFINED ENV{ICEBERG_NANOARROW_URL})

Review Comment:
   Could you help define these variables to the top of this file: 
https://github.com/apache/iceberg-cpp/blob/main/cmake_modules/IcebergThirdpartyToolchain.cmake#L24



##########
BUILD_CHINA.md:
##########
@@ -0,0 +1,118 @@
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+-->
+
+# Building in China
+
+This guide helps developers in China who may experience network issues when 
downloading dependencies from GitHub or international mirrors.
+
+## Using Custom Mirror URLs
+
+If you experience download timeouts, you can override the default dependency 
URLs using environment variables:
+
+```bash
+export ICEBERG_ARROW_URL="<your-mirror-url>/apache-arrow-22.0.0.tar.gz"
+export 
ICEBERG_NANOARROW_URL="<your-mirror-url>/apache-arrow-nanoarrow-0.7.0.tar.gz"
+export ICEBERG_CROARING_URL="<your-mirror-url>/CRoaring-v4.3.11.tar.gz"
+export ICEBERG_NLOHMANN_JSON_URL="<your-mirror-url>/json-v3.11.3.tar.xz"
+export ICEBERG_SPDLOG_URL="<your-mirror-url>/spdlog-v1.15.3.tar.gz"
+export ICEBERG_CPR_URL="<your-mirror-url>/cpr-1.12.0.tar.gz"
+
+# For Avro (git repository):
+export ICEBERG_AVRO_GIT_URL="<your-git-mirror>/avro.git"
+# Or if you have a tarball:
+export ICEBERG_AVRO_URL="<your-mirror-url>/avro.tar.gz"
+```
+
+Then build as usual:
+
+```bash
+cmake -S . -B build
+cmake --build build
+```
+
+## Alternative Solutions
+
+1. **Use system packages**: Install dependencies via your system package 
manager
+2. **Use a proxy**: Set `https_proxy` environment variable
+3. **Pre-download**: Manually download tarballs to `~/.cmake/Downloads/`
+
+## Getting Help
+
+If you continue experiencing build issues, please open an issue at 
https://github.com/apache/iceberg-cpp/issues with details about which 
dependency failed.
+
+# Building in China

Review Comment:
   This document seems not well organized. I'm not sure if it is a good 
practice to mention China explicitly. In order not to maintain this file, can 
we remove it and only modify README to let users know that we can use env 
variables to customize thirdparty dependencies?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to