Merge pull request #24 from lat9nq/downgrade-fresh

linux-fresh: Downgrade to Bionic Beaver
This commit is contained in:
bunnei 2020-12-29 16:47:19 -08:00 committed by GitHub
commit 912e66c4ea
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,41 +1,70 @@
FROM ubuntu:20.04 FROM ubuntu:18.04
MAINTAINER yuzu MAINTAINER yuzu
ENV CMAKE_VER=3.16.3
ENV GCC_VER=10
ENV QT_PKG_VER=512
ENV QT_VER=5.12.6
ENV UBUNTU_VER=bionic
# Create a user account yuzu (UID 1027) that the container will run as # Create a user account yuzu (UID 1027) that the container will run as
RUN useradd -m -u 1027 -s /bin/bash yuzu && \ RUN useradd -m -u 1027 -s /bin/bash yuzu && \
DEBIAN_FRONTEND=noninteractive apt-get update && apt-get -y full-upgrade && \ DEBIAN_FRONTEND=noninteractive apt-get update && apt-get -y full-upgrade && \
DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \ DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \
build-essential \ build-essential \
gcc-10 \ ccache \
g++-10 \ file \
glslang-tools \ git \
libavcodec-dev \
libavutil-dev \
libswscale-dev \
liblz4-dev \ liblz4-dev \
libopus-dev \ libopus-dev \
libsdl2-dev \
libssl-dev \ libssl-dev \
libzip-dev \ libzip-dev \
libzstd-dev \ libzstd-dev \
zlib1g-dev \ ninja-build \
python \
python3-pip \ python3-pip \
qtbase5-dev \ python3-setuptools \
qtbase5-private-dev \ software-properties-common \
qttools5-dev \ unzip \
qtwebengine5-dev \
libqt5opengl5-dev \
wget \ wget \
git \ zlib1g-dev && \
ccache \
cmake \
ninja-build && \
pip3 install conan pip3 install conan
RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 10 && \ # Install updated versions of FFmpeg, GCC, Qt, and SDL2 from launchpad repositories
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 10 RUN add-apt-repository -y ppa:beineri/opt-qt-${QT_VER}-${UBUNTU_VER} && \
RUN apt-get clean autoclean && \ add-apt-repository -y ppa:cybermax-dexter/sdl2-backport && \
add-apt-repository -y ppa:jonathonf/ffmpeg-4 && \
add-apt-repository -y ppa:ubuntu-toolchain-r/test && \
apt-get update -y && \
DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \
g++-${GCC_VER} \
gcc-${GCC_VER} \
libavcodec-dev \
libavutil-dev \
libsdl2-dev \
libswscale-dev \
qt${QT_PKG_VER}base \
qt${QT_PKG_VER}tools \
qt${QT_PKG_VER}webengine && \
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${GCC_VER} ${GCC_VER} && \
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-${GCC_VER} ${GCC_VER} && \
apt-get clean autoclean && \
apt-get autoremove --yes && \ apt-get autoremove --yes && \
rm -rf /var/lib/apt /var/lib/dpkg /var/lib/cache /var/lib/log rm -rf /var/lib/apt /var/lib/dpkg /var/lib/cache /var/lib/log
# Install glslangValidator from upstream
# glslangValidator is not available from Ubuntu's Bionic repositories.
RUN cd /tmp && \
wget https://github.com/KhronosGroup/glslang/releases/download/master-tot/glslang-master-linux-Release.zip && \
unzip glslang-master-linux-Release.zip -d /usr && \
rm -v glslang-master-linux-Release.zip
# Install CMake from upstream
# yuzu requires CMake version 3.15, however Ubuntu only provides 3.10 to Bionic.
RUN cd /tmp && \
wget https://github.com/Kitware/CMake/releases/download/v${CMAKE_VER}/cmake-${CMAKE_VER}-Linux-x86_64.tar.gz && \
tar xvf cmake-${CMAKE_VER}-Linux-x86_64.tar.gz && \
cp -rv cmake-${CMAKE_VER}-Linux-x86_64/* /usr && \
rm -rf cmake-*
# Setup paths for Qt binaries
ENV LD_LIBRARY_PATH=/opt/qt${QT_PKG_VER}/lib:${LD_LIBRARY_PATH}
ENV PATH=/opt/qt${QT_PKG_VER}/bin:${PATH}
USER 1027 USER 1027
RUN conan install boost/1.73.0@ -s compiler.libcxx=libstdc++11 --build=missing && \ RUN conan install boost/1.73.0@ -s compiler.libcxx=libstdc++11 --build=missing && \
conan install catch2/2.13.0@ -s compiler.libcxx=libstdc++11 --build=missing && \ conan install catch2/2.13.0@ -s compiler.libcxx=libstdc++11 --build=missing && \