# Use docker build --build-arg AUDIOWAVEFORM_VERSION=<git-revision>
#  --build-arg AUDIOWAVEFORM_PACKAGE_VERSION=<version>
#  --build-arg AMAZON_RELEASE=<release>
#  --build-arg ARCH=<x86_64|aarch64>

ARG AMAZON_RELEASE
FROM amazonlinux:${AMAZON_RELEASE}

ARG AUDIOWAVEFORM_VERSION
ARG AUDIOWAVEFORM_PACKAGE_VERSION
ARG AMAZON_RELEASE
ARG ARCH

# Use the epel repository (to provide the libmad package)
RUN amazon-linux-extras install epel && \
    yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm && \
    yum install -y redhat-lsb-core

# Install audiowaveform build dependencies
RUN INSTALL_PKGS="rpm-build wget make cmake3 gcc-c++ libmad-devel libid3tag-devel libsndfile-devel gd-devel boost-devel" && \
    yum install -y --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 && \
    cpack3 -G RPM

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

RUN mv audiowaveform-${AUDIOWAVEFORM_PACKAGE_VERSION}-1.${ARCH}.rpm audiowaveform-${AUDIOWAVEFORM_PACKAGE_VERSION}-1.amzn${AMAZON_RELEASE}.${ARCH}.rpm
