• James Brock's avatar
    Dockerfile refactor · c8e4c06d
    James Brock authored
    This Dockerfile gives us more control and isolation of dependencies
    during development.
    
    Base image `FROM ubuntu` instead of `fcpo/stack-build`.  We will use the
    Stack and GHC on the host system, don't need it installed in the image.
    The image is just for isolating the system package dependencies. Stack
    will isolate the Haskell package dependencies (and the pip and npm
    dependencies).
    
    This gives is a single authority for the resolver, which is
    the `stack.yaml`. We no longer need to manually make the `stack.yaml`
    and `Dockerfile` resolvers agree.
    
    Don't install `jupyter` in the Docker image, we'll use `stack --docker` to
    install it later. This allows developers to choose the version of the jupyter
    dependencies.
    
    Add the `docker` section to `stack.yaml`, disabled by default.
    
    __Motivating example:__ ipywidgets version 7 has changed its protocol.
    We want to upgrade ihaskell-widgets, which works only on ipywidgets
    version 6. To install ipywidgets version 6, we need to downgrade Python to 3.5.
    We can use `stack --docker` to isolate a development environment in
    which ihaskell-widgets is working, and then upgrade it to the latest
    versions.
    c8e4c06d
Name
Last commit
Last update
demo Loading commit data...
docker Loading commit data...
ghc-parser Loading commit data...
html Loading commit data...
ihaskell-display Loading commit data...
ihaskell_labextension Loading commit data...
images Loading commit data...
ipython-kernel Loading commit data...
main Loading commit data...
notebooks Loading commit data...
src Loading commit data...
.dockerignore Loading commit data...
.ghci Loading commit data...
.gitignore Loading commit data...
.travis.yml Loading commit data...
Dockerfile Loading commit data...
LICENSE Loading commit data...
README.md Loading commit data...
Setup.hs Loading commit data...
cabal.project Loading commit data...
ihaskell.cabal Loading commit data...
release-8.2.nix Loading commit data...
release-8.4.nix Loading commit data...
release-8.6.nix Loading commit data...
release.nix Loading commit data...
requirements.txt Loading commit data...
stack-8.0.yaml Loading commit data...
stack-8.2.yaml Loading commit data...
stack-8.4.yaml Loading commit data...
stack.yaml Loading commit data...