FROM quay.io/pypa/manylinux2014_x86_64

# Install basic build tools (adjust as needed)
RUN yum -y install \
    git \
    cmake \
    ninja-build \
    make \
    wget \
    which \
    perl \
    openssl-devel \
    && yum clean all

# Install CUDA Toolkit
ARG CUDA_VERSION=12.4.1
ARG CUDA_RUNFILE=cuda_${CUDA_VERSION}_550.54.14_linux.run

WORKDIR /tmp/cuda

# Download the CUDA runfile installer
RUN wget -q https://developer.download.nvidia.com/compute/cuda/${CUDA_VERSION}/local_installers/${CUDA_RUNFILE}

# Silent installation:
RUN sh ${CUDA_RUNFILE} --silent --toolkit --override \
    && rm -rf /tmp/cuda

# Environment variables so that CMake can locate nvcc, CUDA headers, and libraries
ENV CUDA_HOME=/usr/local/cuda
ENV PATH=${CUDA_HOME}/bin:${PATH}
ENV LD_LIBRARY_PATH=${CUDA_HOME}/lib64:${LD_LIBRARY_PATH}

# Verify that nvcc is available (fail early if CUDA installation is broken)
RUN nvcc --version
