# builder image to build the audiowaveform RPM
FROM almalinux:9

# Use docker build --build-arg AUDIOWAVEFORM_VERSION=<git-revision> AUDIOWAVEFORM_PACKAGE_VERSION=<version>
ARG AUDIOWAVEFORM_VERSION
ARG AUDIOWAVEFORM_PACKAGE_VERSION
ARG ARCH

# Use the epel repository (to provide the libmad package)

RUN INSTALL_PKGS="epel-release" && \
    yum install -y --setopt=tsflags=nodocs  $INSTALL_PKGS && rpm -V $INSTALL_PKGS && \
    yum clean all -y

# Install audiowaveform build dependencies
RUN INSTALL_PKGS="rpm-build python3-distro wget git make cmake gcc-c++ libid3tag-devel libsndfile-devel gd-devel boost-devel libmad-devel" && \
    yum install -y --enablerepo=crb --setopt=tsflags=nodocs  $INSTALL_PKGS && rpm -V $INSTALL_PKGS && \
    yum clean all -y

RUN yum update -y

# Retrieve and build source (see https://github.com/bbc/audiowaveform#building-from-source)
WORKDIR /root

RUN wget -qO- https://github.com/bbc/audiowaveform/archive/${AUDIOWAVEFORM_VERSION}.tar.gz | tar xfz - && \
    cd audiowaveform-${AUDIOWAVEFORM_VERSION} && \
    mkdir build && \
    cd build && \
    cmake -D CMAKE_BUILD_TYPE=Release -D ENABLE_TESTS=0 .. && \
    make && \
    cpack -G RPM

WORKDIR /root/audiowaveform-${AUDIOWAVEFORM_VERSION}/build

RUN mv audiowaveform-${AUDIOWAVEFORM_PACKAGE_VERSION}-1.x86_64.rpm audiowaveform-${AUDIOWAVEFORM_PACKAGE_VERSION}-1.el9.x86_64.rpm
