1# Licensed to the Apache Software Foundation (ASF) under one
2# or more contributor license agreements.  See the NOTICE file
3# distributed with this work for additional information
4# regarding copyright ownership.  The ASF licenses this file
5# to you under the Apache License, Version 2.0 (the
6# "License"); you may not use this file except in compliance
7# with the License.  You may obtain a copy of the License at
8#
9#   http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing,
12# software distributed under the License is distributed on an
13# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14# KIND, either express or implied.  See the License for the
15# specific language governing permissions and limitations
16# under the License.
17
18ARG arch=amd64
19FROM ${arch}/debian:10
20
21ENV DEBIAN_FRONTEND noninteractive
22
23RUN \
24  echo "deb http://deb.debian.org/debian buster-backports main" > \
25    /etc/apt/sources.list.d/backports.list
26
27ARG llvm
28RUN apt-get update -y -q && \
29    apt-get install -y -q --no-install-recommends \
30        autoconf \
31        ca-certificates \
32        ccache \
33        clang-${llvm} \
34        cmake \
35        g++ \
36        gcc \
37        gdb \
38        git \
39        libbenchmark-dev \
40        libboost-all-dev \
41        libbrotli-dev \
42        libbz2-dev \
43        libc-ares-dev \
44        libgflags-dev \
45        libgmock-dev \
46        libgoogle-glog-dev \
47        libgtest-dev \
48        liblz4-dev \
49        libre2-dev \
50        libsnappy-dev \
51        libssl-dev \
52        libthrift-dev \
53        libzstd-dev \
54        llvm-${llvm}-dev \
55        make \
56        ninja-build \
57        pkg-config \
58        protobuf-compiler \
59        rapidjson-dev \
60        tzdata \
61        zlib1g-dev \
62        wget && \
63    apt-get clean && \
64    rm -rf /var/lib/apt/lists/*
65
66ENV ARROW_BUILD_TESTS=ON \
67    ARROW_DEPENDENCY_SOURCE=SYSTEM \
68    ARROW_DATASET=ON \
69    ARROW_FLIGHT=ON \
70    ARROW_GANDIVA=ON \
71    ARROW_HOME=/usr/local \
72    ARROW_ORC=ON \
73    ARROW_PARQUET=ON \
74    ARROW_PLASMA=ON \
75    ARROW_USE_CCACHE=ON \
76    ARROW_WITH_BROTLI=ON \
77    ARROW_WITH_BZ2=ON \
78    ARROW_WITH_LZ4=ON \
79    ARROW_WITH_SNAPPY=ON \
80    ARROW_WITH_ZLIB=ON \
81    ARROW_WITH_ZSTD=ON \
82    cares_SOURCE=BUNDLED \
83    CC=gcc \
84    CXX=g++ \
85    gRPC_SOURCE=BUNDLED \
86    ORC_SOURCE=BUNDLED \
87    PATH=/usr/lib/ccache/:$PATH \
88    Protobuf_SOURCE=BUNDLED
89