Merge pull request #2878 from PavelSavushkinMix/feature/php8.0_cassandra
feat(cassandra extension): upgrade version of cassandra and avoid installation for PHP 8.0
This commit is contained in:
		@@ -354,7 +354,7 @@ services:
 | 
			
		||||
          - INSTALL_MEMCACHED=${PHP_FPM_INSTALL_MEMCACHED}
 | 
			
		||||
          - INSTALL_SOCKETS=${LARAVEL_HORIZON_INSTALL_SOCKETS}
 | 
			
		||||
          - INSTALL_YAML=${LARAVEL_HORIZON_INSTALL_YAML}
 | 
			
		||||
          - INSTALL_CASSANDRA=${PHP_FPM_INSTALL_CASSANDRA}
 | 
			
		||||
          - INSTALL_CASSANDRA=${LARAVEL_HORIZON_INSTALL_CASSANDRA}
 | 
			
		||||
          - INSTALL_PHPREDIS=${LARAVEL_HORIZON_INSTALL_PHPREDIS}
 | 
			
		||||
          - INSTALL_MONGO=${LARAVEL_HORIZON_INSTALL_MONGO}
 | 
			
		||||
          - INSTALL_FFMPEG=${LARAVEL_HORIZON_INSTALL_FFMPEG}
 | 
			
		||||
 
 | 
			
		||||
@@ -321,6 +321,7 @@ LARAVEL_HORIZON_INSTALL_YAML=false
 | 
			
		||||
LARAVEL_HORIZON_INSTALL_ZIP_ARCHIVE=false
 | 
			
		||||
LARAVEL_HORIZON_INSTALL_PHPREDIS=true
 | 
			
		||||
LARAVEL_HORIZON_INSTALL_MONGO=false
 | 
			
		||||
LARAVEL_HORIZON_INSTALL_CASSANDRA=false
 | 
			
		||||
LARAVEL_HORIZON_INSTALL_FFMPEG=false
 | 
			
		||||
LARAVEL_HORIZON_INSTALL_AUDIOWAVEFORM=false
 | 
			
		||||
LARAVEL_HORIZON_PGID=1000
 | 
			
		||||
 
 | 
			
		||||
@@ -178,21 +178,24 @@ RUN if [ ${INSTALL_AUDIOWAVEFORM} = true ]; then \
 | 
			
		||||
# Install Cassandra drivers:
 | 
			
		||||
ARG INSTALL_CASSANDRA=false
 | 
			
		||||
RUN if [ ${INSTALL_CASSANDRA} = true ]; then \
 | 
			
		||||
  apk --update add cassandra-cpp-driver \
 | 
			
		||||
  ;fi
 | 
			
		||||
 | 
			
		||||
WORKDIR /usr/src
 | 
			
		||||
RUN if [ ${INSTALL_CASSANDRA} = true ]; then \
 | 
			
		||||
  git clone https://github.com/datastax/php-driver.git \
 | 
			
		||||
  && cd php-driver/ext \
 | 
			
		||||
  && phpize \
 | 
			
		||||
  && mkdir -p /usr/src/php-driver/build \
 | 
			
		||||
  && cd /usr/src/php-driver/build \
 | 
			
		||||
  && ../ext/configure > /dev/null \
 | 
			
		||||
  && make clean >/dev/null \
 | 
			
		||||
  && make >/dev/null 2>&1 \
 | 
			
		||||
  && make install \
 | 
			
		||||
  && docker-php-ext-enable cassandra \
 | 
			
		||||
  if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
 | 
			
		||||
    echo "PHP Driver for Cassandra is not supported for PHP 8.0."; \
 | 
			
		||||
  else \
 | 
			
		||||
    apk add --update --no-cache cassandra-cpp-driver libuv gmp \
 | 
			
		||||
    && apk add --update --no-cache cassandra-cpp-driver-dev gmp-dev --virtual .build-sec \
 | 
			
		||||
    && cd /usr/src \
 | 
			
		||||
    && git clone https://github.com/datastax/php-driver.git \
 | 
			
		||||
    && cd php-driver/ext \
 | 
			
		||||
    && phpize \
 | 
			
		||||
    && mkdir -p /usr/src/php-driver/build \
 | 
			
		||||
    && cd /usr/src/php-driver/build \
 | 
			
		||||
    && ../ext/configure > /dev/null \
 | 
			
		||||
    && make clean > /dev/null \
 | 
			
		||||
    && make > /dev/null 2>&1 \
 | 
			
		||||
    && make install \
 | 
			
		||||
    && docker-php-ext-enable cassandra \
 | 
			
		||||
    && apk del .build-sec; \
 | 
			
		||||
  fi \
 | 
			
		||||
;fi
 | 
			
		||||
 | 
			
		||||
# Install MongoDB drivers:
 | 
			
		||||
 
 | 
			
		||||
@@ -389,6 +389,41 @@ RUN if [ ${INSTALL_AMQP} = true ]; then \
 | 
			
		||||
    docker-php-ext-install sockets \
 | 
			
		||||
;fi
 | 
			
		||||
 | 
			
		||||
###########################################################################
 | 
			
		||||
# CASSANDRA:
 | 
			
		||||
###########################################################################
 | 
			
		||||
 | 
			
		||||
ARG INSTALL_CASSANDRA=false
 | 
			
		||||
 | 
			
		||||
RUN if [ ${INSTALL_CASSANDRA} = true ]; then \
 | 
			
		||||
    if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
 | 
			
		||||
      echo "PHP Driver for Cassandra is not supported for PHP 8.0."; \
 | 
			
		||||
    else \
 | 
			
		||||
      apt-get install libgmp-dev -yqq && \
 | 
			
		||||
      curl https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dev_1.35.0-1_amd64.deb -o libuv1-dev.deb && \
 | 
			
		||||
      curl https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1_1.35.0-1_amd64.deb -o libuv1.deb && \
 | 
			
		||||
      curl https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb -o cassandra-cpp-driver-dev.deb && \
 | 
			
		||||
      curl https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver_2.16.0-1_amd64.deb -o cassandra-cpp-driver.deb && \
 | 
			
		||||
      dpkg -i libuv1.deb && \
 | 
			
		||||
      dpkg -i libuv1-dev.deb && \
 | 
			
		||||
      dpkg -i cassandra-cpp-driver.deb && \
 | 
			
		||||
      dpkg -i cassandra-cpp-driver-dev.deb && \
 | 
			
		||||
      rm libuv1.deb libuv1-dev.deb cassandra-cpp-driver-dev.deb cassandra-cpp-driver.deb && \
 | 
			
		||||
      cd /usr/src && \
 | 
			
		||||
      git clone https://github.com/datastax/php-driver.git && \
 | 
			
		||||
      cd /usr/src/php-driver/ext && \
 | 
			
		||||
      phpize && \
 | 
			
		||||
      mkdir /usr/src/php-driver/build && \
 | 
			
		||||
      cd /usr/src/php-driver/build && \
 | 
			
		||||
      ../ext/configure > /dev/null && \
 | 
			
		||||
      make clean > /dev/null && \
 | 
			
		||||
      make > /dev/null 2>&1 && \
 | 
			
		||||
      make install && \
 | 
			
		||||
      echo "extension=cassandra.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/cassandra.ini && \
 | 
			
		||||
      ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/cassandra.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/30-cassandra.ini; \
 | 
			
		||||
    fi \
 | 
			
		||||
;fi
 | 
			
		||||
 | 
			
		||||
###########################################################################
 | 
			
		||||
# GEARMAN:
 | 
			
		||||
###########################################################################
 | 
			
		||||
 
 | 
			
		||||
@@ -239,21 +239,24 @@ RUN if [ ${INSTALL_GEARMAN} = true ]; then \
 | 
			
		||||
# Install Cassandra drivers:
 | 
			
		||||
ARG INSTALL_CASSANDRA=false
 | 
			
		||||
RUN if [ ${INSTALL_CASSANDRA} = true ]; then \
 | 
			
		||||
  apk --update add cassandra-cpp-driver \
 | 
			
		||||
  ;fi
 | 
			
		||||
 | 
			
		||||
WORKDIR /usr/src
 | 
			
		||||
RUN if [ ${INSTALL_CASSANDRA} = true ]; then \
 | 
			
		||||
  git clone https://github.com/datastax/php-driver.git \
 | 
			
		||||
  && cd php-driver/ext \
 | 
			
		||||
  && phpize \
 | 
			
		||||
  && mkdir -p /usr/src/php-driver/build \
 | 
			
		||||
  && cd /usr/src/php-driver/build \
 | 
			
		||||
  && ../ext/configure --with-php-config=/usr/bin/php-config7.1 > /dev/null \
 | 
			
		||||
  && make clean >/dev/null \
 | 
			
		||||
  && make >/dev/null 2>&1 \
 | 
			
		||||
  && make install \
 | 
			
		||||
  && docker-php-ext-enable cassandra \
 | 
			
		||||
  if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
 | 
			
		||||
    echo "PHP Driver for Cassandra is not supported for PHP 8.0."; \
 | 
			
		||||
  else \
 | 
			
		||||
    apk add --update --no-cache cassandra-cpp-driver libuv gmp \
 | 
			
		||||
    && apk add --update --no-cache cassandra-cpp-driver-dev gmp-dev --virtual .build-sec \
 | 
			
		||||
    && cd /usr/src \
 | 
			
		||||
    && git clone https://github.com/datastax/php-driver.git \
 | 
			
		||||
    && cd php-driver/ext \
 | 
			
		||||
    && phpize \
 | 
			
		||||
    && mkdir -p /usr/src/php-driver/build \
 | 
			
		||||
    && cd /usr/src/php-driver/build \
 | 
			
		||||
    && ../ext/configure > /dev/null \
 | 
			
		||||
    && make clean > /dev/null \
 | 
			
		||||
    && make > /dev/null 2>&1 \
 | 
			
		||||
    && make install \
 | 
			
		||||
    && docker-php-ext-enable cassandra \
 | 
			
		||||
    && apk del .build-sec; \
 | 
			
		||||
  fi \
 | 
			
		||||
;fi
 | 
			
		||||
 | 
			
		||||
# Install Phalcon ext
 | 
			
		||||
 
 | 
			
		||||
@@ -520,28 +520,32 @@ RUN if [ ${INSTALL_AMQP} = true ]; then \
 | 
			
		||||
ARG INSTALL_CASSANDRA=false
 | 
			
		||||
 | 
			
		||||
RUN if [ ${INSTALL_CASSANDRA} = true ]; then \
 | 
			
		||||
    apt-get install libgmp-dev -y && \
 | 
			
		||||
    curl https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.28.0/libuv1-dev_1.28.0-1_amd64.deb -o libuv1-dev.deb && \
 | 
			
		||||
    curl https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.28.0/libuv1_1.28.0-1_amd64.deb -o libuv1.deb && \
 | 
			
		||||
    curl https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.12.0/cassandra-cpp-driver-dev_2.12.0-1_amd64.deb -o cassandra-cpp-driver-dev.deb && \
 | 
			
		||||
    curl https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.12.0/cassandra-cpp-driver_2.12.0-1_amd64.deb -o cassandra-cpp-driver.deb && \
 | 
			
		||||
    dpkg -i libuv1.deb && \
 | 
			
		||||
    dpkg -i libuv1-dev.deb && \
 | 
			
		||||
    dpkg -i cassandra-cpp-driver.deb && \
 | 
			
		||||
    dpkg -i cassandra-cpp-driver-dev.deb && \
 | 
			
		||||
    rm libuv1.deb libuv1-dev.deb cassandra-cpp-driver-dev.deb cassandra-cpp-driver.deb && \
 | 
			
		||||
    cd /usr/src && \
 | 
			
		||||
    git clone https://github.com/datastax/php-driver.git && \
 | 
			
		||||
    cd /usr/src/php-driver/ext && \
 | 
			
		||||
    phpize && \
 | 
			
		||||
    mkdir /usr/src/php-driver/build && \
 | 
			
		||||
    cd /usr/src/php-driver/build && \
 | 
			
		||||
    ../ext/configure > /dev/null && \
 | 
			
		||||
    make clean >/dev/null && \
 | 
			
		||||
    make >/dev/null 2>&1 && \
 | 
			
		||||
    make install && \
 | 
			
		||||
    echo "extension=cassandra.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/cassandra.ini && \
 | 
			
		||||
    ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/cassandra.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/30-cassandra.ini \
 | 
			
		||||
    if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
 | 
			
		||||
      echo "PHP Driver for Cassandra is not supported for PHP 8.0."; \
 | 
			
		||||
    else \
 | 
			
		||||
      apt-get install libgmp-dev -yqq && \
 | 
			
		||||
      curl https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dev_1.35.0-1_amd64.deb -o libuv1-dev.deb && \
 | 
			
		||||
      curl https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1_1.35.0-1_amd64.deb -o libuv1.deb && \
 | 
			
		||||
      curl https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb -o cassandra-cpp-driver-dev.deb && \
 | 
			
		||||
      curl https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver_2.16.0-1_amd64.deb -o cassandra-cpp-driver.deb && \
 | 
			
		||||
      dpkg -i libuv1.deb && \
 | 
			
		||||
      dpkg -i libuv1-dev.deb && \
 | 
			
		||||
      dpkg -i cassandra-cpp-driver.deb && \
 | 
			
		||||
      dpkg -i cassandra-cpp-driver-dev.deb && \
 | 
			
		||||
      rm libuv1.deb libuv1-dev.deb cassandra-cpp-driver-dev.deb cassandra-cpp-driver.deb && \
 | 
			
		||||
      cd /usr/src && \
 | 
			
		||||
      git clone https://github.com/datastax/php-driver.git && \
 | 
			
		||||
      cd /usr/src/php-driver/ext && \
 | 
			
		||||
      phpize && \
 | 
			
		||||
      mkdir /usr/src/php-driver/build && \
 | 
			
		||||
      cd /usr/src/php-driver/build && \
 | 
			
		||||
      ../ext/configure > /dev/null && \
 | 
			
		||||
      make clean >/dev/null && \
 | 
			
		||||
      make >/dev/null 2>&1 && \
 | 
			
		||||
      make install && \
 | 
			
		||||
      echo "extension=cassandra.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/cassandra.ini && \
 | 
			
		||||
      ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/cassandra.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/30-cassandra.ini; \
 | 
			
		||||
    fi \
 | 
			
		||||
;fi
 | 
			
		||||
 | 
			
		||||
###########################################################################
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user