forked from clasp-developers/clasp
-
Notifications
You must be signed in to change notification settings - Fork 0
Home
vijay edwin edited this page Jun 15, 2024
·
1 revision
Dockerfile to build with llvm-15
FROM ubuntu:jammy
SHELL ["/bin/bash", "-c"]
ARG D_USER=app
ARG D_UID=1000
ARG LLVM_VERSION=15
ENV DEBIAN_FRONTEND=noninteractive
ENV USER ${D_USER}
ENV HOME /home/${D_USER}
ENV JUPYTER_PATH=${HOME}/.local/share/jupyter/
ENV JUPYTERLAB_DIR=${HOME}/.local/share/jupyter/lab/
ENV PATH "${HOME}/.local/bin:${PATH}"
RUN apt-get update
RUN apt-get dist-upgrade -y
RUN apt-get install -o Dpkg::Options::="--force-overwrite" -y \
binutils-gold clang-${LLVM_VERSION} libboost-dev libbsd-dev libclang-cpp${LLVM_VERSION}-dev \
libelf-dev libgmp-dev libncurses-dev libunwind-dev llvm-${LLVM_VERSION} ninja-build \
sbcl zlib1g-dev sudo locales wget git pkg-config libclang-${LLVM_VERSION}-dev
RUN apt-get -y install software-properties-common
RUN add-apt-repository "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-${LLVM_VERSION} main"
RUN apt-get -y install unzip
RUN apt-get -y install cmake build-essential
RUN echo 'en_US.UTF-8 UTF-8' >/etc/locale.gen
RUN sudo -E locale-gen
RUN useradd --create-home --shell=/bin/false --uid=${D_UID} ${D_USER} && \
usermod -aG sudo $D_USER && \
passwd -d $D_USER
WORKDIR ${HOME}
USER ${D_USER}
RUN wget https://github.com/fmtlib/fmt/releases/download/8.1.1/fmt-8.1.1.zip && \
unzip fmt-8.1.1.zip && \
cd fmt-8.1.1 && \
mkdir build && \
cd build && \
cmake .. && \
make && \
sudo make install
RUN wget https://beta.quicklisp.org/quicklisp.lisp && \
sbcl --non-interactive --load quicklisp.lisp --eval '(quicklisp-quickstart:install)' --eval '(ql-util:without-prompting (ql:add-to-init-file))' && \
rm quicklisp.lisp
RUN git clone https://github.com/clasp-developers/clasp.git && cd clasp && ./koga
RUN cd ${HOME}/clasp && ninja -j 2 -C build