FROM php:8.5-zts-bookworm@sha256:37c0d4c01e11298be6f9265bee75fc2cce878180d50d38abca5354622fdea483
COPY --from=composer:2.9@sha256:b09bccd91a78fe8a9ab4b33d707b862e8fe54fec17782e32683ad2a69c46867d /usr/bin/composer /usr/local/bin/composer
COPY debian.sources /etc/apt/sources.list.d/debian.sources
RUN apt-get update && apt-get install --no-install-recommends -y \
    build-essential cmake pkg-config git unzip libgmp-dev libmpfr-dev \
    && rm -rf /var/lib/apt/lists/*
WORKDIR /opt/typephp
RUN curl --fail --location --silent --show-error \
    https://codeload.github.com/swoole/typephp/tar.gz/c481e06f3ca8f430488022ff37e712ea961082ff \
    | tar -xz --strip-components=1
COPY composer.lock ./composer.lock
RUN composer install --no-dev --no-interaction --no-scripts --no-plugins --prefer-dist --no-progress
ENV PHP_HOME=/usr/local PHPX_HOME=/opt/typephp/vendor/swoole/phpx
RUN test -f /usr/local/lib/libphp.so && \
    php -r 'if (PHP_VERSION !== "8.5.11" || !PHP_ZTS) { exit(1); }' && \
    cmake -S "$PHPX_HOME" -B "$PHPX_HOME/build" \
      -D CMAKE_BUILD_TYPE=Release -D BUILD_TESTS=OFF -D BUILD_EXT=OFF \
      -D GITHUB_ACTION=ON -D php_dir="$PHP_HOME" && \
    cmake --build "$PHPX_HOME/build" --target phpx --parallel 2
ENV LD_LIBRARY_PATH=/opt/typephp/vendor/swoole/phpx/lib:/usr/local/lib
RUN php bin/tpc.php --version && \
    dpkg-query -W > /opt/build-packages.txt
ENTRYPOINT []
CMD ["php", "bin/tpc.php", "--version"]
