ARG BASE_IMAGE=manylinux2014_aarch64
FROM quay.io/pypa/$BASE_IMAGE
ENV MAKEFLAGS="-j 16"

# Set up repoforge
COPY RPM-GPG-KEY.dag.txt /tmp/
RUN rpm --import /tmp/RPM-GPG-KEY.dag.txt

#ENV RPMFORGE_FILE "rpmforge-release-0.5.3-1.rf.src.rpm"
#ADD "https://repoforge.cu.be/redhat/el5/en/source/rpmforge-release-0.5.3-1.rf.src.rpm" /tmp/${RPMFORGE_FILE}

#RUN rpm -i /tmp/${RPMFORGE_FILE}

# Install SDL and portmidi dependencies
RUN yum install -y zlib-devel libX11-devel\
    mesa-libGLU-devel audiofile-devel \
    java-1.7.0-openjdk-devel jpackage-utils \
    giflib-devel dbus-devel \
    dejavu-sans-fonts fontconfig \
    libXcursor-devel libXi-devel libXxf86vm-devel \
    libXrandr-devel libXinerama-devel libXcomposite-devel mesa-libGLU-devel xz
RUN yum install -y libcap-devel libxkbcommon-devel

# wayland libs
RUN yum install -y libffi-devel libxml2-devel libxslt-devel mesa-libEGL-devel mesa-libGLES-devel wayland-devel

# With this we
# 1) Force install prefix to /usr/local
# 2) use lib directory within /usr/local (and not lib64)
# 3) make release binaries
# 4) build shared libraries
ENV PG_BASE_CMAKE_FLAGS="-DCMAKE_INSTALL_PREFIX=/usr/local/ \
  -DCMAKE_INSTALL_LIBDIR:PATH=lib \
  -DCMAKE_BUILD_TYPE=Release \
  -DBUILD_SHARED_LIBS=true"

ADD pkg-config /pkg-config_build/
RUN ["bash", "/pkg-config_build/build-pkg-config.sh"]

ADD cmake /cmake_build/
RUN ["bash", "/cmake_build/build-cmake.sh"]

#ADD zlib-ng /zlib-ng_build/
#RUN ["bash", "/zlib-ng_build/build-zlib-ng.sh"]

ADD libjpegturbo /libjpegturbo_build/
RUN ["bash", "/libjpegturbo_build/build-jpeg-turbo.sh"]

ADD libpng /libpng_build/
RUN ["bash", "/libpng_build/build-png.sh"]

ADD libwebp /webp_build/
RUN ["bash", "/webp_build/build-webp.sh"]

ADD libtiff /libtiff_build/
RUN ["bash", "/libtiff_build/build-tiff.sh"]

ADD brotli /brotli_build/
RUN ["bash", "/brotli_build/build-brotli.sh"]

#ADD bzip2 /bzip2_build/
#RUN ["bash", "/bzip2_build/build-bzip2.sh"]

ADD freetype /freetype_build/
RUN ["bash", "/freetype_build/build-freetype.sh"]

RUN ["rm", "-f", "/lib64/libasound*"]
RUN ["rm", "-f", "/lib/libasound*"]
ADD alsa /alsa_build/
RUN ["bash", "/alsa_build/build-alsa.sh"]

ADD ogg /ogg_build/
RUN ["bash", "/ogg_build/build-ogg.sh"]

ADD mpg123 /mpg123_build/
RUN ["bash", "/mpg123_build/build-mpg123.sh"]

ADD flac /flac_build/
RUN ["bash", "/flac_build/build-flac.sh"]

ADD opus /opus_build/
RUN ["bash", "/opus_build/build-opus.sh"]

ADD sndfile /sndfile_build/
RUN ["bash", "/sndfile_build/build-sndfile.sh"]

ADD pulseaudio /pulseaudio_build/
RUN ["bash", "/pulseaudio_build/build-pulseaudio.sh"]

ADD libmodplug /libmodplug_build/
RUN ["bash", "/libmodplug_build/build-libmodplug.sh"]

ADD libffi /libffi_build/
RUN ["bash", "/libffi_build/build-libffi.sh"]

ADD gettext /gettext_build/
RUN ["bash", "/gettext_build/build-gettext.sh"]

ADD glib /glib_build/
RUN ["bash", "/glib_build/build-glib.sh"]

ADD fluidsynth /fluidsynth_build/
RUN ["bash", "/fluidsynth_build/build-fluidsynth.sh"]

ADD libxml2 /libxml2_build/
RUN ["bash", "/libxml2_build/build-libxml2.sh"]

ADD wayland_libs /wayland_build/
RUN ["bash", "/wayland_build/build-wayland-libs.sh"]

ADD libsamplerate /libsamplerate_build/
RUN ["bash", "/libsamplerate_build/build-samplerate.sh"]

ADD sdl_libs /sdl_build/
RUN ["bash", "/sdl_build/build-sdl2-libs.sh"]


ENV MAKEFLAGS=

ADD portmidi /portmidi_build/
RUN ["bash", "/portmidi_build/build-portmidi.sh"]

# run strip on built libraries
COPY strip-lib-so-files.sh /tmp/
RUN source /tmp/strip-lib-so-files.sh

ENV base_image=$BASE_IMAGE
RUN echo "$base_image"
RUN echo "$BASE_IMAGE"
