#!/usr/bin/env bash
##makedesc: Install php v8.4

set -eo pipefail

installed() { command -v "$1" >/dev/null 2>&1; }

install() {
    if [ "$(uname -s)" = "Darwin" ]; then
        if installed brew; then
            brew install php
        else
            echo "ERROR: Install Homebrew first." >&2
            exit 1
        fi
        return
    fi

    PHPVER="8.4"

    echo
    echo "==============================================="
    echo "Installing php ${PHPVER}"
    echo "==============================================="
    echo

    sudo apt install -y --autoremove \
        php${PHPVER}-fpm \
        php${PHPVER}-dev \
        php${PHPVER}-apcu \
        php${PHPVER}-bcmath \
        php${PHPVER}-cli \
        php${PHPVER}-common \
        php${PHPVER}-curl \
        php${PHPVER}-dom \
        php${PHPVER}-gd \
        php${PHPVER}-intl \
        php${PHPVER}-mbstring \
        php${PHPVER}-mysql \
        php${PHPVER}-opcache \
        php${PHPVER}-pgsql \
        php${PHPVER}-simplexml \
        php${PHPVER}-soap \
        php${PHPVER}-sqlite3 \
        php${PHPVER}-xdebug \
        php${PHPVER}-xml \
        php${PHPVER}-xmlrpc \
        php${PHPVER}-zip

    echo
    echo "Finish!"
    php -v
    echo
}

case "$1" in
    *) install ;;
esac
