xref: /aosp_15_r20/external/grpc-grpc/src/php/docker/php-src/Dockerfile (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
1# Copyright 2019 gRPC authors.
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#     http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15FROM debian:buster
16
17RUN apt-get -qq update && apt-get -qq -y upgrade && apt-get -qq install -y \
18  autoconf bison build-essential git libtool \
19  libcurl4-openssl-dev libedit-dev libonig-dev libsodium-dev \
20  libsqlite3-dev libssl-dev libxml2-dev \
21  pkg-config re2c valgrind wget zlib1g-dev
22
23
24WORKDIR /tmp
25
26RUN wget https://phar.phpunit.de/phpunit-9.5.9.phar && \
27  mv phpunit-9.5.9.phar /usr/local/bin/phpunit && \
28  chmod +x /usr/local/bin/phpunit
29
30
31WORKDIR /github/php-src
32
33ARG MAKEFLAGS=-j8
34
35RUN git clone https://github.com/php/php-src .
36
37RUN git checkout php-8.1.27 && \
38  ./buildconf --force && \
39  ./configure --build=x86_64-linux-gnu --enable-option-checking=fatal \
40    --enable-debug --enable-pcntl \
41    --enable-ftp --enable-mbstring --enable-mysqlnd \
42    --with-curl --with-libedit --with-mhash --with-openssl \
43    --with-pear --with-sodium=shared --with-zlib && \
44  make && make install
45
46
47WORKDIR /github/grpc
48
49COPY . .
50
51RUN pear package && \
52  find . -name grpc-*.tgz | xargs -I{} pecl install {}
53
54
55CMD ["/github/grpc/src/php/bin/run_tests.sh", "--skip-persistent-channel-tests", \
56     "--ignore-valgrind-undef-errors"]
57
58