You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
2.4KB

  1. FROM ubuntu:20.04
  2. MAINTAINER Ray Burgemeestre
  3. ARG DEBIAN_FRONTEND=noninteractive
  4. RUN apt-get update && \
  5. apt-get -y install g++ git sudo wget gnupg2 && \
  6. apt-get -y install libssl-dev build-essential && \
  7. apt-get -y install vim gdb strace patch && \
  8. \
  9. echo deb http://apt.llvm.org/focal/ llvm-toolchain-focal-10 main >> /etc/apt/sources.list && \
  10. echo deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-10 main >> /etc/apt/sources.list && \
  11. wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add - ; \
  12. apt update -y && \
  13. apt-get install -y clang-10 lldb-10 lld-10 && \
  14. apt-get install -y libc++-10-dev libc++-10-dev clang-format-10 && \
  15. \
  16. echo deb http://apt.llvm.org/focal/ llvm-toolchain-focal-11 main >> /etc/apt/sources.list && \
  17. echo deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-11 main >> /etc/apt/sources.list && \
  18. wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add - ; \
  19. apt update -y && \
  20. apt-get install -y clang-11 lldb-11 lld-11 && \
  21. apt-get install -y libc++-11-dev libc++-11-dev clang-format-11 && \
  22. \
  23. echo deb http://apt.llvm.org/focal/ llvm-toolchain-focal-12 main >> /etc/apt/sources.list && \
  24. echo deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-12 main >> /etc/apt/sources.list && \
  25. wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add - ; \
  26. apt update -y && \
  27. apt-get install -y clang-12 lldb-12 lld-12 && \
  28. apt-get install -y libc++-12-dev libc++-12-dev clang-format-12 && \
  29. \
  30. rm -rf /var/lib/apt/lists/*
  31. # Install newer CMake to avoid some warnings the "FindBoost" script throws on
  32. # more recent versions of boost that the system CMake doesn't now about.
  33. # I chose a bloody new boost, so I need to use the latest RC1 (at the time of writing)
  34. RUN wget https://github.com/Kitware/CMake/releases/download/v3.21.3/cmake-3.21.3.tar.gz && \
  35. tar -zxf cmake-3.21.3.tar.gz && \
  36. cd cmake-3.21.3 && \
  37. ./bootstrap && \
  38. make -j $(nproc) && \
  39. make install && \
  40. cd .. && \
  41. rm -rf cmake-3.21.3 && \
  42. rm -rf cmake-3.21.3.tar.gz
  43. # Fix some weird linker issue CAF build runs into. (fails to link -lc++abi)
  44. RUN cp -prv /usr/lib/llvm-10/lib/libc++abi.so.1.0 /usr/lib/llvm-10/lib/libc++abi.so
  45. RUN cp -prv /usr/lib/llvm-11/lib/libc++abi.so.1.0 /usr/lib/llvm-11/lib/libc++abi.so
  46. RUN cp -prv /usr/lib/llvm-12/lib/libc++abi.so.1.0 /usr/lib/llvm-12/lib/libc++abi.so
  47. CMD "/bin/bash"