Add more tools to the dev container Dockerfile

- cargo-llvm-cov
- cargo-vet
- doxygen
- nodejs
- npm
- uv

With them, everything can now be built and run.
This commit is contained in:
Oliver Hamlet
2026-02-03 08:53:42 +00:00
parent 388b7fdf7d
commit 05c1c03e88
+21 -1
View File
@@ -1,6 +1,7 @@
FROM mcr.microsoft.com/devcontainers/rust:2-1-trixie
RUN rustup target add x86_64-pc-windows-gnu
RUN rustup target add x86_64-pc-windows-gnu \
&& rustup component add llvm-tools-preview
# Wine 10.19+ is needed to fix symlink behaviour.
# Without this some tests fail.
@@ -12,10 +13,29 @@ RUN mkdir -pm755 /etc/apt/keyrings \
RUN apt-get update && apt-get install -y --no-install-recommends \
cmake \
doxygen \
g++-mingw-w64-x86-64 \
nodejs \
npm \
winehq-stable \
&& rm -rf /var/lib/apt/lists/*
USER vscode
WORKDIR /home/vscode
RUN cargo install cargo-vet --version 0.10.2
RUN curl --proto '=https' --tlsv1.2 -sSfLO https://github.com/taiki-e/cargo-llvm-cov/releases/download/v0.8.2/cargo-llvm-cov-x86_64-unknown-linux-gnu.tar.gz \
&& echo "6bd0fba0e70f8399fb4f279e4e00992860edaa9ff7e460cb9b5f924e6018c7eb cargo-llvm-cov-x86_64-unknown-linux-gnu.tar.gz" | sha256sum -c \
&& tar xzf cargo-llvm-cov-x86_64-unknown-linux-gnu.tar.gz -C "/usr/local/cargo/bin" \
&& rm cargo-llvm-cov-x86_64-unknown-linux-gnu.tar.gz
RUN curl --proto '=https' --tlsv1.2 -sSfLO https://github.com/astral-sh/uv/releases/download/0.9.28/uv-x86_64-unknown-linux-gnu.tar.gz \
&& echo "66ad1822dd9cf96694b95c24f25bc05cff417a65351464da01682a91796d1f2b uv-x86_64-unknown-linux-gnu.tar.gz" | sha256sum -c \
&& mkdir -p /home/vscode/.local/bin \
&& tar -xzf uv-x86_64-unknown-linux-gnu.tar.gz -C /home/vscode/.local/bin --strip-components=1 \
&& rm uv-x86_64-unknown-linux-gnu.tar.gz
# Run the Windows tests through Wine.
# Include the MinGW DLLs in Wine's search path so that running the C++ tests works.
# Set the locale to a UTF-8 locale so that the Unicode filename tests pass.