summaryrefslogtreecommitdiffstats
path: root/src/arrow/ci/docker/linux-apt-jni.dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'src/arrow/ci/docker/linux-apt-jni.dockerfile')
-rw-r--r--src/arrow/ci/docker/linux-apt-jni.dockerfile87
1 files changed, 87 insertions, 0 deletions
diff --git a/src/arrow/ci/docker/linux-apt-jni.dockerfile b/src/arrow/ci/docker/linux-apt-jni.dockerfile
new file mode 100644
index 000000000..ddfa72e17
--- /dev/null
+++ b/src/arrow/ci/docker/linux-apt-jni.dockerfile
@@ -0,0 +1,87 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+ARG base
+FROM ${base}
+
+# pipefail is enabled for proper error detection in the `wget | apt-key add`
+# step
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
+
+ENV DEBIAN_FRONTEND noninteractive
+
+ARG llvm
+RUN apt-get update -y -q && \
+ apt-get install -y -q --no-install-recommends \
+ apt-transport-https \
+ lsb-release \
+ software-properties-common \
+ wget && \
+ code_name=$(lsb_release --codename --short) && \
+ wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - && \
+ apt-add-repository -y \
+ "deb https://apt.llvm.org/${code_name}/ llvm-toolchain-${code_name}-${llvm} main" && \
+ apt-get update -y -q && \
+ apt-get install -y -q --no-install-recommends \
+ ca-certificates \
+ ccache \
+ clang-${llvm} \
+ cmake \
+ git \
+ g++ \
+ gcc \
+ libboost-all-dev \
+ libgflags-dev \
+ libgoogle-glog-dev \
+ libgtest-dev \
+ liblz4-dev \
+ libre2-dev \
+ libsnappy-dev \
+ libssl-dev \
+ llvm-${llvm}-dev \
+ make \
+ ninja-build \
+ pkg-config \
+ protobuf-compiler \
+ rapidjson-dev \
+ tzdata \
+ zlib1g-dev && \
+ apt-get clean && \
+ rm -rf /var/lib/apt/lists/*
+
+ARG cmake=3.11.4
+RUN wget -nv -O - https://github.com/Kitware/CMake/releases/download/v${cmake}/cmake-${cmake}-Linux-x86_64.tar.gz | tar -xzf - -C /opt
+ENV PATH=/opt/cmake-${cmake}-Linux-x86_64/bin:$PATH
+
+ENV ARROW_BUILD_TESTS=OFF \
+ ARROW_DATASET=ON \
+ ARROW_FLIGHT=OFF \
+ ARROW_GANDIVA_JAVA=ON \
+ ARROW_GANDIVA=ON \
+ ARROW_HOME=/usr/local \
+ ARROW_JAVA_CDATA=ON \
+ ARROW_JNI=ON \
+ ARROW_ORC=ON \
+ ARROW_PARQUET=ON \
+ ARROW_PLASMA_JAVA_CLIENT=ON \
+ ARROW_PLASMA=ON \
+ ARROW_USE_CCACHE=ON \
+ CC=gcc \
+ CXX=g++ \
+ ORC_SOURCE=BUNDLED \
+ PATH=/usr/lib/ccache/:$PATH \
+ Protobuf_SOURCE=BUNDLED