Skip to content

Instantly share code, notes, and snippets.

@jrepp
Created July 15, 2022 16:10
Show Gist options
  • Save jrepp/6a3bd2522948730c888cf8ddf4fdfe8b to your computer and use it in GitHub Desktop.
Save jrepp/6a3bd2522948730c888cf8ddf4fdfe8b to your computer and use it in GitHub Desktop.
Docker container with Debian bullseye, clang-14 and latest GNU C++ libraries
FROM debian:bullseye-slim AS builder
LABEL MAINTAINER jacobrepp@gmail.com
WORKDIR /etc/apt
COPY sources.list sources.list
RUN chmod 0644 sources.list
# Need snapshot signing key
RUN curl https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
# Core debian dependencies
RUN set -eux; \
apt-get update; \
apt-get install -y --no-install-recommends \
ca-certificates \
git curl make python3 \
cmake gnupg \
ninja-build dfu-util less ripgrep \
apt-utils vim \
g++-12
# Add llvm to sources.list--this must be done
# after installing ca-certificatees
#
# Clang tools
#
RUN apt-get install -y --no-install-recommends clang-14
# Export the default compilers
ENV CXX=clang++-14
ENV CC=clang-14
# Install the LLVM cert
COPY ./llvm.crt .
RUN chmod 644 llvm.crt
RUN update-ca-certificates
WORKDIR /project
CMD /bin/bash
-----BEGIN CERTIFICATE-----
MIIGETCCBPmgAwIBAgIMbzE9NHtvAS1nE+2MMA0GCSqGSIb3DQEBCwUAMFAxCzAJ
BgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMSYwJAYDVQQDEx1H
bG9iYWxTaWduIFJTQSBPViBTU0wgQ0EgMjAxODAeFw0yMTAyMjIxNzI4NTlaFw0y
MjAzMjYxNzI4NTlaMGwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
MRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMRUwEwYDVQQKEwxGYXN0bHksIEluYy4x
GTAXBgNVBAMTEGMuc25pLmZhc3RseS5uZXQwggEiMA0GCSqGSIb3DQEBAQUAA4IB
DwAwggEKAoIBAQCwbi1pdBPdigQP5jWO1l9PckXMHcqet8jNmnkRMnZicv+nsQJ8
OeeRnzcn0g+GaCZpXoNZxHsDAlkYjnukndDluDsLXxAoXtdwUqAGTawi3Buxp4i0
gzFd3oOzLyX3eA8lZQ07t4nCJ4SUPTsjUinmR8MVCMPKOEvcjBjO8QnaGYEQI8ht
7jGU7r8uZGPKRDtCPSsvhlTvzzc6fB8eFl+B9+kbzJJUZLocFgIMbQ8wx+ghx3Vk
Yt7u51pTa+VuAHAXUXx+rKbyEOIFTX9A9mkZ5s5ZOyslvD3LBioUjWpPhjrAUefH
TBXyctQsK994y59ukz9AqCQeMNBdgOkS05CbAgMBAAGjggLNMIICyTAOBgNVHQ8B
Af8EBAMCBaAwgY4GCCsGAQUFBwEBBIGBMH8wRAYIKwYBBQUHMAKGOGh0dHA6Ly9z
ZWN1cmUuZ2xvYmFsc2lnbi5jb20vY2FjZXJ0L2dzcnNhb3Zzc2xjYTIwMTguY3J0
MDcGCCsGAQUFBzABhitodHRwOi8vb2NzcC5nbG9iYWxzaWduLmNvbS9nc3JzYW92
c3NsY2EyMDE4MFYGA1UdIARPME0wQQYJKwYBBAGgMgEUMDQwMgYIKwYBBQUHAgEW
Jmh0dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3JlcG9zaXRvcnkvMAgGBmeBDAEC
AjAJBgNVHRMEAjAAMD8GA1UdHwQ4MDYwNKAyoDCGLmh0dHA6Ly9jcmwuZ2xvYmFs
c2lnbi5jb20vZ3Nyc2FvdnNzbGNhMjAxOC5jcmwwGwYDVR0RBBQwEoIQYy5zbmku
ZmFzdGx5Lm5ldDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwHwYDVR0j
BBgwFoAU+O9/8s14Z6jeb48kjYjxhwMCs+swHQYDVR0OBBYEFAaoD9vBk2AblHRX
Bqhad8Wcei2PMIIBBAYKKwYBBAHWeQIEAgSB9QSB8gDwAHYAKXm+8J45OSHwVnOf
Y6V35b5XfZxgCvj5TV0mXCVdx4QAAAF3ysmGdgAABAMARzBFAiArLD0jscAIFDek
vlzSMaq6Wc2HxezPRoCNGg6lFw7mUAIhAIogX3uiy+H6Jn5/Xv80gcloZenG/WXg
N4Hg4P54vsttAHYAVYHUwhaQNgFK6gubVzxT8MDkOHhwJQgXL6OqHQcT0wwAAAF3
ysmGWwAABAMARzBFAiEAw2XI8uN/Rke+RXvZ83AcJCV9K8SWCzXTKrmADwr84bcC
IGnkKk9IytmQnp4puF98Xnp9CBtQB7l5aj735oqb9iJHMA0GCSqGSIb3DQEBCwUA
A4IBAQBhwpgPnIFtXzNy5kZ16vuLmvpFn7YdOAu/1UZ423E1YpOcpDR8c8MSdi/L
ErG7cDeSBf/YP3ykk6owIMVyY4dPLLFOwJwGXcUn/NXwmpDReL0yVvnzEXKsyK4H
62SY7cCbuTMRS9oYOYWRWgVDeQdkpRZhkOWzDMyTSCFC7vJANRUN3rpowyvZ9eaE
Xj+9XUSqPxiI7Jt3e98XfXnt3lF0fwar1HcYPI8w7u4yYk7hLl7/ZaZQBxO+Zu1j
fmGJ3ZCzjMyWgkbKWvuXrE0cs7R3iwtYtHYOLZApjU21yWlj8ft74Ixy02+7MZi5
x2bUME6qSRq9HJnAQEvRLrvQAgAL
-----END CERTIFICATE-----
deb http://deb.debian.org/debian bullseye main
deb http://security.debian.org/debian-security bullseye-security main contrib non-free
deb http://deb.debian.org/debian bullseye-updates main
deb http://deb.debian.org/debian unstable main contrib non-free
# Update LLVM to 14
deb http://apt.llvm.org/bullseye/ llvm-toolchain-bullseye-14 main
deb-src http://apt.llvm.org/bullseye/ llvm-toolchain-bullseye-14 main
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment