# Copyright 2019 Google LLC # # Licensed 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 DISTRO_VERSION=30 FROM fedora:${DISTRO_VERSION} # Fedora includes packages for gRPC, libcurl, and OpenSSL that are recent enough # for `google-cloud-cpp`. Install these packages and additional development # tools to compile the dependencies: RUN dnf makecache && \ dnf install -y clang clang-tools-extra cmake doxygen findutils gcc-c++ git \ grpc-devel grpc-plugins libcxx-devel libcxxabi-devel libcurl-devel \ make openssl-devel pkgconfig protobuf-compiler python-pip ShellCheck \ tar wget zlib-devel # Install the the buildifier tool, which does not compile with the default # golang compiler for Ubuntu 16.04 and Ubuntu 18.04. RUN wget -q -O /usr/bin/buildifier https://github.com/bazelbuild/buildtools/releases/download/0.17.2/buildifier RUN chmod 755 /usr/bin/buildifier # Install cmake_format to automatically format the CMake list files. # https://github.com/cheshirekow/cmake_format # Pin this to an specific version because the formatting changes when the # "latest" version is updated, and we do not want the builds to break just # because some third party changed something. RUN pip install --upgrade pip RUN pip install numpy cmake_format==0.6.9