mirror of
https://github.com/lifting-bits/sleigh
synced 2026-06-21 13:56:12 +00:00
eb980ff91d
Provides a sandboxed Ubuntu 24.04 environment with LLVM 21 (clang, clangd, lld, lldb, libc++), cmake, ninja, and ccache for building and debugging the decompiler with up-to-date tooling. While there are only minimal VSCode extensions installed by default, I automatically install Claude Code and my own dotfiles plus additional tools
38 lines
1.7 KiB
Docker
38 lines
1.7 KiB
Docker
FROM mcr.microsoft.com/devcontainers/base:ubuntu-24.04
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
ENV LLVM_VERSION=21
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
ca-certificates \
|
|
gnupg \
|
|
wget \
|
|
software-properties-common \
|
|
&& wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | gpg --dearmor -o /usr/share/keyrings/llvm-archive-keyring.gpg \
|
|
&& echo "deb [signed-by=/usr/share/keyrings/llvm-archive-keyring.gpg] http://apt.llvm.org/noble/ llvm-toolchain-noble-${LLVM_VERSION} main" \
|
|
> /etc/apt/sources.list.d/llvm.list \
|
|
&& apt-get update && apt-get install -y \
|
|
clang-${LLVM_VERSION} \
|
|
clangd-${LLVM_VERSION} \
|
|
lld-${LLVM_VERSION} \
|
|
llvm-${LLVM_VERSION}-dev \
|
|
libclang-${LLVM_VERSION}-dev \
|
|
libc++-${LLVM_VERSION}-dev \
|
|
libc++abi-${LLVM_VERSION}-dev \
|
|
lldb-${LLVM_VERSION} \
|
|
cmake \
|
|
ninja-build \
|
|
git \
|
|
zlib1g-dev \
|
|
ccache \
|
|
doxygen \
|
|
graphviz \
|
|
&& update-alternatives --install /usr/bin/cc cc /usr/bin/clang-${LLVM_VERSION} 100 \
|
|
&& update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-${LLVM_VERSION} 100 \
|
|
&& update-alternatives --install /usr/bin/clang clang /usr/bin/clang-${LLVM_VERSION} 100 \
|
|
&& update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-${LLVM_VERSION} 100 \
|
|
&& update-alternatives --install /usr/bin/lld lld /usr/bin/lld-${LLVM_VERSION} 100 \
|
|
&& update-alternatives --install /usr/bin/lldb lldb /usr/bin/lldb-${LLVM_VERSION} 100 \
|
|
&& update-alternatives --install /usr/bin/clangd clangd /usr/bin/clangd-${LLVM_VERSION} 100 \
|
|
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|