]> git.proxmox.com Git - ceph.git/blame - ceph/src/jaegertracing/thrift/build/docker/old/debian-jessie/Dockerfile
buildsys: switch source download to quincy
[ceph.git] / ceph / src / jaegertracing / thrift / build / docker / old / debian-jessie / Dockerfile
CommitLineData
f67539c2
TL
1# Licensed under the Apache License, Version 2.0 (the "License");
2# you may not use this file except in compliance with the License.
3# You may obtain a copy of the License at
4#
5# http://www.apache.org/licenses/LICENSE-2.0
6#
7# Unless required by applicable law or agreed to in writing, software
8# distributed under the License is distributed on an "AS IS" BASIS,
9# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10# See the License for the specific language governing permissions and
11# limitations under the License.
12
13# Apache Thrift Docker build environment for Debian
14#
15# Known missing client libraries:
16# - dotnetcore
17# - rust
18
19FROM buildpack-deps:jessie-scm
20MAINTAINER Apache Thrift <dev@thrift.apache.org>
21
22ENV DEBIAN_FRONTEND noninteractive
23
24# Add apt sources
25# jessie-backports for cmake and some ruby bits
26RUN echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/jessie-backports.list
27
28# Dart
29RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
30 curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > /etc/apt/sources.list.d/dart_stable.list && \
31 sed -i /etc/apt/sources.list.d/dart_stable.list -e 's/https:/http:/g'
32
33RUN apt-get update && apt-get install -y --no-install-recommends \
34`# General dependencies` \
35 bison \
36 build-essential \
37 clang \
38 debhelper \
39 flex \
40 pkg-config && \
41 apt-get -t jessie-backports install -y --no-install-recommends cmake
42
43RUN apt-get install -y --no-install-recommends \
44`# C++ dependencies` \
45 libboost-dev \
46 libboost-filesystem-dev \
47 libboost-program-options-dev \
48 libboost-system-dev \
49 libboost-test-dev \
50 libboost-thread-dev \
51 libevent-dev \
52 libssl-dev \
53 qt5-default \
54 qtbase5-dev \
55 qtbase5-dev-tools
56
57RUN apt-get install -y --no-install-recommends \
58`# Java dependencies` \
59 ant \
60 ant-optional \
61 openjdk-7-jdk \
62 maven
63
64RUN apt-get install -y --no-install-recommends \
65`# Python dependencies` \
66 python-all \
67 python-all-dbg \
68 python-all-dev \
69 python-pip \
70 python-setuptools \
71 python-twisted \
72 python-zope.interface \
73 python3-all \
74 python3-all-dbg \
75 python3-all-dev \
76 python3-setuptools \
77 python3-pip
78
79RUN apt-get install -y --no-install-recommends \
80`# Ruby dependencies` \
81 ruby \
82 ruby-bundler \
83 ruby-dev \
84`# Perl dependencies` \
85 libbit-vector-perl \
86 libclass-accessor-class-perl \
87 libcrypt-ssleay-perl \
88 libio-socket-ssl-perl \
89 libnet-ssleay-perl
90
91RUN apt-get -t jessie-backports install -y ruby-bundler
92RUN apt-get install -y --no-install-recommends \
93`# Php dependencies` \
94 php5 \
95 php5-dev \
96 php5-cli \
97 php-pear \
98 re2c \
99 phpunit \
100`# GlibC dependencies` \
101 libglib2.0-dev
102
103RUN apt-get update && apt-get install -y --no-install-recommends \
104`# Erlang dependencies` \
105 erlang-base \
106 erlang-eunit \
107 erlang-dev \
108 erlang-tools \
109 rebar
110
111RUN apt-get update && apt-get install -y --no-install-recommends \
112`# Haskell dependencies` \
113 ghc \
114 cabal-install \
115`# Haxe dependencies` \
116 neko \
117 neko-dev \
118 libneko0
119
120RUN apt-get update && apt-get install -y --no-install-recommends \
121`# Node.js dependencies` \
122 nodejs \
123 nodejs-dev \
124 nodejs-legacy \
125 npm
126
127RUN apt-get update && apt-get install -y --no-install-recommends \
128`# CSharp dependencies` \
129 libmono-system-web2.0-cil \
130 mono-devel
131
132RUN apt-get update && apt-get install -y --no-install-recommends \
133`# D dependencies` \
134 xdg-utils \
135`# Dart dependencies` \
136 dart \
137`# Lua dependencies` \
138 lua5.2 \
139 lua5.2-dev \
140`# MinGW dependencies` \
141 mingw32 \
142 mingw32-binutils \
143`# mingw32-runtime` \
144 nsis \
145`# Clean up` \
146 && rm -rf /var/cache/apt/* && \
147 rm -rf /var/lib/apt/lists/* && \
148 rm -rf /tmp/* && \
149 rm -rf /var/tmp/*
150
151# Ruby
152RUN gem install bundler --no-ri --no-rdoc
153
154# Python optional dependencies
155RUN pip2 install -U ipaddress backports.ssl_match_hostname tornado
156RUN pip3 install -U backports.ssl_match_hostname tornado
157
158# Go
159RUN curl -sSL https://storage.googleapis.com/golang/go1.4.3.linux-amd64.tar.gz | tar -C /usr/local/ -xz
160ENV PATH /usr/local/go/bin:$PATH
161
162# Haxe
163RUN mkdir -p /usr/lib/haxe && \
164 wget -O - https://github.com/HaxeFoundation/haxe/releases/download/3.2.1/haxe-3.2.1-linux64.tar.gz | \
165 tar -C /usr/lib/haxe --strip-components=1 -xz && \
166 ln -s /usr/lib/haxe/haxe /usr/bin/haxe && \
167 ln -s /usr/lib/haxe/haxelib /usr/bin/haxelib && \
168 mkdir -p /usr/lib/haxe/lib && \
169 chmod -R 777 /usr/lib/haxe/lib && \
170 haxelib setup /usr/lib/haxe/lib && \
171 haxelib install hxcpp
172
173# D
174RUN curl -sSL http://downloads.dlang.org/releases/2.x/2.070.0/dmd_2.070.0-0_amd64.deb -o /tmp/dmd_2.070.0-0_amd64.deb && \
175 dpkg -i /tmp/dmd_2.070.0-0_amd64.deb && \
176 rm /tmp/dmd_2.070.0-0_amd64.deb && \
177 curl -sSL https://github.com/D-Programming-Deimos/openssl/archive/master.tar.gz| tar xz && \
178 curl -sSL https://github.com/D-Programming-Deimos/libevent/archive/master.tar.gz| tar xz && \
179 mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
180 mv libevent-master/deimos/* openssl-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
181 mv libevent-master/C/* openssl-master/C/* /usr/include/dmd/druntime/import/C/ && \
182 rm -rf libevent-master openssl-master && \
183 echo 'gcc -Wl,--no-as-needed $*' > /usr/local/bin/gcc-dmd && \
184 chmod 755 /usr/local/bin/gcc-dmd && \
185 echo 'CC=/usr/local/bin/gcc-dmd' >> /etc/dmd.conf
186
187# Dart
188ENV PATH /usr/lib/dart/bin:$PATH
189
190# OCaml
191RUN echo 'deb http://ppa.launchpad.net/avsm/ppa/ubuntu trusty main' > /etc/apt/sources.list.d/avsm-official-ocaml.list && \
192 gpg --keyserver keyserver.ubuntu.com --recv 61707B09 && \
193 gpg --export --armor 61707B09 | apt-key add - && \
194 apt-get update && \
195 apt-get install -y ocaml opam && \
196 opam init && \
197 opam install oasis
198
199# Force utf8 locale to successfully build Haskell tf-random
200ENV LC_ALL C.UTF-8
201
202ENV THRIFT_ROOT /thrift
203RUN mkdir -p $THRIFT_ROOT/src
204COPY Dockerfile $THRIFT_ROOT/
205WORKDIR $THRIFT_ROOT/src