| # debian.sh --arch 'amd64' out/ 'bookworm' '@1733097600' |
| RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates curl gnupg netbase sq wget ; rm -rf /var/lib/apt/lists/* # buildkit |
| COPY meta.env /usr/local/etc/vscode-dev-containers/ # buildkit |
| LABEL version=1.0.19 |
| LABEL dev.containers.id=base-debian |
| LABEL dev.containers.variant=bookworm |
| LABEL dev.containers.release=v0.4.10 |
| LABEL dev.containers.source=https://github.com/devcontainers/images |
| LABEL dev.containers.timestamp=Thu, 12 Dec 2024 21:35:05 GMT |
| USER root |
| RUN /bin/sh -c mkdir -p /tmp/dev-container-features # buildkit |
| COPY /tmp/build-features/ /tmp/dev-container-features # buildkit |
| RUN /bin/sh -c echo "_CONTAINER_USER_HOME=$( (command -v getent >/dev/null 2>&1 && getent passwd 'root' || grep -E '^root|^[^:]*:[^:]*:root:' /etc/passwd || true) | cut -d: -f6)" >> /tmp/dev-container-features/devcontainer-features.builtin.env && echo "_REMOTE_USER_HOME=$( (command -v getent >/dev/null 2>&1 && getent passwd 'vscode' || grep -E '^vscode|^[^:]*:[^:]*:vscode:' /etc/passwd || true) | cut -d: -f6)" >> /tmp/dev-container-features/devcontainer-features.builtin.env # buildkit |
| RUN /bin/sh -c cp -ar /tmp/build-features-src/common-utils_0 /tmp/dev-container-features && chmod -R 0755 /tmp/dev-container-features/common-utils_0 && cd /tmp/dev-container-features/common-utils_0 && chmod +x ./devcontainer-features-install.sh && ./devcontainer-features-install.sh && rm -rf /tmp/dev-container-features/common-utils_0 # buildkit |
| RUN /bin/sh -c cp -ar /tmp/build-features-src/git_1 /tmp/dev-container-features && chmod -R 0755 /tmp/dev-container-features/git_1 && cd /tmp/dev-container-features/git_1 && chmod +x ./devcontainer-features-install.sh && ./devcontainer-features-install.sh && rm -rf /tmp/dev-container-features/git_1 # buildkit |
| ARG _DEV_CONTAINERS_IMAGE_USER=root |
| USER root |
| LABEL devcontainer.metadata=[ {"id":"ghcr.io/devcontainers/features/common-utils:2"}, {"id":"ghcr.io/devcontainers/features/git:1"}, {"remoteUser":"vscode"} ] |
| ARG TARGETOS=linux |
| ARG TARGETARCH=amd64 |
| SHELL [/bin/bash -l -o errexit -o pipefail -c] |
| ARG DEBIAN_FRONTEND=noninteractive |
| RUN |3 TARGETOS=linux TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive /bin/bash -l -o errexit -o pipefail -c truncate -s 0 /etc/apt/apt.conf.d/docker-clean # buildkit |
| COPY --chown=root:root --chmod=0644 <<EOF /etc/apt/apt.conf.d/docker-no-recommends # buildkit |
| COPY --chown=root:root --chmod=0644 <<EOF /etc/apt/apt.conf.d/docker-no-suggests # buildkit |
| COPY <<EOF /etc/apt/sources.list.d/git-lfs.sources # buildkit |
| COPY <<EOF /etc/apt/sources.list.d/mise.sources # buildkit |
| COPY <<EOF /etc/apt/sources.list.d/llvm.sources # buildkit |
| RUN |3 TARGETOS=linux TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive /bin/bash -l -o errexit -o pipefail -c apt-get update && apt-get install -y curl # buildkit |
| RUN |3 TARGETOS=linux TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive /bin/bash -l -o errexit -o pipefail -c curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor > /usr/share/keyrings/docker-archive-keyring.gpg # buildkit |
| COPY <<EOF /etc/apt/sources.list.d/docker.list # buildkit |
| RUN |3 TARGETOS=linux TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive /bin/bash -l -o errexit -o pipefail -c apt-get update && apt-get install -y busybox # buildkit |
| RUN |3 TARGETOS=linux TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive /bin/bash -l -o errexit -o pipefail -c busybox --install -s /bin # buildkit |
| RUN |3 TARGETOS=linux TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive /bin/bash -l -o errexit -o pipefail -c # Install base tools
apt-get update
apt-get install -y \
aptitude \
apt-utils \
bash-completion \
bzip2 \
dialog \
file \
jq \
mtools \
p7zip-full \
rsync \
silversearcher-ag \
sudo \
tar \
tree \
vim-nox \
wget \
xz-utils
# buildkit |
| RUN |3 TARGETOS=linux TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive /bin/bash -l -o errexit -o pipefail -c # Install network tools
apt-get update
apt-get install -y \
dnsutils \
net-tools \
socat \
tcpdump \
tshark
# buildkit |
| RUN |3 TARGETOS=linux TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive /bin/bash -l -o errexit -o pipefail -c # Install build tools
apt-get update
apt-get install -y \
autoconf \
automake \
binutils \
ccache \
libtool \
make \
patch \
pkgconf
# buildkit |
| RUN |3 TARGETOS=linux TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive /bin/bash -l -o errexit -o pipefail -c # Install gcc
apt-get update
apt-get install -y \
g++ \
gcc \
gfortran \
libc6-dev
# buildkit |
| RUN |3 TARGETOS=linux TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive /bin/bash -l -o errexit -o pipefail -c # Install clang/llvm
apt-get update
apt-get install -y \
clang-format \
clang-tidy \
clang-tools \
clang \
clangd \
libc++-dev \
libc++abi-dev \
libc++-21-dev-wasm32 \
libc++abi-21-dev-wasm32 \
libomp-dev \
lld \
lldb \
llvm \
llvm-runtime \
python3-clang
# buildkit |
| RUN |3 TARGETOS=linux TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive /bin/bash -l -o errexit -o pipefail -c # Install docker-cli
apt-get update
apt-get install -y \
docker-buildx-plugin \
docker-ce-cli \
docker-compose-plugin
# buildkit |
| RUN |3 TARGETOS=linux TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive /bin/bash -l -o errexit -o pipefail -c # Update git + git-lfs
apt-get update
apt-get install -y \
git \
git-lfs
# buildkit |
| RUN |3 TARGETOS=linux TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive /bin/bash -l -o errexit -o pipefail -c # Install mise
apt-get update
apt-get install -y \
mise
# buildkit |
| RUN |3 TARGETOS=linux TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive /bin/bash -l -o errexit -o pipefail -c update-alternatives --set editor /usr/bin/vim.nox # buildkit |
| COPY <<EOF /etc/vim/vimrc.local # buildkit |
| COPY <<EOF /etc/profile.d/10-mise-shims.sh # buildkit |
| USER vscode |
| COPY --chown=1000:1000 --chmod=0644 <<EOF /home/vscode/.bash_profile # buildkit |
| RUN |3 TARGETOS=linux TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive /bin/bash -l -o errexit -o pipefail -c # Enable mise (interactive)
echo '' >> ~/.bashrc
echo 'eval "$(mise activate bash)"' >> ~/.bashrc
# buildkit |
| RUN |3 TARGETOS=linux TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive /bin/bash -l -o errexit -o pipefail -c mise plugins install tinygo https://github.com/troyjfarrell/asdf-tinygo.git # buildkit |
| ARG CMAKE_VERSION=latest |
| RUN |4 TARGETOS=linux TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive CMAKE_VERSION=latest /bin/bash -l -o errexit -o pipefail -c mise use -g cmake@${CMAKE_VERSION} # buildkit |
| ARG NINJA_VERSION=latest |
| RUN |5 TARGETOS=linux TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive CMAKE_VERSION=latest NINJA_VERSION=latest /bin/bash -l -o errexit -o pipefail -c mise use -g ninja@${NINJA_VERSION} # buildkit |
| ENV CARGO_HOME=/home/vscode/.cache/cargo |
| ENV RUSTUP_HOME=/home/vscode/.cache/rustup |
| ENV CCACHE_DIR=/home/vscode/.cache/ccache |
| ARG RUST_VERSION=latest |
| RUN |6 TARGETOS=linux TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive CMAKE_VERSION=latest NINJA_VERSION=latest RUST_VERSION=latest /bin/bash -l -o errexit -o pipefail -c mise use -g rust@${RUST_VERSION} # buildkit |
| RUN |6 TARGETOS=linux TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive CMAKE_VERSION=latest NINJA_VERSION=latest RUST_VERSION=latest /bin/bash -l -o errexit -o pipefail -c rustup toolchain install stable # buildkit |
| RUN |6 TARGETOS=linux TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive CMAKE_VERSION=latest NINJA_VERSION=latest RUST_VERSION=latest /bin/bash -l -o errexit -o pipefail -c rustup toolchain install nightly # buildkit |
| RUN |6 TARGETOS=linux TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive CMAKE_VERSION=latest NINJA_VERSION=latest RUST_VERSION=latest /bin/bash -l -o errexit -o pipefail -c rustup target add wasm32-wasip2 # buildkit |
| ARG GO_VERSION=latest |
| RUN |7 TARGETOS=linux TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive CMAKE_VERSION=latest NINJA_VERSION=latest RUST_VERSION=latest GO_VERSION=latest /bin/bash -l -o errexit -o pipefail -c mise use -g go@${GO_VERSION} # buildkit |
| ARG TINYGO_VERSION=latest |
| RUN |8 TARGETOS=linux TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive CMAKE_VERSION=latest NINJA_VERSION=latest RUST_VERSION=latest GO_VERSION=latest TINYGO_VERSION=latest /bin/bash -l -o errexit -o pipefail -c mise use -g tinygo@${TINYGO_VERSION} # buildkit |
| ARG BUN_VERSION=latest |
| RUN |9 TARGETOS=linux TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive CMAKE_VERSION=latest NINJA_VERSION=latest RUST_VERSION=latest GO_VERSION=latest TINYGO_VERSION=latest BUN_VERSION=latest /bin/bash -l -o errexit -o pipefail -c mise use -g bun@${BUN_VERSION} # buildkit |
| ARG UV_VERSION=latest |
| RUN |10 TARGETOS=linux TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive CMAKE_VERSION=latest NINJA_VERSION=latest RUST_VERSION=latest GO_VERSION=latest TINYGO_VERSION=latest BUN_VERSION=latest UV_VERSION=latest /bin/bash -l -o errexit -o pipefail -c mise use -g uv@${UV_VERSION} # buildkit |
| RUN |10 TARGETOS=linux TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive CMAKE_VERSION=latest NINJA_VERSION=latest RUST_VERSION=latest GO_VERSION=latest TINYGO_VERSION=latest BUN_VERSION=latest UV_VERSION=latest /bin/bash -l -o errexit -o pipefail -c SHELL=bash uv tool update-shell # buildkit |
| RUN |10 TARGETOS=linux TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive CMAKE_VERSION=latest NINJA_VERSION=latest RUST_VERSION=latest GO_VERSION=latest TINYGO_VERSION=latest BUN_VERSION=latest UV_VERSION=latest /bin/bash -l -o errexit -o pipefail -c uv tool install httpie # buildkit |
| RUN |10 TARGETOS=linux TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive CMAKE_VERSION=latest NINJA_VERSION=latest RUST_VERSION=latest GO_VERSION=latest TINYGO_VERSION=latest BUN_VERSION=latest UV_VERSION=latest /bin/bash -l -o errexit -o pipefail -c uv tool install ruff # buildkit |
| COPY --chown=root:root build/ /usr/local/bin/ # buildkit |
| COPY --chown=root:root build/ /usr/local/bin/ # buildkit |
| COPY --chown=root:root build/ /usr/local/bin/ # buildkit |
| COPY --chown=root:root build/ /usr/local/bin/ # buildkit |
| COPY --chown=root:root build/ /usr/local/bin/ # buildkit |
| COPY --chown=root:root build/ /usr/local/bin/ # buildkit |
| COPY --chown=root:root build/ /usr/local/bin/ # buildkit |
| COPY --chown=root:root build/ /usr/local/bin/ # buildkit |
| COPY --chown=root:root build/ /usr/local/bin/ # buildkit |
| COPY --chown=root:root build/ /usr/local/bin/ # buildkit |
| COPY --chown=root:root build/ /usr/local/bin/ # buildkit |
| COPY --chown=root:root build/ /usr/local/bin/ # buildkit |
| COPY --chown=root:root build/ / # buildkit |
| COPY --chown=root:root build/ / # buildkit |
| RUN |10 TARGETOS=linux TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive CMAKE_VERSION=latest NINJA_VERSION=latest RUST_VERSION=latest GO_VERSION=latest TINYGO_VERSION=latest BUN_VERSION=latest UV_VERSION=latest /bin/bash -l -o errexit -o pipefail -c # Install go protobuf support
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
# buildkit |