From e0da2f8c0e79c4c6a747b8cf21d301f6567f5da6 Mon Sep 17 00:00:00 2001 From: Dean Sheather Date: Tue, 11 Jun 2019 15:05:41 +0000 Subject: [PATCH] ubuntu-dev-llvm8 image Dockerfile (#213) --- images/main.sh | 7 ++-- images/ubuntu-dev-llvm8/Dockerfile.comm | 49 +++++++++++++++++++++++++ images/ubuntu-dev-llvm8/Dockerfile.lang | 3 ++ images/ubuntu-dev-llvm8/llvm-8.list | 2 + 4 files changed, 58 insertions(+), 3 deletions(-) create mode 100644 images/ubuntu-dev-llvm8/Dockerfile.comm create mode 100644 images/ubuntu-dev-llvm8/Dockerfile.lang create mode 100644 images/ubuntu-dev-llvm8/llvm-8.list diff --git a/images/main.sh b/images/main.sh index 376106b..cfd339f 100755 --- a/images/main.sh +++ b/images/main.sh @@ -4,13 +4,14 @@ set -eu BASE_IMAGE=ubuntu-dev LANG_IMAGES=( + ubuntu-dev-gcc8 ubuntu-dev-go + ubuntu-dev-llvm8 + ubuntu-dev-node12 + ubuntu-dev-openjdk12 ubuntu-dev-python2.7 ubuntu-dev-python3.7 ubuntu-dev-ruby2.6 - ubuntu-dev-gcc8 - ubuntu-dev-node12 - ubuntu-dev-openjdk12 ) # Build the base for all images. diff --git a/images/ubuntu-dev-llvm8/Dockerfile.comm b/images/ubuntu-dev-llvm8/Dockerfile.comm new file mode 100644 index 0000000..df69e58 --- /dev/null +++ b/images/ubuntu-dev-llvm8/Dockerfile.comm @@ -0,0 +1,49 @@ +# Based Upon: +# https://github.com/d11wtq/llvm-docker +# +# Modifications: +# +# - Use LLVM 8 instead of LLVM 3.9. +# - Change the signing key URL. +# - Merge `apt-get install` steps into the prior `apt-get update` step. +# - Check for file already existing when creating symlinks. + +FROM %BASE + +RUN apt-get update -qq -y && \ + apt-get install -qq -y wget + +# Ubuntu Cosmic LLVM APT repository: http://apt.llvm.org +RUN wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - +ADD llvm-8.list /etc/apt/sources.list.d/llvm-8.list + +RUN apt-get update -qq -y && \ + apt-get install -qq -y \ + make \ + clang-8 \ + clang-8-doc \ + clang-format-8 \ + clang-tools-8 \ + libc++-8-dev \ + libc++abi-8-dev \ + libclang-8-dev \ + libclang-common-8-dev \ + libclang1-8 \ + libfuzzer-8-dev \ + libllvm-8-ocaml-dev \ + libllvm8 \ + libomp-8-dev \ + lld-8 \ + lldb-8 \ + llvm-8 \ + llvm-8-dev \ + llvm-8-doc \ + llvm-8-examples \ + llvm-8-runtime \ + llvm-8-tools \ + python-clang-8 + +RUN for f in $(find /usr/bin -name '*-8'); do \ + newname=`echo $f | sed s/-8//`; \ + [ ! -f $newname ] && ln -s $f $newname || true; \ + done diff --git a/images/ubuntu-dev-llvm8/Dockerfile.lang b/images/ubuntu-dev-llvm8/Dockerfile.lang new file mode 100644 index 0000000..dc45bd3 --- /dev/null +++ b/images/ubuntu-dev-llvm8/Dockerfile.lang @@ -0,0 +1,3 @@ +FROM %BASE + +RUN installext ms-vscode.cpptools diff --git a/images/ubuntu-dev-llvm8/llvm-8.list b/images/ubuntu-dev-llvm8/llvm-8.list new file mode 100644 index 0000000..c18f920 --- /dev/null +++ b/images/ubuntu-dev-llvm8/llvm-8.list @@ -0,0 +1,2 @@ +deb http://apt.llvm.org/cosmic/ llvm-toolchain-cosmic-8 main +deb-src http://apt.llvm.org/cosmic/ llvm-toolchain-cosmic-8 main