Skip to content

Instantly share code, notes, and snippets.

@bjconlan
Last active March 9, 2024 21:44
Show Gist options
  • Save bjconlan/c1db1ce7129610b9711db4bfebe1e60a to your computer and use it in GitHub Desktop.
Save bjconlan/c1db1ce7129610b9711db4bfebe1e60a to your computer and use it in GitHub Desktop.
zig devcontainer
{
"name": "Zig",
"dockerFile": "Dockerfile",
"settings": {},
"runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined", "--volume=${localWorkspaceFolder}:/workspaces/${localWorkspaceFolderBasename}:Z" ],
"workspaceMount": "",
"remoteUser": "vscode",
"features": {
"git": "os-provided"
},
"postStartCommand": "mkdir -p build && cd build && cmake .. -DCMAKE_PREFIX_PATH=/usr/lib/llvm-15 && make",
"extensions": [
"ms-vscode.cmake-tools",
"llvm-vs-code-extensions.vscode-clangd"
]
}
FROM mcr.microsoft.com/vscode/devcontainers/base:0-bullseye
RUN echo "deb http://apt.llvm.org/bullseye/ llvm-toolchain-bullseye-15 main" >> /etc/apt/sources.list\
&& curl -sL https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -\
&& apt-get update\
&& apt-get -y install --no-install-recommends\
llvm-15-dev\
libclang-15-dev\
clang-15\
liblld-15-dev\
zlib1g-dev \
cmake\
make\
gdb\
strace\
valgrind
@bjconlan
Copy link
Author

bjconlan commented Nov 3, 2023

A more generic 'non devcontainer' dockerfile for llvm-${VERSION} builds of zig:

FROM docker.io/debian:bookworm-slim
ARG LLVM_VERSION=17
RUN apt update\
 && apt -y install --no-install-recommends\
    gnupg\
    ca-certificates\
    curl
RUN . /etc/os-release\
 && echo "deb http://apt.llvm.org/${VERSION_CODENAME}/ llvm-toolchain-${VERSION_CODENAME}-${LLVM_VERSION} main" >> /etc/apt/sources.list\
 && curl -sL https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -\
 && apt update\
 && apt -y install --no-install-recommends\
    llvm-${LLVM_VERSION}-dev\
    libclang-${LLVM_VERSION}-dev\
    clang-${LLVM_VERSION}\
    liblld-${LLVM_VERSION}-dev\
    zlib1g-dev \
    cmake\
    make

# podman build . -t llvm && podman run --rm -it -v .:/tmp/zig:Z,rw llvm bash
# cd /tmp/zig; mkdir -p build && cd build && cmake .. -DCMAKE_PREFIX_PATH=/usr/lib/llvm-17 && make

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment