summaryrefslogtreecommitdiffstats
path: root/src/arrow/dev/tasks/linux-packages/apache-arrow/debian/rules
blob: 2de533615593a07585f9caddae70ff32a201aad8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#!/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;							\
	dh_auto_configure					\
	  --sourcedirectory=cpp					\
	  --builddirectory=cpp_build				\
	  --buildsystem=cmake+ninja				\
	  --							\
	  -DARROW_CUDA=$${ARROW_CUDA}				\
	  -DARROW_FLIGHT=ON					\
	  -DARROW_GANDIVA=ON					\
	  -DARROW_GANDIVA_JAVA=OFF				\
	  -DARROW_MIMALLOC=ON					\
	  -DARROW_ORC=ON					\
	  -DARROW_PACKAGE_KIND=deb				\
	  -DARROW_PARQUET=ON					\
	  -DARROW_PLASMA=$${ARROW_PLASMA}			\
	  -DARROW_PYTHON=ON					\
	  -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				\
	  -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
	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'

# skip file failing with "Unknown DWARF DW_OP_255" (see bug#949296)
override_dh_dwz:
	dh_dwz --exclude=libgandiva.so