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
19FROM ${arch}/fedora:30
20
21# install dependencies
22RUN dnf update -y && \
23	dnf install -y \
24        autoconf \
25        boost-devel \
26        brotli-devel \
27        bzip2-devel \
28        ccache \
29        clang-devel \
30        cmake \
31        flatbuffers-devel \
32        java-openjdk-devel \
33        java-openjdk-headless \
34        gcc \
35        gcc-c++ \
36        glog-devel \
37        gflags-devel \
38        gtest-devel \
39        gmock-devel \
40        google-benchmark-devel \
41        git \
42        libzstd-devel \
43        llvm-devel \
44        llvm-static \
45        lz4-devel \
46        make \
47        ninja-build \
48        openssl-devel \
49        python \
50        rapidjson-devel \
51        re2-devel \
52        snappy-devel \
53        zlib-devel
54
55# * c-ares cmake config is not installed on Fedora but gRPC needs it
56#   when built via ExternalProject: https://bugzilla.redhat.com/show_bug.cgi?id=1687844
57# * protobuf libraries in Fedora 30 are too old for gRPC
58ENV ARROW_BUILD_TESTS=ON \
59    ARROW_DEPENDENCY_SOURCE=SYSTEM \
60    ARROW_DATASET=ON \
61    ARROW_FLIGHT=ON \
62    ARROW_GANDIVA_JAVA=ON \
63    ARROW_GANDIVA=OFF \
64    ARROW_HOME=/usr/local \
65    ARROW_ORC=ON \
66    ARROW_PARQUET=ON \
67    ARROW_USE_CCACHE=ON \
68    ARROW_WITH_BROTLI=ON \
69    ARROW_WITH_BZ2=ON \
70    ARROW_WITH_LZ4=ON \
71    ARROW_WITH_SNAPPY=ON \
72    ARROW_WITH_ZLIB=ON \
73    ARROW_WITH_ZSTD=ON \
74    cares_SOURCE=BUNDLED \
75    CC=gcc \
76    CXX=g++ \
77    gRPC_SOURCE=BUNDLED \
78    ORC_SOURCE=BUNDLED \
79    PARQUET_BUILD_EXECUTABLES=ON \
80    PARQUET_BUILD_EXAMPLES=ON \
81    PATH=/usr/lib/ccache/:$PATH \
82    Protobuf_SOURCE=BUNDLED \
83    Thrift_SOURCE=BUNDLED
84