/ linux-fresh-arm64 / Dockerfile
Dockerfile
1 FROM ubuntu:22.04 2 LABEL maintainer="yuzu" 3 4 ENV CMAKE_VER=3.22.6 5 ENV DEBIAN_FRONTEND=noninteractive 6 ENV GCC_VER=11.2.0 7 ENV QT_PKG_VER=515 8 ENV QT_VER=5.15.3 9 ENV UBUNTU_VER=jammy 10 11 # Create a user account yuzu (UID 1027) that the container will run as 12 RUN useradd -m -u 1027 -s /bin/bash yuzu && \ 13 apt-get update && apt-get -y full-upgrade && \ 14 apt-get install --no-install-recommends -y \ 15 appstream \ 16 autoconf \ 17 automake \ 18 build-essential \ 19 ccache \ 20 desktop-file-utils \ 21 file \ 22 gpg-agent \ 23 libfile-mimeinfo-perl \ 24 libglu1-mesa-dev \ 25 libpulse-dev \ 26 libssl-dev \ 27 libtool \ 28 libudev-dev \ 29 libva-dev \ 30 libwayland-dev \ 31 libzip-dev \ 32 mesa-common-dev \ 33 nasm \ 34 ninja-build \ 35 patchelf \ 36 pkg-config \ 37 software-properties-common \ 38 unzip \ 39 wget \ 40 zlib1g-dev \ 41 zsync \ 42 # vcpkg requirements 43 curl \ 44 zip \ 45 && \ 46 apt-get update -y && \ 47 apt-get install --no-install-recommends -y \ 48 cmake \ 49 git \ 50 glslang-dev \ 51 glslang-tools \ 52 libhidapi-dev \ 53 qtbase5-dev \ 54 qtbase5-private-dev \ 55 qttools5-dev \ 56 qtwayland5 \ 57 qtmultimedia5-dev \ 58 qtwebengine5-dev && \ 59 dpkg-reconfigure ccache && \ 60 apt-get clean autoclean && \ 61 apt-get autoremove --yes && \ 62 rm -rf /var/lib/apt /var/lib/dpkg /var/lib/cache /var/lib/log 63 64 # Tell CMake to use vcpkg when looking for packages 65 ENV VCPKG_TOOLCHAIN_FILE=/home/yuzu/vcpkg/scripts/buildsystems/vcpkg.cmake 66 ENV VCPKG_FORCE_SYSTEM_BINARIES=1 67 68 USER 1027 69 # Install vcpkg and required dependencies for yuzu 70 RUN cd /home/yuzu &&\ 71 git clone --branch 2022.08.15 --depth 1 https://github.com/Microsoft/vcpkg.git &&\ 72 cd vcpkg &&\ 73 ./bootstrap-vcpkg.sh &&\ 74 ./vcpkg install \ 75 boost-algorithm \ 76 boost-asio \ 77 boost-bind \ 78 boost-config \ 79 boost-container \ 80 boost-context \ 81 boost-crc \ 82 boost-functional \ 83 boost-icl \ 84 boost-intrusive \ 85 boost-mpl \ 86 boost-process \ 87 boost-range \ 88 boost-spirit \ 89 boost-test \ 90 boost-timer \ 91 boost-variant \ 92 fmt \ 93 lz4 \ 94 nlohmann-json \ 95 zlib \ 96 zstd