diff options
Diffstat (limited to 'tools/dockerfile/grpc_php_base/Dockerfile')
-rw-r--r-- | tools/dockerfile/grpc_php_base/Dockerfile | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/tools/dockerfile/grpc_php_base/Dockerfile b/tools/dockerfile/grpc_php_base/Dockerfile deleted file mode 100644 index aa20d6a374..0000000000 --- a/tools/dockerfile/grpc_php_base/Dockerfile +++ /dev/null @@ -1,122 +0,0 @@ -# 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. - -# Base Dockerfile for gRPC PHP. -# -# Includes PHP installation dependencies, things that are unlikely to vary. -FROM grpc/base - -RUN echo "deb http://packages.dotdeb.org wheezy-php55 all" >> /etc/apt/sources.list.d/dotdeb.list -RUN echo "deb-src http://packages.dotdeb.org wheezy-php55 all" >> /etc/apt/sources.list.d/dotdeb.list -RUN wget http://www.dotdeb.org/dotdeb.gpg -O- |apt-key add - - -# Install RVM dependencies and other packages -RUN apt-get update && apt-get install -y \ - autoconf \ - automake \ - bison \ - curl \ - g++ \ - gawk \ - gcc \ - groff \ - libc6-dev \ - libffi-dev \ - libgdbm-dev \ - libncurses5-dev \ - libreadline6-dev \ - libsqlite3-dev \ - libssl-dev \ - libtool \ - libxml2 \ - libyaml-dev \ - make \ - patch \ - php5-common \ - php5-cli \ - php5-dev \ - php-pear \ - pkg-config \ - procps \ - sqlite3 \ - zlib1g-dev - -ENV DEBIAN_FRONTEND noniteractive - -# Install composer -RUN curl -sS https://getcomposer.org/installer | php -RUN mv composer.phar /usr/local/bin/composer - -# Download the patched PHP protobuf so that PHP gRPC clients can be generated -# from proto3 schemas. -RUN git clone https://github.com/stanley-cheung/Protobuf-PHP.git /var/local/git/protobuf-php - -# Install ruby (via RVM) as ruby tools are dependencies for building Protobuf -# PHP extensions. -RUN gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3 # Needed for RVM -RUN \curl -sSL https://get.rvm.io | bash -s stable --ruby -ENV PATH /usr/local/rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin - -# ronn: a ruby tool used to convert markdown to man pages, used during the -# install of Protobuf extensions -# -# rake: a ruby version of make used to build the PHP Protobuf extension -RUN rvm all do gem install ronn rake - -# Get the source from GitHub, this gets the protobuf library as well -RUN git clone https://github.com/grpc/grpc.git /var/local/git/grpc -RUN cd /var/local/git/grpc && \ - git pull --recurse-submodules && \ - git submodule update --init --recursive - -# Build and install the protobuf library -RUN cd /var/local/git/grpc/third_party/protobuf && \ - ./autogen.sh && \ - ./configure --prefix=/usr && \ - make -j12 && make check && make install && make clean - -# Install the patched PHP protobuf so that PHP gRPC clients can be generated -# from proto3 schemas. -RUN cd /var/local/git/protobuf-php \ - && rvm all do rake pear:package version=1.0 \ - && pear install Protobuf-1.0.tgz - -# Install PHPUnit, used to run the PHP unit tests -RUN wget https://phar.phpunit.de/phpunit.phar \ - && chmod +x phpunit.phar \ - && mv phpunit.phar /usr/local/bin/phpunit - - -# TODO: pre-building seems unnecessary, because we need to run make clean -# anyway to prevent build from crashing if header files are added/removed. -# Build the C core -RUN make static_c shared_c -j12 -C /var/local/git/grpc - -# Define the default command. -CMD ["bash"] |