blob: 3998a3a3a4e64bcffc4143c5ce421d8d01ce6fca [file] [log] [blame]
# 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.
# If we are building from within the nanoarrow repo, bootstrap.R will (1)
# exist and (2) perform the necessary vendoring steps
if [ -f bootstrap.R ]; then
$R_HOME/bin/Rscript bootstrap.R
fi
if [ -f "src/nanoarrow.h" ] && [ -f "src/nanoarrow.c" ]; then
echo "Found vendored nanoarrow"
exit 0
fi
# We have a situation where the package has been built via R CMD build
# but there is no vendored nanoarrow. This occurs with
# remotes::install_github() with the default arguments. In this case, pull
# the latest bundled version from GitHub. To ensure commit-level consistency,
# use remotes::install_github(build = FALSE) (which will run cmake to get
# a fresh bundle with a specific commit).
curl -L https://github.com/apache/arrow-nanoarrow/raw/main/dist/nanoarrow.h \
--output src/nanoarrow.h --silent
curl -L https://github.com/apache/arrow-nanoarrow/raw/main/dist/nanoarrow.c \
--output src/nanoarrow.c --silent
if [ -f "src/nanoarrow.h" ] && [ -f "src/nanoarrow.c" ]; then
echo "Fetched bundled nanoarrow from https://github.com/apache/arrow-nanoarrow/tree/main/dist"
exit 0
fi
echo "Vendored src/nanoarrow.h and/or src/nanoarrow.c are missing"
echo "This source tarball was built incorrectly."
exit 1