45 lines
1.8 KiB
Docker
45 lines
1.8 KiB
Docker
FROM mcr.microsoft.com/devcontainers/rust:1-1-bullseye
|
|
|
|
# Include lld linker to improve build times either by using environment variable
|
|
# RUSTFLAGS="-C link-arg=-fuse-ld=lld" or with Cargo's configuration file (i.e see .cargo/config.toml).
|
|
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
|
|
&& apt-get -y install clang lld \
|
|
&& apt-get autoremove -y && apt-get clean -y
|
|
|
|
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
|
|
&& apt-get -y install --no-install-recommends \
|
|
linux-perf \
|
|
valgrind \
|
|
&& apt-get clean -y && rm -rf /var/lib/apt/lists/*
|
|
|
|
RUN cp /usr/bin/perf_5.10 /usr/bin/perf
|
|
|
|
RUN cd /tmp && \
|
|
wget -qO- https://sourceware.org/pub/valgrind/valgrind-3.24.0.tar.bz2 | tar xj && \
|
|
cd valgrind-3.24.0 && \
|
|
./configure && \
|
|
make -j && \
|
|
make install && \
|
|
cd .. && \
|
|
rm -rf valgrind-3.24.0
|
|
|
|
# Add llvm 19 apt sources
|
|
RUN echo "deb http://apt.llvm.org/bullseye/ llvm-toolchain-bullseye-19 main" >> /etc/apt/sources.list.d/llvm.list && \
|
|
echo "deb-src http://apt.llvm.org/bullseye/ llvm-toolchain-bullseye-19 main" >> /etc/apt/sources.list.d/llvm.list && \
|
|
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - && \
|
|
apt-get update && \
|
|
apt-get install -y --no-install-recommends clang-19 lld-19
|
|
|
|
|
|
# Install & configure delta diff tool
|
|
RUN wget -O- https://github.com/dandavison/delta/releases/download/0.18.2/git-delta_0.18.2_amd64.deb > /tmp/git-delta.deb && \
|
|
sudo dpkg -i /tmp/git-delta.deb && \
|
|
rm /tmp/git-delta.deb
|
|
|
|
RUN git config --system core.pager "delta" && \
|
|
git config --system interactive.diffFilter "delta --color-only" && \
|
|
git config --system delta.navigate true && \
|
|
git config --system delta.dark true && \
|
|
git config --system delta.side-by-side true && \
|
|
git config --system merge.conflictstyle "zdiff3"
|