Bootstrap: docker

From: ubuntu


%runscript
	eval `opam config env`
	if [ $# = 0 ] ; then exec bash; else exec "$@"; fi



%environment

    HOME=/container
    export HOME
    PATH="/usr/local/conda/bin:/container/pypy3.6-v7.3.3-linux64/bin:$PATH"
    export PATH


%labels

   AUTHOR ellisk@mit.edu


%post

    apt-get update && apt-get -y install python3 git wget opam m4 libcairo2-dev libzmq3-dev swig graphviz

    mkdir /container
    chmod 777 /container
    HOME=/container
    export HOME
    
    wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
    chmod +x Miniconda3-latest-Linux-x86_64.sh
    ./Miniconda3-latest-Linux-x86_64.sh -b  -p /usr/local/conda
    rm ./Miniconda3-latest-Linux-x86_64.sh
    export PATH="/usr/local/conda/bin:$PATH"

    conda install -y  numpy dill pyzmq matplotlib protobuf scikit-learn scipy
    pip install dill sexpdata pygame pycairo cairocffi psutil pypng Box2D-kengz graphviz frozendict pathos
    
    conda install pytorch torchvision -c pytorch
    
    opam init -y --auto-setup --root /container/.opam
    opam update
    opam switch create 4.06.1+flambda
    eval `opam config env`
    opam install -y  ppx_jane core re2 yojson vg cairo2 camlimages menhir ocaml-protoc zmq utop jbuilder
    #opam install ocp-indent merlin
    echo "
#use "topfind";;
#thread;;
#require "core.top";;
#require "core.syntax";;
open Core;;
" >> /container/.ocamlinit
    echo 'eval `opam config env`' >> /container/.bashrc  



    wget https://downloads.python.org/pypy/pypy3.6-v7.3.3-linux64.tar.bz2
    tar xjvf pypy3.6-v7.3.3-linux64.tar.bz2
    rm pypy3.6-v7.3.3-linux64.tar.bz2
    mv pypy3.6-v7.3.3-linux64 /container
    PATH=/container/pypy3.6-v7.3.3-linux64/bin:$PATH

    pypy3 -m ensurepip
    pypy3 -m pip install vmprof
    pypy3 -m pip install dill
    pypy3 -m pip install psutil
    

    