mirror of
https://github.com/IHaskell/IHaskell.git
synced 2025-04-16 11:26:08 +00:00
58 lines
1.7 KiB
Docker
58 lines
1.7 KiB
Docker
# sudo docker build -t IHaskell:dev .
|
|
#
|
|
# run in the browser
|
|
# sudo docker run -p 8778:8778 IHaskell:dev
|
|
#
|
|
# run this with a terminal
|
|
# sudo docker run -rm -i -t IHaskell:dev console
|
|
|
|
|
|
FROM gregweber/haskell-platform-2013.2-deb64
|
|
MAINTAINER gregweber
|
|
|
|
RUN sudo apt-get update
|
|
RUN sudo apt-get install -yq g++ git pkg-config libtool automake libncurses5-dev python-dev
|
|
RUN wget https://github.com/zeromq/zeromq4-x/archive/v4.0.3.tar.gz && \
|
|
tar xvfz v4.0.3.tar.gz && \
|
|
cd zeromq4-x-4.0.3 && \
|
|
./autogen.sh && ./configure && \
|
|
make && sudo make install && \
|
|
sudo ldconfig && \
|
|
cd .. && rm -r zeromq4-x-4.0.3 && rm v4.0.3.tar.gz
|
|
|
|
RUN cabal update
|
|
RUN cabal install happy-1.19.3 cpphs-1.18.3
|
|
|
|
ENV PATH /home/haskell/.cabal/bin:$PATH
|
|
|
|
# IHaskell dependencies used by Haskell code
|
|
# IHaskell console installer expects curl
|
|
# some extensions require C libraries
|
|
RUN sudo apt-get install -yq curl libgtk2.0-dev libgtk-3-dev libmagic-dev
|
|
|
|
# use local modifications of source code
|
|
ADD . /home/haskell/IHaskell
|
|
# Alternative, use latest master
|
|
# RUN git clone https://github.com/gibiansky/IHaskell
|
|
|
|
RUN cd ~/IHaskell && ./build.sh all
|
|
|
|
# Alternative, install everything directly from hackage without using a repo
|
|
# RUN cabal install ipython-kernel ihaskell-aeson ihaskell-blaze gtk2hs-buildtools ihaskell-diagrams ihaskell-display ihaskell-magic
|
|
|
|
|
|
# The first time this runs it will install stuff
|
|
RUN echo exit | IHaskell console
|
|
|
|
# Populate with sample notebooks
|
|
ADD ./notebooks/ ~/.ihaskell/notebooks/
|
|
|
|
RUN echo 'c.NotebookApp.ip = "0.0.0.0"' >> ~/.ipython/profile_haskell/ipython_notebook_config.py
|
|
|
|
# for IHaskell browser
|
|
# ENV IHASKELL_NOTEBOOK_EXPOSE 1
|
|
EXPOSE 8778
|
|
|
|
ENTRYPOINT ["IHaskell"]
|
|
CMD ["notebook"]
|