Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -173,3 +173,12 @@ repos:
'--disable',
'dangling-hyphen,line-too-long',
]
- repo: https://github.com/koalaman/shellcheck-precommit
rev: v0.10.0
hooks:
- id: shellcheck
# TODO: Remove this when we fix all lint failures
files: >-
(
?^ci/scripts/c_glib_build\.sh$|
)
46 changes: 25 additions & 21 deletions ci/scripts/c_glib_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,59 +23,63 @@ source_dir=${1}/c_glib
build_dir=${2}/c_glib
build_root=${2}

: ${ARROW_GLIB_WERROR:=false}
: ${ARROW_GLIB_VAPI:=true}
: ${BUILD_DOCS_C_GLIB:=OFF}
: "${ARROW_GLIB_WERROR:=false}"
: "${ARROW_GLIB_VAPI:=true}"
: "${BUILD_DOCS_C_GLIB:=OFF}"
with_doc=$([ "${BUILD_DOCS_C_GLIB}" == "ON" ] && echo "true" || echo "false")


if [ -n "${MSYSTEM:-}" ]; then
# Fix ARROW_HOME when running under MSYS2
export ARROW_HOME="$(cygpath --unix "${ARROW_HOME}")"
ARROW_HOME="$(cygpath --unix "${ARROW_HOME}")"
export ARROW_HOME
fi

export PATH="${ARROW_HOME}/bin:${PATH}"
PATH="${ARROW_HOME}/bin:${PATH}"

meson_pkg_config_path="${ARROW_HOME}/lib/pkgconfig"

mkdir -p ${build_dir}
mkdir -p "${build_dir}"

if [ -n "${VCPKG_ROOT:-}" -a -n "${VCPKG_TRIPLET:-}" ]; then
if [ -n "${VCPKG_ROOT:-}" ] && [ -n "${VCPKG_TRIPLET:-}" ]; then
vcpkg_install_root="${build_root}/vcpkg_installed"
$VCPKG_ROOT/vcpkg install --x-manifest-root=${source_dir} --x-install-root=${vcpkg_install_root}
export PKG_CONFIG="${vcpkg_install_root}/${VCPKG_TRIPLET}/tools/pkgconf/pkgconf.exe"
"${VCPKG_ROOT}/vcpkg" install \
--x-manifest-root="${source_dir}" \
--x-install-root="${vcpkg_install_root}"
PKG_CONFIG="${vcpkg_install_root}/${VCPKG_TRIPLET}/tools/pkgconf/pkgconf.exe"
export PKG_CONFIG
meson_pkg_config_path="${vcpkg_install_root}/${VCPKG_TRIPLET}/lib/pkgconfig:${meson_pkg_config_path}"
# Configure PATH for libraries required by the gobject-introspection generated binary
cpp_vcpkg_install_root="${build_root}/cpp/vcpkg_installed"
PATH="${cpp_vcpkg_install_root}/${VCPKG_TRIPLET}/debug/bin:${PATH}"
PATH="${cpp_vcpkg_install_root}/${VCPKG_TRIPLET}/bin:${PATH}"
export PATH="${vcpkg_install_root}/${VCPKG_TRIPLET}/bin:${PATH}"
PATH="${vcpkg_install_root}/${VCPKG_TRIPLET}/bin:${PATH}"
fi

if [ -n "${VCToolsInstallDir:-}" -a -n "${MSYSTEM:-}" ]; then
if [ -n "${VCToolsInstallDir:-}" ] && [ -n "${MSYSTEM:-}" ]; then
# Meson finds the gnu link.exe instead of MSVC link.exe when running in MSYS2/git bash,
# so we need to make sure the MSCV link.exe is first in $PATH
export PATH="$(cygpath --unix "${VCToolsInstallDir}")/bin/HostX64/x64:${PATH}"
PATH="$(cygpath --unix "${VCToolsInstallDir}")/bin/HostX64/x64:${PATH}"
fi

# Build with Meson
meson setup \
--backend=ninja \
--prefix=$ARROW_HOME \
--prefix="${ARROW_HOME}" \
--libdir=lib \
--pkg-config-path="${meson_pkg_config_path}" \
-Ddoc=${with_doc} \
-Dvapi=${ARROW_GLIB_VAPI} \
-Dwerror=${ARROW_GLIB_WERROR} \
${build_dir} \
${source_dir}
-Ddoc="${with_doc}" \
-Dvapi="${ARROW_GLIB_VAPI}" \
-Dwerror="${ARROW_GLIB_WERROR}" \
"${build_dir}" \
"${source_dir}"

pushd ${build_dir}
pushd "${build_dir}"
ninja
ninja install
popd

if [ "${BUILD_DOCS_C_GLIB}" == "ON" ]; then
mkdir -p ${build_root}/docs/c_glib
cp -a ${ARROW_HOME}/share/doc/*-glib/ ${build_root}/docs/c_glib/
mkdir -p "${build_root}/docs/c_glib"
cp -a "${ARROW_HOME}"/share/doc/*-glib/ "${build_root}/docs/c_glib/"
fi
Loading