|
| 1 | +# syntax=docker/dockerfile:1.7 |
| 2 | +FROM ubuntu:24.04 |
| 3 | + |
| 4 | +ENV DEBIAN_FRONTEND=noninteractive \ |
| 5 | + TZ=Etc/UTC \ |
| 6 | + LANG=C.UTF-8 \ |
| 7 | + LC_ALL=C.UTF-8 |
| 8 | + |
| 9 | +RUN apt-get update && apt-get install -y --no-install-recommends \ |
| 10 | + ca-certificates curl git gnupg sudo xz-utils file python3 unzip \ |
| 11 | + build-essential automake cmake meson ninja-build pkg-config libtool \ |
| 12 | + libglib2.0-dev libgtk-3-dev liblzma-dev \ |
| 13 | + libgcrypt20-dev libgirepository1.0-dev \ |
| 14 | + openjdk-8-jre-headless libgit2-dev clang \ |
| 15 | + libncurses5-dev libncursesw5-dev zlib1g-dev llvm debhelper \ |
| 16 | + libclang-dev opencl-headers libssl-dev ocl-icd-opencl-dev \ |
| 17 | + libc6-dev-i386 valac libtss2-dev \ |
| 18 | + && rm -rf /var/lib/apt/lists/* |
| 19 | + |
| 20 | +SHELL ["/bin/bash", "-o", "pipefail", "-c"] |
| 21 | + |
| 22 | +RUN curl -fsSL https://deb.nodesource.com/setup_24.x | bash - \ |
| 23 | + && apt-get install -y --no-install-recommends nodejs \ |
| 24 | + && rm -rf /var/lib/apt/lists/* |
| 25 | + |
| 26 | +ENV RUSTUP_HOME=/usr/local/rustup \ |
| 27 | + CARGO_HOME=/usr/local/cargo \ |
| 28 | + PATH=/usr/local/cargo/bin:$PATH |
| 29 | + |
| 30 | +RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs \ |
| 31 | + | sh -s -- -y --default-toolchain 1.89.0 --profile minimal --no-modify-path \ |
| 32 | + && rustup install 1.85.1 --profile minimal \ |
| 33 | + && rustup target add x86_64-unknown-linux-gnu --toolchain 1.89.0 \ |
| 34 | + && cargo install cargo-ndk \ |
| 35 | + && chmod -R a+rwX "$CARGO_HOME" "$RUSTUP_HOME" |
| 36 | + |
| 37 | +ENV FLUTTER_HOME=/opt/flutter \ |
| 38 | + PATH=/opt/flutter/bin:/opt/flutter/bin/cache/dart-sdk/bin:$PATH |
| 39 | + |
| 40 | +RUN git clone --depth 1 --branch 3.38.1 https://github.com/flutter/flutter.git "$FLUTTER_HOME" \ |
| 41 | + && git config --global --add safe.directory '*' \ |
| 42 | + && flutter config --no-analytics \ |
| 43 | + && flutter precache --linux \ |
| 44 | + && chmod -R a+rwX "$FLUTTER_HOME" |
| 45 | + |
| 46 | +RUN flutter --version && rustc --version && cargo --version && node --version |
0 commit comments