2022-07-28 18:47:12 +02:00
|
|
|
FROM ubuntu:22.04 AS blender
|
2021-11-18 11:57:45 +01:00
|
|
|
|
2021-11-18 16:00:23 +01:00
|
|
|
# Setup all software version request
|
2024-05-09 00:21:22 +02:00
|
|
|
ARG b3d_vs_major=3.6
|
|
|
|
|
ARG b3d_vs_minor=10
|
|
|
|
|
ARG version=v${b3d_vs_major}.${b3d_vs_minor}
|
2021-11-18 11:57:45 +01:00
|
|
|
|
|
|
|
|
LABEL Author="stilobique"
|
2021-11-18 16:00:23 +01:00
|
|
|
LABEL Title="Blender Docker for Unit Test"
|
2021-11-18 11:57:45 +01:00
|
|
|
|
2024-05-09 00:21:22 +02:00
|
|
|
#ENV TZ=Europe/Paris
|
|
|
|
|
#RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
2021-11-29 15:26:47 +01:00
|
|
|
|
2021-11-18 16:00:23 +01:00
|
|
|
# Install dependencies
|
2024-05-09 00:21:22 +02:00
|
|
|
RUN apt-get update && apt-get install -y build-essential \
|
2022-07-28 13:32:09 +02:00
|
|
|
git \
|
2024-05-09 00:21:22 +02:00
|
|
|
git-lfs \
|
2022-07-28 13:32:09 +02:00
|
|
|
cmake \
|
2024-05-09 00:21:22 +02:00
|
|
|
python3 \
|
|
|
|
|
python3-dev \
|
|
|
|
|
cython3 \
|
|
|
|
|
sudo
|
|
|
|
|
|
|
|
|
|
RUN apt-get install -y libx11-dev \
|
2021-11-29 15:26:47 +01:00
|
|
|
libxxf86vm-dev \
|
2024-05-09 00:21:22 +02:00
|
|
|
libxcursor-dev \
|
2021-11-29 15:26:47 +01:00
|
|
|
libxi-dev \
|
2024-05-09 00:21:22 +02:00
|
|
|
libxrandr-dev \
|
|
|
|
|
libxinerama-dev \
|
|
|
|
|
libxkbcommon-dev \
|
|
|
|
|
libwayland-dev \
|
|
|
|
|
libdecor-0-dev \
|
|
|
|
|
wayland-protocols \
|
|
|
|
|
libdbus-1-dev \
|
|
|
|
|
libgl-dev \
|
|
|
|
|
libegl-dev
|
|
|
|
|
|
|
|
|
|
RUN apt-get install -y libjpeg-dev \
|
|
|
|
|
libpng-dev \
|
|
|
|
|
libfreetype-dev \
|
|
|
|
|
libfontconfig-dev \
|
|
|
|
|
libzstd-dev \
|
|
|
|
|
libbz2-dev \
|
|
|
|
|
liblzma-dev \
|
|
|
|
|
libsdl2-dev \
|
|
|
|
|
libepoxy-dev \
|
|
|
|
|
libxml2-dev \
|
|
|
|
|
libhpdf-dev \
|
|
|
|
|
libpystring-dev
|
2021-11-29 15:26:47 +01:00
|
|
|
|
2024-05-09 00:21:22 +02:00
|
|
|
RUN apt-get install -y libopenjp2-7-dev \
|
|
|
|
|
libtiff-dev \
|
|
|
|
|
libjack-jackd2-dev \
|
|
|
|
|
libpulse-dev \
|
|
|
|
|
libopenal-dev \
|
|
|
|
|
libsndfile1-dev \
|
|
|
|
|
libjemalloc-dev \
|
|
|
|
|
libvulkan-dev \
|
|
|
|
|
libgmp-dev \
|
|
|
|
|
libpugixml-dev \
|
|
|
|
|
libfftw3-dev \
|
|
|
|
|
libpotrace-dev \
|
|
|
|
|
libyaml-cpp-dev \
|
|
|
|
|
libdeflate-dev
|
2022-12-24 17:42:39 +01:00
|
|
|
|
2024-05-09 00:21:22 +02:00
|
|
|
# ADD . /opt/blender-git
|
|
|
|
|
RUN git clone --depth 1 --branch ${version} https://projects.blender.org/blender/blender.git /opt/blender-git
|
|
|
|
|
|
|
|
|
|
# Use the local repo has current directory
|
2024-05-09 16:04:14 +02:00
|
|
|
#WORKDIR /opt/blender-git
|
2022-12-24 17:42:39 +01:00
|
|
|
|
2021-11-29 15:26:47 +01:00
|
|
|
# Compile Blender
|
2024-05-09 16:04:14 +02:00
|
|
|
RUN cd /opt/blender-git && \
|
|
|
|
|
sudo ./build_files/utils/make_update.py --use-linux-libraries
|
|
|
|
|
RUN cd /opt/blender-git && \
|
|
|
|
|
make
|
2024-05-09 00:21:22 +02:00
|
|
|
|
|
|
|
|
## Setup a Multistage optimisation
|
2022-07-28 18:47:12 +02:00
|
|
|
FROM ubuntu:22.04
|
2024-05-09 16:04:14 +02:00
|
|
|
COPY --from=blender /opt/build_linux/bin /opt/blender
|
2021-12-01 13:42:30 +01:00
|
|
|
ARG b3d_vs_major
|
|
|
|
|
ENV B3D_ADDON_PATH "$HOME/.config/blender/${b3d_vs_major}/scripts/addons"
|
|
|
|
|
|
2024-05-09 16:04:14 +02:00
|
|
|
RUN apt-get update && apt-get install -y \
|
|
|
|
|
libxi6 \
|
|
|
|
|
libxxf86vm1 \
|
|
|
|
|
libxfixes3 \
|
|
|
|
|
libxkbcommon-x11-0 \
|
|
|
|
|
libjack0 \
|
|
|
|
|
pulseaudio \
|
|
|
|
|
libgl1-mesa-glx
|
2024-05-09 00:21:22 +02:00
|
|
|
# libxrender1 \
|
2021-11-25 12:02:48 +01:00
|
|
|
|
2021-11-18 16:00:23 +01:00
|
|
|
# Working Directory setup
|
2024-05-09 16:04:14 +02:00
|
|
|
WORKDIR /opt/blender
|