256 lines
5.5 KiB
Docker
256 lines
5.5 KiB
Docker
FROM debian:jessie
|
|
|
|
# Install dependencies. We start with the basic ones require to build protoc
|
|
# and the C++ build
|
|
RUN apt-get update && apt-get install -y \
|
|
autoconf \
|
|
autotools-dev \
|
|
build-essential \
|
|
bzip2 \
|
|
ccache \
|
|
curl \
|
|
gcc \
|
|
git \
|
|
libc6 \
|
|
libc6-dbg \
|
|
libc6-dev \
|
|
libgtest-dev \
|
|
libtool \
|
|
make \
|
|
parallel \
|
|
time \
|
|
wget \
|
|
re2c \
|
|
sqlite3 \
|
|
libsqlite3-dev \
|
|
&& apt-get clean
|
|
|
|
# Install php dependencies
|
|
RUN apt-get clean && apt-get update && apt-get install -y --force-yes \
|
|
php5 \
|
|
libcurl4-openssl-dev \
|
|
libgmp-dev \
|
|
libgmp3-dev \
|
|
libssl-dev \
|
|
libxml2-dev \
|
|
unzip \
|
|
zlib1g-dev \
|
|
pkg-config \
|
|
&& apt-get clean
|
|
|
|
# Install other dependencies
|
|
RUN ln -sf /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h
|
|
RUN wget http://ftp.gnu.org/gnu/bison/bison-2.6.4.tar.gz -O /var/local/bison-2.6.4.tar.gz
|
|
RUN cd /var/local \
|
|
&& tar -zxvf bison-2.6.4.tar.gz \
|
|
&& cd /var/local/bison-2.6.4 \
|
|
&& ./configure \
|
|
&& make \
|
|
&& make install
|
|
|
|
# Install composer
|
|
RUN curl -sS https://getcomposer.org/installer | php
|
|
RUN mv composer.phar /usr/local/bin/composer
|
|
|
|
# Download php source code
|
|
RUN git clone https://github.com/php/php-src
|
|
|
|
# php 5.6
|
|
RUN cd php-src \
|
|
&& git checkout PHP-5.6.39 \
|
|
&& ./buildconf --force
|
|
RUN cd php-src \
|
|
&& ./configure \
|
|
--enable-bcmath \
|
|
--enable-mbstring \
|
|
--with-gmp \
|
|
--with-openssl \
|
|
--with-zlib \
|
|
--prefix=/usr/local/php-5.6 \
|
|
&& make \
|
|
&& make install \
|
|
&& make clean
|
|
|
|
RUN wget -O phpunit https://phar.phpunit.de/phpunit-5.phar \
|
|
&& chmod +x phpunit \
|
|
&& mv phpunit /usr/local/php-5.6/bin
|
|
|
|
# php 7.0
|
|
RUN cd php-src \
|
|
&& git checkout PHP-7.0.33 \
|
|
&& ./buildconf --force
|
|
RUN cd php-src \
|
|
&& ./configure \
|
|
--enable-bcmath \
|
|
--enable-mbstring \
|
|
--with-gmp \
|
|
--with-openssl \
|
|
--with-zlib \
|
|
--prefix=/usr/local/php-7.0 \
|
|
&& make \
|
|
&& make install \
|
|
&& make clean
|
|
RUN cd php-src \
|
|
&& ./configure \
|
|
--enable-maintainer-zts \
|
|
--enable-mbstring \
|
|
--with-gmp \
|
|
--with-openssl \
|
|
--with-zlib \
|
|
--prefix=/usr/local/php-7.0-zts \
|
|
&& make \
|
|
&& make install \
|
|
&& make clean
|
|
|
|
RUN wget -O phpunit https://phar.phpunit.de/phpunit-6.phar \
|
|
&& chmod +x phpunit \
|
|
&& cp phpunit /usr/local/php-7.0/bin \
|
|
&& mv phpunit /usr/local/php-7.0-zts/bin
|
|
|
|
# php 7.1
|
|
RUN cd php-src \
|
|
&& git checkout PHP-7.1.25 \
|
|
&& ./buildconf --force
|
|
RUN cd php-src \
|
|
&& ./configure \
|
|
--enable-bcmath \
|
|
--enable-mbstring \
|
|
--with-gmp \
|
|
--with-openssl \
|
|
--with-zlib \
|
|
--prefix=/usr/local/php-7.1 \
|
|
&& make \
|
|
&& make install \
|
|
&& make clean
|
|
RUN cd php-src \
|
|
&& ./configure \
|
|
--enable-maintainer-zts \
|
|
--enable-mbstring \
|
|
--with-gmp \
|
|
--with-openssl \
|
|
--with-zlib \
|
|
--prefix=/usr/local/php-7.1-zts \
|
|
&& make \
|
|
&& make install \
|
|
&& make clean
|
|
|
|
RUN wget -O phpunit https://phar.phpunit.de/phpunit-7.5.0.phar \
|
|
&& chmod +x phpunit \
|
|
&& cp phpunit /usr/local/php-7.1/bin \
|
|
&& mv phpunit /usr/local/php-7.1-zts/bin
|
|
|
|
# php 7.2
|
|
RUN cd php-src \
|
|
&& git checkout PHP-7.2.13 \
|
|
&& ./buildconf --force
|
|
RUN cd php-src \
|
|
&& ./configure \
|
|
--enable-bcmath \
|
|
--enable-mbstring \
|
|
--with-gmp \
|
|
--with-openssl \
|
|
--with-zlib \
|
|
--prefix=/usr/local/php-7.2 \
|
|
&& make \
|
|
&& make install \
|
|
&& make clean
|
|
RUN cd php-src \
|
|
&& ./configure \
|
|
--enable-maintainer-zts \
|
|
--enable-mbstring \
|
|
--with-gmp \
|
|
--with-openssl \
|
|
--with-zlib \
|
|
--prefix=/usr/local/php-7.2-zts \
|
|
&& make \
|
|
&& make install \
|
|
&& make clean
|
|
|
|
RUN wget -O phpunit https://phar.phpunit.de/phpunit-7.5.0.phar \
|
|
&& chmod +x phpunit \
|
|
&& cp phpunit /usr/local/php-7.2/bin \
|
|
&& mv phpunit /usr/local/php-7.2-zts/bin
|
|
|
|
# php 7.3
|
|
RUN cd php-src \
|
|
&& git checkout PHP-7.3.0 \
|
|
&& ./buildconf --force
|
|
RUN cd php-src \
|
|
&& ./configure \
|
|
--enable-bcmath \
|
|
--enable-mbstring \
|
|
--with-gmp \
|
|
--with-openssl \
|
|
--with-zlib \
|
|
--prefix=/usr/local/php-7.3 \
|
|
&& make \
|
|
&& make install \
|
|
&& make clean
|
|
RUN cd php-src \
|
|
&& ./configure \
|
|
--enable-maintainer-zts \
|
|
--enable-mbstring \
|
|
--with-gmp \
|
|
--with-openssl \
|
|
--with-zlib \
|
|
--prefix=/usr/local/php-7.3-zts \
|
|
&& make \
|
|
&& make install \
|
|
&& make clean
|
|
|
|
RUN wget -O phpunit https://phar.phpunit.de/phpunit-7.5.0.phar \
|
|
&& chmod +x phpunit \
|
|
&& cp phpunit /usr/local/php-7.3/bin \
|
|
&& mv phpunit /usr/local/php-7.3-zts/bin
|
|
|
|
# php 7.4
|
|
RUN wget https://ftp.gnu.org/gnu/bison/bison-3.0.1.tar.gz -O /var/local/bison-3.0.1.tar.gz
|
|
RUN cd /var/local \
|
|
&& tar -zxvf bison-3.0.1.tar.gz \
|
|
&& cd /var/local/bison-3.0.1 \
|
|
&& ./configure \
|
|
&& make \
|
|
&& make install
|
|
|
|
RUN wget https://github.com/php/php-src/archive/php-7.4.0.tar.gz -O /var/local/php-7.4.0.tar.gz
|
|
|
|
RUN cd /var/local \
|
|
&& tar -zxvf php-7.4.0.tar.gz
|
|
|
|
RUN cd /var/local/php-src-php-7.4.0 \
|
|
&& ./buildconf --force \
|
|
&& ./configure \
|
|
--enable-bcmath \
|
|
--enable-mbstring \
|
|
--disable-mbregex \
|
|
--with-gmp \
|
|
--with-openssl \
|
|
--with-zlib \
|
|
--prefix=/usr/local/php-7.4 \
|
|
&& make \
|
|
&& make install \
|
|
&& make clean
|
|
RUN cd /var/local/php-src-php-7.4.0 \
|
|
&& ./buildconf --force \
|
|
&& ./configure \
|
|
--enable-maintainer-zts \
|
|
--enable-mbstring \
|
|
--disable-mbregex \
|
|
--with-gmp \
|
|
--with-openssl \
|
|
--with-zlib \
|
|
--prefix=/usr/local/php-7.4-zts \
|
|
&& make \
|
|
&& make install \
|
|
&& make clean
|
|
|
|
RUN wget -O phpunit https://phar.phpunit.de/phpunit-8.phar \
|
|
&& chmod +x phpunit \
|
|
&& cp phpunit /usr/local/php-7.4/bin \
|
|
&& mv phpunit /usr/local/php-7.4-zts/bin
|
|
|
|
# Install php dependencies
|
|
RUN apt-get clean && apt-get update && apt-get install -y --force-yes \
|
|
valgrind \
|
|
&& apt-get clean
|