FROM registry.access.redhat.com/ubi7/ubi

ARG HDF5_TAG="hdf5_1.14.6"

LABEL authors="Filip Leonarski"

ARG CMAKE_VERSION=3.31.6
ARG NODE_MAJOR=16

RUN yum -y update && \
    yum -y install \
        gcc \
        gcc-c++ \
        git \
        make \
        tar \
        gzip \
        curl && \
    yum clean all

# Install a recent Node.js (NodeSource). Change NODE_MAJOR if you want another major version.
RUN curl -fsSL https://rpm.nodesource.com/setup_${NODE_MAJOR}.x | bash - && \
    yum -y install nodejs && \
    yum clean all && \
    node --version && npm --version && (corepack enable || true)

RUN set -eux; \
    arch="$(uname -m)"; \
    case "$arch" in \
      x86_64) cmake_arch="x86_64" ;; \
      aarch64) cmake_arch="aarch64" ;; \
      *) echo "Unsupported architecture: $arch"; exit 1 ;; \
    esac; \
    curl -L "https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-linux-${cmake_arch}.tar.gz" \
      -o /tmp/cmake.tar.gz; \
    tar -xzf /tmp/cmake.tar.gz -C /opt; \
    ln -s "/opt/cmake-${CMAKE_VERSION}-linux-${cmake_arch}/bin/cmake" /usr/local/bin/cmake; \
    ln -s "/opt/cmake-${CMAKE_VERSION}-linux-${cmake_arch}/bin/ctest" /usr/local/bin/ctest; \
    ln -s "/opt/cmake-${CMAKE_VERSION}-linux-${cmake_arch}/bin/cpack" /usr/local/bin/cpack; \
    rm -f /tmp/cmake.tar.gz

# Default entrypoint prints tool versions and hints.
CMD ["/bin/bash", "-l"]