diff options
Diffstat (limited to 'src/jaegertracing/thrift/build/docker/old/ubuntu-trusty/Dockerfile')
-rw-r--r-- | src/jaegertracing/thrift/build/docker/old/ubuntu-trusty/Dockerfile | 244 |
1 files changed, 244 insertions, 0 deletions
diff --git a/src/jaegertracing/thrift/build/docker/old/ubuntu-trusty/Dockerfile b/src/jaegertracing/thrift/build/docker/old/ubuntu-trusty/Dockerfile new file mode 100644 index 000000000..a8e4d3baa --- /dev/null +++ b/src/jaegertracing/thrift/build/docker/old/ubuntu-trusty/Dockerfile @@ -0,0 +1,244 @@ +# 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. + +# +# Apache Thrift Docker build environment for Ubuntu Trusty +# Using all stock Ubuntu Trusty packaging except for: +# - d: does not come with Ubuntu so we're installing 2.070.0 +# - dart: does not come with Ubuntu so we're installing 1.20.1 +# - dotnetcore, disabled because netcore is for 1.0.0-preview and 2.0.0 is out +# - haxe, disabled because the distro comes with 3.0.0 and it cores while installing +# - node.js, disabled because it is at 0.10.0 in the distro which is too old (need 4+) +# - ocaml, disabled because it fails to install properly +# + +FROM buildpack-deps:trusty-scm +MAINTAINER Apache Thrift <dev@thrift.apache.org> +ENV DEBIAN_FRONTEND noninteractive + +### Add apt repos + +RUN apt-get update && \ + apt-get dist-upgrade -y && \ + apt-get install -y --no-install-recommends \ + apt \ + apt-transport-https \ + apt-utils \ + curl \ + dirmngr \ + software-properties-common \ + wget + +# D +RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EBCF975E5BA24D5E && \ + wget http://master.dl.sourceforge.net/project/d-apt/files/d-apt.list -O /etc/apt/sources.list.d/d-apt.list && \ + wget -qO - https://dlang.org/d-keyring.gpg | apt-key add - + +# Dart +RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \ + curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > \ + /etc/apt/sources.list.d/dart_stable.list + +RUN apt-get update && apt-get install -y --no-install-recommends \ +`# General dependencies` \ + bash-completion \ + bison \ + build-essential \ + clang \ + cmake \ + debhelper \ + flex \ + gdb \ + llvm \ + ninja-build \ + pkg-config \ + valgrind \ + vim +ENV PATH /usr/lib/llvm-3.8/bin:$PATH + +RUN apt-get install -y --no-install-recommends \ +`# C++ dependencies` \ + libboost-all-dev \ + libevent-dev \ + libssl-dev \ + qt5-default \ + qtbase5-dev \ + qtbase5-dev-tools + +RUN apt-get install -y --no-install-recommends \ +`# csharp (mono) dependencies` \ + mono-devel + +RUN apt-get install -y --no-install-recommends \ +`# D dependencies` \ + dmd-bin=2.070.2-0 \ + libphobos2-dev=2.070.2-0 \ + dub \ + dfmt \ + dscanner \ + xdg-utils +RUN mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \ + curl -sSL https://github.com/D-Programming-Deimos/libevent/archive/master.tar.gz| tar xz && \ + mv libevent-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \ + mv libevent-master/C/* /usr/include/dmd/druntime/import/C/ && \ + rm -rf libevent-master +RUN curl -sSL https://github.com/D-Programming-Deimos/openssl/archive/master.tar.gz| tar xz && \ + mv openssl-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \ + mv openssl-master/C/* /usr/include/dmd/druntime/import/C/ && \ + rm -rf openssl-master + +RUN apt-get install -y --no-install-recommends \ +`# Dart dependencies` \ + dart=1.20.1-1 +ENV PATH /usr/lib/dart/bin:$PATH + +RUN apt-get install -y --no-install-recommends \ +`# Erlang dependencies` \ + erlang-base \ + erlang-eunit \ + erlang-dev \ + erlang-tools \ + rebar + +RUN apt-get install -y --no-install-recommends \ +`# GlibC dependencies` \ + libglib2.0-dev + +# golang +ENV GOLANG_VERSION 1.7.6 +ENV GOLANG_DOWNLOAD_URL https://golang.org/dl/go$GOLANG_VERSION.linux-amd64.tar.gz +ENV GOLANG_DOWNLOAD_SHA256 ad5808bf42b014c22dd7646458f631385003049ded0bb6af2efc7f1f79fa29ea +RUN curl -fsSL "$GOLANG_DOWNLOAD_URL" -o golang.tar.gz && \ + echo "$GOLANG_DOWNLOAD_SHA256 golang.tar.gz" | sha256sum -c - && \ + tar -C /usr/local -xzf golang.tar.gz && \ + ln -s /usr/local/go/bin/go /usr/local/bin && \ + rm golang.tar.gz + +RUN apt-get install -y --no-install-recommends \ +`# Haskell dependencies` \ + ghc \ + cabal-install + +# disabled because it cores while installing +# RUN apt-get install -y --no-install-recommends \ +# `# Haxe dependencies` \ +# haxe \ +# neko \ +# neko-dev && \ +# haxelib setup /usr/share/haxe/lib && \ +# haxelib install hxcpp 3.2.102 + +RUN apt-get install -y --no-install-recommends \ +`# Java dependencies` \ + ant \ + ant-optional \ + openjdk-7-jdk \ + maven + +RUN apt-get install -y --no-install-recommends \ +`# Lua dependencies` \ + lua5.1 \ + lua5.1-dev + +# disabled because it is too old +# RUN apt-get install -y --no-install-recommends \ +# `# Node.js dependencies` \ +# nodejs \ +# npm + +# disabled because it fails to install properly +# RUN apt-get install -y --no-install-recommends \ +# `# OCaml dependencies` \ +# ocaml \ +# opam && \ +# opam init --yes && \ +# opam install --yes oasis + +RUN apt-get install -y --no-install-recommends \ +`# Perl dependencies` \ + libbit-vector-perl \ + libclass-accessor-class-perl \ + libcrypt-ssleay-perl \ + libio-socket-ssl-perl \ + libnet-ssleay-perl + +RUN apt-get install -y --no-install-recommends \ +`# Php dependencies` \ + php5 \ + php5-cli \ + php5-dev \ + php-pear \ + re2c && \ + wget https://getcomposer.org/installer -O - -q | php -- --quiet --install-dir=/usr/local/bin/ --filename=composer + +RUN apt-get install -y --no-install-recommends \ +`# Python dependencies` \ + python-all \ + python-all-dbg \ + python-all-dev \ + python-pip \ + python-setuptools \ + python-six \ + python-twisted \ + python-wheel \ + python-zope.interface \ + python3-all \ + python3-all-dbg \ + python3-all-dev \ + python3-pip \ + python3-setuptools \ + python3-six \ + python3-wheel \ + python3-zope.interface && \ + pip install -U ipaddress backports.ssl_match_hostname tornado && \ + pip3 install -U backports.ssl_match_hostname tornado +# installing tornado by pip/pip3 instead of debian package +# if we install the debian package, the build fails in py2 + +RUN apt-get install -y --no-install-recommends \ +`# Ruby dependencies` \ + ruby \ + ruby-dev \ + ruby-bundler +RUN gem install bundler --no-ri --no-rdoc + +RUN apt-get install -y --no-install-recommends \ +`# Rust dependencies` \ + cargo \ + rustc + +RUN apt-get install -y --no-install-recommends \ +`# Static Code Analysis dependencies` \ + cppcheck \ + sloccount && \ + pip install flake8 + +# Install BouncyCastle provider to fix Java builds issues with JDK 7 +# Builds accessing repote repositories fail as seen here: https://github.com/travis-ci/travis-ci/issues/8503 +RUN apt-get install -y --no-install-recommends \ +`# BouncyCastle JCE Provider dependencies` \ + libbcprov-java && \ + ln -s /usr/share/java/bcprov.jar /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext/bcprov.jar && \ + awk -F . -v OFS=. 'BEGIN{n=2}/^security\.provider/ {split($3, posAndEquals, "=");$3=n++"="posAndEquals[2];print;next} 1' /etc/java-7-openjdk/security/java.security > /tmp/java.security && \ + echo "security.provider.1=org.bouncycastle.jce.provider.BouncyCastleProvider" >> /tmp/java.security && \ + mv /tmp/java.security /etc/java-7-openjdk/security/java.security + +# Clean up +RUN rm -rf /var/cache/apt/* && \ + rm -rf /var/lib/apt/lists/* && \ + rm -rf /tmp/* && \ + rm -rf /var/tmp/* + +ENV THRIFT_ROOT /thrift +RUN mkdir -p $THRIFT_ROOT/src +COPY Dockerfile $THRIFT_ROOT/ +WORKDIR $THRIFT_ROOT/src |