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 20ARG arch 21 22ENV DEBIAN_FRONTEND noninteractive 23 24RUN \ 25 echo "deb http://deb.debian.org/debian buster-backports main" > \ 26 /etc/apt/sources.list.d/backports.list 27 28ARG llvm 29RUN apt-get update -y -q && \ 30 apt-get install -y -q --no-install-recommends \ 31 apt-transport-https \ 32 ca-certificates \ 33 gnupg \ 34 wget && \ 35 wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - && \ 36 echo "deb https://apt.llvm.org/buster/ llvm-toolchain-buster-${llvm} main" > \ 37 /etc/apt/sources.list.d/llvm.list && \ 38 apt-get update -y -q && \ 39 apt-get install -y -q --no-install-recommends \ 40 autoconf \ 41 ccache \ 42 clang-${llvm} \ 43 cmake \ 44 g++ \ 45 gcc \ 46 gdb \ 47 git \ 48 libbenchmark-dev \ 49 libboost-all-dev \ 50 libbrotli-dev \ 51 libbz2-dev \ 52 libc-ares-dev \ 53 libcurl4-openssl-dev \ 54 libgflags-dev \ 55 libgmock-dev \ 56 libgoogle-glog-dev \ 57 liblz4-dev \ 58 libre2-dev \ 59 libsnappy-dev \ 60 libssl-dev \ 61 libthrift-dev \ 62 libutf8proc-dev \ 63 llvm-${llvm}-dev \ 64 make \ 65 ninja-build \ 66 pkg-config \ 67 protobuf-compiler \ 68 python3-pip \ 69 rapidjson-dev \ 70 tzdata \ 71 zlib1g-dev && \ 72 apt-get clean && \ 73 rm -rf /var/lib/apt/lists/* 74 75COPY ci/scripts/install_minio.sh /arrow/ci/scripts/ 76RUN /arrow/ci/scripts/install_minio.sh ${arch} linux latest /usr/local 77COPY ci/scripts/install_gcs_testbench.sh /arrow/ci/scripts/ 78RUN /arrow/ci/scripts/install_gcs_testbench.sh ${arch} default 79 80ENV ARROW_BUILD_TESTS=ON \ 81 ARROW_DATASET=ON \ 82 ARROW_DEPENDENCY_SOURCE=SYSTEM \ 83 ARROW_FLIGHT=ON \ 84 ARROW_GANDIVA=ON \ 85 ARROW_HOME=/usr/local \ 86 ARROW_ORC=ON \ 87 ARROW_PARQUET=ON \ 88 ARROW_PLASMA=ON \ 89 ARROW_S3=ON \ 90 ARROW_USE_CCACHE=ON \ 91 ARROW_WITH_BROTLI=ON \ 92 ARROW_WITH_BZ2=ON \ 93 ARROW_WITH_LZ4=ON \ 94 ARROW_WITH_SNAPPY=ON \ 95 ARROW_WITH_ZLIB=ON \ 96 ARROW_WITH_ZSTD=ON \ 97 AWSSDK_SOURCE=BUNDLED \ 98 cares_SOURCE=BUNDLED \ 99 CC=gcc \ 100 CXX=g++ \ 101 gRPC_SOURCE=BUNDLED \ 102 GTest_SOURCE=BUNDLED \ 103 ORC_SOURCE=BUNDLED \ 104 PATH=/usr/lib/ccache/:$PATH \ 105 Protobuf_SOURCE=BUNDLED \ 106 zstd_SOURCE=BUNDLED 107