FROM ubuntu:24.04

# Install tools
RUN apt-get update && apt-get upgrade -y && apt-get install -y \
	build-essential chrpath cmake git \
	file wget zip \
	libpng-dev libxext-dev libgl-dev libboost-all-dev libmpg123-dev \
	libxi-dev libxrender-dev \
	libasound2-dev libpulse-dev

# Set user
RUN useradd -u 1000 -U -o -d /home -M worker
RUN chown -R worker:worker /home /usr/local
USER worker

# Build sdl2
RUN mkdir /home/sdl2
WORKDIR /home/sdl2
RUN ls -lh /home
RUN wget https://www.libsdl.org/release/SDL2-2.0.22.tar.gz
RUN tar xvf SDL2-2.0.22.tar.gz
RUN mv SDL2-2.0.22 source
RUN rm SDL2-2.0.22.tar.gz
COPY sdl2/* ./
RUN ./make.sh
RUN rm -r source build options make.sh
WORKDIR /home

# Build sdl2-mixer
RUN mkdir /home/sdl2-mixer
WORKDIR /home/sdl2-mixer
RUN wget https://github.com/libsdl-org/SDL_mixer/archive/refs/tags/release-2.6.1.tar.gz
RUN tar xvf release-2.6.1.tar.gz
RUN mv SDL_mixer-release-2.6.1 source
RUN rm release-2.6.1.tar.gz
COPY sdl2-mixer/* ./
RUN ./make.sh
WORKDIR /home
RUN rm -r sdl2-mixer

# Install blender
WORKDIR /home
RUN wget https://download.blender.org/release/Blender3.2/blender-3.2.0-linux-x64.tar.xz
RUN tar xvf blender-3.2.0-linux-x64.tar.xz
RUN mv blender-3.2.0-linux-x64 blender
RUN rm blender-3.2.0-linux-x64.tar.xz
RUN ln -sv /home/blender/blender /usr/local/bin/blender

# Copy system-provided libpng.so
RUN cp `readlink -f /usr/lib/x86_64-linux-gnu/libpng.so` libpng.so
RUN mv libpng.so `objdump -p libpng.so | grep SONAME | awk '{print $2}'`

# Copy system-provided libmpg123.so
RUN cp `readlink -f /usr/lib/x86_64-linux-gnu/libmpg123.so` libmpg123.so
RUN mv libmpg123.so `objdump -p libmpg123.so | grep SONAME | awk '{print $2}'`

# Install toolchain file & main packaging script
COPY toolchain.cmake .
COPY package.sh .
