mirror of
https://github.com/IHaskell/IHaskell.git
synced 2025-04-16 19:36:06 +00:00
77 lines
2.1 KiB
Docker
77 lines
2.1 KiB
Docker
# This Dockerfile builds an image with all of the Ubuntu package requirements
|
|
# for building and running IHaskell. For discussion of how to use this
|
|
# image, see the Docker section of the `README.md`.
|
|
#
|
|
# docker build -t ihaskell-dev .
|
|
#
|
|
# To build the image from a different Ubuntu base, specify a
|
|
# different BASE_CONTAINER.
|
|
#
|
|
# docker build --build-arg BASE_CONTAINER=ubuntu:16.04 -t ihaskell-dev .
|
|
#
|
|
|
|
ARG BASE_CONTAINER=ubuntu:bionic-20200219@sha256:0925d086715714114c1988f7c947db94064fd385e171a63c07730f1fa014e6f9
|
|
FROM $BASE_CONTAINER
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
#
|
|
# Required for GHC
|
|
# https://docs.haskellstack.org/en/stable/docker_integration/#custom-images
|
|
gcc \
|
|
libgmp-dev \
|
|
#
|
|
# Python requirements for installing jupyter
|
|
python3-pip \
|
|
python3-setuptools \
|
|
python3-dev \
|
|
python3-wheel \
|
|
#
|
|
# ihaskell kernel dependencies
|
|
libtinfo-dev \
|
|
libzmq3-dev \
|
|
libpango1.0-dev \
|
|
#
|
|
# IHaskell.Display dependencies
|
|
libmagic-dev \
|
|
libcairo2-dev \
|
|
libblas-dev \
|
|
liblapack-dev \
|
|
g++ \
|
|
#
|
|
# Required for building ihaskell_labextension
|
|
npm \
|
|
#
|
|
# Required for upgrading nodejs
|
|
curl \
|
|
#
|
|
# Clean apt install
|
|
&& rm -rf /var/lib/apt/lists/* \
|
|
#
|
|
# Install latest npm, which is not in Ubuntu repo
|
|
# Because ihaskell_labextension requires npm >= 4.0
|
|
&& npm install npm@latest -g \
|
|
#
|
|
# Clean npm install cache
|
|
&& npm cache clean --force
|
|
|
|
# Setup nodejs repository
|
|
# https://github.com/nodesource/distributions/blob/master/README.md#installation-instructions
|
|
# Need nodejs later than 8.16.2 for jupyterlab 2.0.2 → rendermime → marked 0.8.0
|
|
# Otherwise when we build ihaskell_labextension we get errors like this:
|
|
#
|
|
# ihaskell_labextension $ npm install
|
|
# npm WARN notsup Unsupported engine for marked@0.8.2: wanted: {"node":">= 8.16.2"} (current: {"node":"8.10.0","npm":"6.14.4"})
|
|
#
|
|
RUN curl -sL https://deb.nodesource.com/setup_13.x | bash - \
|
|
&& apt-get install -y nodejs \
|
|
#
|
|
# Clean apt install
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
ENV LANG C.UTF-8
|
|
ENV LANGUAGE C.UTF-8
|
|
ENV LC_ALL C.UTF-8
|
|
ENV LC_CTYPE C.UTF-8
|
|
|
|
EXPOSE 8888
|