Commit 548d9a83 authored by Antoine Martin's avatar Antoine Martin
Browse files

Add Dockerfile

parent ce9a252c
FROM debian:jessie
WORKDIR /root
ENV LANG=C.UTF-8
# Initial system setup
RUN apt-get update && apt-get install -y \
ca-certificates \
wget \
time \
git \
build-essential \
sbcl \
libz-dev \
--no-install-recommends \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
# Install all needed dependencies
ADD https://raw.githubusercontent.com/quicklisp/quicklisp-controller/master/debian-setup/debian-8-packages.txt .
ADD https://www.quicklisp.org/quicklisp-controller/packages.tar .
RUN apt-get update && apt-get install -y \
--no-install-recommends `cat debian-8-packages.txt` \
&& tar xvf packages.tar \
&& dpkg -i packages/*.deb \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
&& rm -rf packages packages.tar debian-8-packages.txt
# Build sbcl
RUN git clone https://github.com/sbcl/sbcl \
&& cd sbcl \
&& git checkout sbcl-1.3.21 \
&& sh make.sh --fancy --dynamic-space-size=2560 \
&& sh install.sh \
&& cd .. \
&& rm -rf sbcl
# Build makeinfo
RUN wget http://ftp.gnu.org/gnu/texinfo/texinfo-6.5.tar.xz \
&& tar xvf texinfo-6.5.tar.xz \
&& cd texinfo-6.5 \
&& ./configure \
&& make \
&& make install \
&& cd .. \
&& rm -rf texinfo*
# Setup quickref user
RUN useradd -m -s /bin/bash quickbuilder \
&& chown -R quickbuilder:quickbuilder /home/quickbuilder
WORKDIR /home/quickbuilder
USER quickbuilder
# Clone needed packages
RUN mkdir common-lisp \
&& git clone --depth 1 \
https://github.com/didierverna/declt common-lisp/declt \
&& git clone --depth 1 \
https://github.com/xach/qlmapper common-lisp/qlmapper \
&& git clone --depth 1 \
https://gitlab.lrde.epita.fr/amartin/quickref common-lisp/quickref
# Setup Quicklisp
RUN wget https://beta.quicklisp.org/quicklisp.lisp \
&& /usr/local/bin/sbcl --non-interactive \
--load quicklisp.lisp \
--eval '(quicklisp-quickstart:install)' \
--eval '(ql-util:without-prompting (ql:add-to-init-file))' \
&& rm -rf .cache/common-lisp quicklisp.lisp
CMD /usr/local/bin/sbcl --non-interactive \
--eval '(ql:quickload "quickref")' \
--eval '(quickref:refresh :uninstall t)'
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment