# Build LLVM with latest spack ARG SPACK_IMAGE="spack/ubuntu-bionic" ARG SPACK_VERSION="0.14" FROM ${SPACK_IMAGE}:${SPACK_VERSION} LABEL maintainer="Wang An <wangan.cs@gmail.com>" USER root ARG EXTRA_SPECS="target=skylake" ENV EXTRA_SPECS=${EXTRA_SPECS} ARG LLVM_VERSION="9.0.1" ENV LLVM_VERSION=${LLVM_VERSION} # install LLVM RUN set -eu; \ \ # find existing compilers spack compiler add; \ \ spack install llvm@$LLVM_VERSION $EXTRA_SPECS; \ spack clean -a; \ spack load llvm@$LLVM_VERSION; \ spack compiler add # setup development environment ENV ENV_FILE="/root/setup-env.sh" RUN set -e; \ \ echo "#!/bin/env bash" > $ENV_FILE; \ echo "source /opt/spack/share/spack/setup-env.sh" >> $ENV_FILE; \ echo "spack load llvm@$LLVM_VERSION" >> $ENV_FILE # reset the entrypoint ENTRYPOINT [] CMD ["/bin/bash"] # Build-time metadata as defined at http://label-schema.org ARG BUILD_DATE ARG VCS_REF ARG VCS_URL="https://github.com/alephpiece/docker-llvm" LABEL org.label-schema.build-date=${BUILD_DATE} \ org.label-schema.name="LLVM docker image" \ org.label-schema.description="An image for LLVM" \ org.label-schema.license="MIT" \ org.label-schema.vcs-ref=${VCS_REF} \ org.label-schema.vcs-url=${VCS_URL} \ org.label-schema.schema-version="1.0"