FROM rockylinux/rockylinux:10.1.20251123 AS base

WORKDIR /root

ARG LIBVIPS_VERSION=8.18.2

RUN dnf update -y && dnf install -y \
    cmake \
    curl \
    epel-release \
    expat-devel \
    gcc \
    gcc-c++ \
    glib2-devel \
    libarchive-devel \
    libjpeg-turbo-devel \
    libpng-devel \
    librsvg2-devel \
    libtiff-devel \
    libwebp-devel \
    python3-pip \
    rpmdevtools \
    xz

RUN crb enable

RUN dnf install -y \
    cfitsio-devel \
    fftw-devel \
    fontconfig-devel \
    ImageMagick-devel \
    libexif-devel \
    libheif-devel \
    libimagequant-devel \
    libjxl-devel \
    LibRaw-devel \
    ninja-build \
    openexr-devel \
    openjpeg2-devel \
    openslide-devel \
    poppler-glib-devel \
    rpmlint \
    && dnf clean all

FROM base AS updated

RUN rpmdev-setuptree

RUN curl -L https://github.com/libvips/libvips/releases/download/v${LIBVIPS_VERSION}/vips-${LIBVIPS_VERSION}.tar.xz \
    -o rpmbuild/SOURCES/vips-${LIBVIPS_VERSION}.tar.xz

COPY libvips-${LIBVIPS_VERSION}.spec rpmbuild/SPECS/libvips-${LIBVIPS_VERSION}.spec

RUN rpmlint rpmbuild/SPECS/libvips-${LIBVIPS_VERSION}.spec

FROM updated AS build

RUN rpmbuild -ba rpmbuild/SPECS/libvips-${LIBVIPS_VERSION}.spec

CMD ["/bin/bash"]
