From 05c1c03e884ddbe814d885f82ce99df7e92b74fd Mon Sep 17 00:00:00 2001 From: Oliver Hamlet Date: Sun, 1 Feb 2026 00:03:51 +0000 Subject: [PATCH] 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. --- .devcontainer/Dockerfile | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 7d8b55ce..519e2819 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -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.