diff --git a/update_libchdb.sh b/update_libchdb.sh new file mode 100755 index 0000000..6b2c14f --- /dev/null +++ b/update_libchdb.sh @@ -0,0 +1,46 @@ + +#!/bin/bash +set -e +cd $(dirname "${BASH_SOURCE[0]}") + +# Get the newest release version +LATEST_RELEASE=$(curl --silent "https://api.github.com/repos/chdb-io/chdb/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/') + +# Download the correct version based on the platform +case "$(uname -s)" in + Linux) + if [[ $(uname -m) == "aarch64" ]]; then + PLATFORM="linux-aarch64-libchdb.tar.gz" + else + PLATFORM="linux-x86_64-libchdb.tar.gz" + fi + ;; + Darwin) + if [[ $(uname -m) == "arm64" ]]; then + PLATFORM="macos-arm64-libchdb.tar.gz" + else + PLATFORM="macos-x86_64-libchdb.tar.gz" + fi + ;; + *) + echo "Unsupported platform" + exit 1 + ;; +esac + +DOWNLOAD_URL="https://github.com/chdb-io/chdb/releases/download/$LATEST_RELEASE/$PLATFORM" + +echo "Downloading $PLATFORM from $DOWNLOAD_URL" + +# Download the file +curl -L -o libchdb.tar.gz $DOWNLOAD_URL + +# Untar the file +tar -xzf libchdb.tar.gz + +# Set execute permission for libchdb.so +chmod +x libchdb.so + +# Clean up +rm -f libchdb.tar.gz +rm -f chdb.h