|  | # Copyright 2015, Google Inc. | 
|  | # All rights reserved. | 
|  | # | 
|  | # Redistribution and use in source and binary forms, with or without | 
|  | # modification, are permitted provided that the following conditions are | 
|  | # met: | 
|  | # | 
|  | #     * Redistributions of source code must retain the above copyright | 
|  | # notice, this list of conditions and the following disclaimer. | 
|  | #     * Redistributions in binary form must reproduce the above | 
|  | # copyright notice, this list of conditions and the following disclaimer | 
|  | # in the documentation and/or other materials provided with the | 
|  | # distribution. | 
|  | #     * Neither the name of Google Inc. nor the names of its | 
|  | # contributors may be used to endorse or promote products derived from | 
|  | # this software without specific prior written permission. | 
|  | # | 
|  | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | 
|  | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | 
|  | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | 
|  | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | 
|  | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | 
|  | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | 
|  | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 
|  | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 
|  | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 
|  | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 
|  | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 
|  |  | 
|  | FROM debian:jessie | 
|  |  | 
|  | # Install Git and basic packages. | 
|  | RUN apt-get update && apt-get install -y \ | 
|  | autoconf \ | 
|  | autotools-dev \ | 
|  | build-essential \ | 
|  | bzip2 \ | 
|  | ccache \ | 
|  | curl \ | 
|  | gcc \ | 
|  | gcc-multilib \ | 
|  | git \ | 
|  | golang \ | 
|  | gyp \ | 
|  | lcov \ | 
|  | libc6 \ | 
|  | libc6-dbg \ | 
|  | libc6-dev \ | 
|  | libgtest-dev \ | 
|  | libtool \ | 
|  | make \ | 
|  | perl \ | 
|  | strace \ | 
|  | python-dev \ | 
|  | python-setuptools \ | 
|  | python-yaml \ | 
|  | telnet \ | 
|  | unzip \ | 
|  | wget \ | 
|  | zip && apt-get clean | 
|  |  | 
|  | #================ | 
|  | # Build profiling | 
|  | RUN apt-get update && apt-get install -y time && apt-get clean | 
|  |  | 
|  | #==================== | 
|  | # Python dependencies | 
|  |  | 
|  | # Install dependencies | 
|  |  | 
|  | RUN apt-get update && apt-get install -y \ | 
|  | python-all-dev \ | 
|  | python3-all-dev \ | 
|  | python-pip | 
|  |  | 
|  | # Install Python packages from PyPI | 
|  | RUN pip install pip --upgrade | 
|  | RUN pip install virtualenv | 
|  | RUN pip install futures==2.2.0 enum34==1.0.4 protobuf==3.2.0 six==1.10.0 | 
|  |  | 
|  | #================== | 
|  | # Ruby dependencies | 
|  |  | 
|  | # Install rvm | 
|  | RUN gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 | 
|  | RUN \curl -sSL https://get.rvm.io | bash -s stable | 
|  |  | 
|  | # Install Ruby 2.1 | 
|  | RUN /bin/bash -l -c "rvm install ruby-2.1" | 
|  | RUN /bin/bash -l -c "rvm use --default ruby-2.1" | 
|  | RUN /bin/bash -l -c "echo 'gem: --no-ri --no-rdoc' > ~/.gemrc" | 
|  | RUN /bin/bash -l -c "echo 'export PATH=/usr/local/rvm/bin:$PATH' >> ~/.bashrc" | 
|  | RUN /bin/bash -l -c "echo 'rvm --default use ruby-2.1' >> ~/.bashrc" | 
|  | RUN /bin/bash -l -c "gem install bundler --no-ri --no-rdoc" | 
|  |  | 
|  | # Prepare ccache | 
|  | RUN ln -s /usr/bin/ccache /usr/local/bin/gcc | 
|  | RUN ln -s /usr/bin/ccache /usr/local/bin/g++ | 
|  | RUN ln -s /usr/bin/ccache /usr/local/bin/cc | 
|  | RUN ln -s /usr/bin/ccache /usr/local/bin/c++ | 
|  | RUN ln -s /usr/bin/ccache /usr/local/bin/clang | 
|  | RUN ln -s /usr/bin/ccache /usr/local/bin/clang++ | 
|  |  | 
|  |  | 
|  | RUN mkdir /var/local/jenkins | 
|  |  | 
|  | # Define the default command. | 
|  | CMD ["bash"] |