blob: 19dba393b1465acb4d1eec96738ec309b6cc38e3 [file] [log] [blame]
#!/usr/bin/make -f
# -*- makefile-gmake -*-
#
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
# This has to be exported to make some magic below work.
export DH_OPTIONS
export DEB_BUILD_MAINT_OPTIONS=reproducible=-timeless
BUILD_TYPE=relwithdebinfo
%:
dh $@ --with gir
override_dh_auto_configure:
code_name="$$(. /etc/os-release && \
echo $${VERSION_CODENAME})"; \
if [ "$${code_name}" = "focal" ]; then \
ARROW_AZURE=OFF; \
else \
ARROW_AZURE=ON; \
fi; \
if dpkg -l nvidia-cuda-toolkit > /dev/null 2>&1; then \
ARROW_CUDA=ON; \
else \
ARROW_CUDA=OFF; \
fi; \
dh_auto_configure \
--sourcedirectory=cpp \
--builddirectory=cpp_build \
--buildsystem=cmake+ninja \
-- \
-DARROW_AZURE=$${ARROW_AZURE} \
-DARROW_BUILD_UTILITIES=ON \
-DARROW_COMPUTE=ON \
-DARROW_CSV=ON \
-DARROW_CUDA=$${ARROW_CUDA} \
-DARROW_DATASET=ON \
-DARROW_FILESYSTEM=ON \
-DARROW_FLIGHT=ON \
-DARROW_FLIGHT_SQL=ON \
-DARROW_GANDIVA=ON \
-DARROW_GCS=ON \
-DARROW_HDFS=ON \
-DARROW_JSON=ON \
-DARROW_MIMALLOC=ON \
-DARROW_ORC=ON \
-DARROW_PACKAGE_KIND=deb \
-DARROW_PARQUET=ON \
-DARROW_S3=ON \
-DARROW_USE_CCACHE=OFF \
-DARROW_USE_MOLD=ON \
-DARROW_WITH_BROTLI=ON \
-DARROW_WITH_BZ2=ON \
-DARROW_WITH_LZ4=ON \
-DARROW_WITH_SNAPPY=ON \
-DARROW_WITH_ZLIB=ON \
-DARROW_WITH_ZSTD=ON \
-DCMAKE_BUILD_TYPE=$(BUILD_TYPE) \
-DCUDAToolkit_ROOT=/usr \
-DFETCHCONTENT_FULLY_DISCONNECTED=OFF \
-DPARQUET_BUILD_EXECUTABLES=ON \
-DPARQUET_REQUIRE_ENCRYPTION=ON
override_dh_auto_build:
dh_auto_build \
--sourcedirectory=cpp \
--builddirectory=cpp_build
dh_auto_configure \
--sourcedirectory=c_glib \
--builddirectory=c_glib_build \
--buildsystem=meson+ninja \
-- \
--buildtype=debugoptimized \
-Darrow_cpp_build_dir=../cpp_build \
-Darrow_cpp_build_type=$(BUILD_TYPE) \
-Ddoc=true \
-Dvapi=true
env \
LD_LIBRARY_PATH=$(CURDIR)/cpp_build/$(BUILD_TYPE) \
dh_auto_build \
--sourcedirectory=c_glib \
--builddirectory=c_glib_build \
--buildsystem=meson+ninja
override_dh_auto_install:
dh_auto_install \
--sourcedirectory=c_glib \
--builddirectory=c_glib_build \
--buildsystem=meson+ninja
dh_auto_install \
--sourcedirectory=cpp \
--builddirectory=cpp_build
override_dh_auto_test:
# TODO: We need Boost 1.64 or later to build tests for
# Apache Arrow Flight.
# git clone --depth 1 https://github.com/apache/arrow-testing.git
# git clone --depth 1 https://github.com/apache/parquet-testing.git
# cd cpp_build && \
# env \
# ARROW_TEST_DATA=$(CURDIR)/arrow-testing/data \
# PARQUET_TEST_DATA=$(CURDIR)/parquet-testing/data \
# ctest --exclude-regex 'arrow-cuda-test'
# libarrow.so: avoid failing with "Unknown DWARF DW_OP_172"
# libgandiva.so: avoid failing with "Unknown DWARF DW_OP_255"
# libparquet.so: avoid failing with "Unknown DWARF DW_OP_4"
# See also: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=949296
override_dh_dwz:
dh_dwz \
--exclude=libarrow.so \
--exclude=libgandiva.so \
--exclude=libparquet.so