blob: 2f3b694d6806cae0f50b504dc176000b3504a71a [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=release
%:
dh $@ --with gir
override_dh_auto_configure:
if dpkg -l nvidia-cuda-toolkit > /dev/null 2>&1; then \
ARROW_CUDA=ON; \
ARROW_PLASMA=ON; \
else \
ARROW_CUDA=OFF; \
ARROW_PLASMA=OFF; \
fi; \
if python3 -c 'import numpy' > /dev/null 2>&1; then \
ARROW_PYTHON=ON; \
else \
ARROW_PYTHON=OFF; \
fi; \
dh_auto_configure \
--sourcedirectory=cpp \
--builddirectory=cpp_build \
--buildsystem=cmake+ninja \
-- \
-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_GANDIVA_JAVA=OFF \
-DARROW_GCS=ON \
-DARROW_HDFS=ON \
-DARROW_JSON=ON \
-DARROW_MIMALLOC=ON \
-DARROW_ORC=ON \
-DARROW_PACKAGE_KIND=deb \
-DARROW_PARQUET=ON \
-DARROW_PLASMA=$${ARROW_PLASMA} \
-DARROW_PYTHON=$${ARROW_PYTHON} \
-DARROW_S3=ON \
-DARROW_USE_CCACHE=OFF \
-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) \
-DCMAKE_UNITY_BUILD=ON \
-DCUDAToolkit_ROOT=/usr \
-DPARQUET_REQUIRE_ENCRYPTION=ON \
-DPythonInterp_FIND_VERSION=ON \
-DPythonInterp_FIND_VERSION_MAJOR=3
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 \
-- \
-Darrow_cpp_build_type=$(BUILD_TYPE) \
-Darrow_cpp_build_dir=../cpp_build \
-Dgtk_doc=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
# Remove built files to reduce disk usage
dh_auto_clean \
--sourcedirectory=c_glib \
--builddirectory=c_glib_build \
--buildsystem=meson+ninja
dh_auto_install \
--sourcedirectory=cpp \
--builddirectory=cpp_build
# Remove built files to reduce disk usage
dh_auto_clean \
--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|plasma-client_tests'
# libarrow.so: avoid failing with "Unknown DWARF DW_OP_172"
# libgandiva.so: avoid failing with "Unknown DWARF DW_OP_255"
# See also: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=949296
# plasma-store-server: avoid failing with "Unknown DWARF DW_OP_1"
override_dh_dwz:
dh_dwz \
--exclude=libarrow.so \
--exclude=libgandiva.so \
--exclude=plasma-store-server