@@ -3,19 +3,16 @@ FROM ubuntu:24.04
33# Install APT packages
44RUN apt-get -q update \
55 && apt-get -qy install \
6- # Documentation tools: Doxygen, Graphviz, qhelpgenerator, rustdoc
6+ # Documentation tools: Doxygen, Graphviz, qhelpgenerator
77 doxygen \
88 graphviz \
99 qt6-documentation-tools \
10- rustc \
11- # Formatting tools: clang-format, qmlformat, rustfmt, xmlsort
10+ # Formatting tools: clang-format, qmlformat, xmlsort
1211 clang-format-15 \
1312 libxml-filter-sort-perl \
14- rustfmt \
1513 qt6-declarative-dev-tools \
16- # Stylecheck tools: git, rust-clippy
14+ # Stylecheck tools: git
1715 git \
18- rust-clippy \
1916 # Python for custom formatting scripts, flake8 etc.
2017 python3 \
2118 python3-debian \
@@ -33,6 +30,17 @@ RUN update-alternatives --install /usr/bin/clang-format clang-format /usr/bin/cl
3330# Put qhelpgenerator in PATH
3431RUN ln -s /usr/lib/qt6/libexec/qhelpgenerator /usr/local/bin/qhelpgenerator
3532
33+ # Install Rust, including rustdoc, rustfmt, rust-clippy
34+ # Make .cargo/ writable for everyone to allow running the container as non-root.
35+ ARG RUST_VERSION="1.85.0"
36+ ENV RUSTUP_HOME="/.rustup" \
37+ CARGO_HOME="/.cargo" \
38+ PATH="/.cargo/bin:$PATH"
39+ RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs \
40+ | sh -s -- -y --default-toolchain $RUST_VERSION --no-modify-path \
41+ && chmod 777 $RUSTUP_HOME \
42+ && chmod 777 $CARGO_HOME
43+
3644# Install Python packages
3745ENV PIP_BREAK_SYSTEM_PACKAGES=1
3846RUN pip3 install \
0 commit comments