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