- This addresses issue #911
- This is untested, but there is no documented reason why repo2docker
should stick with the previously pinned version 2.1.1
- Upstream has switched from bz2 to xz, so `tar` now takes the `-J` flag
instead of `-j`
Later versions of wcwidth require `backports.functools-lru-cache>=1.2.1; python_version < "3.2"` but the conda-forge wcwidth package was automatically bumped without this new requirement.
Added a custom action handler for '-e' and '--env' so that the
'environment' variable passed to docker reflects how docker would have
processed the same args
The initial plan was to modify our copy of the environment variables as
set via cli argparsing at the point-of-use. However, that function's
purpose is to launch a container. Adding argument processing doesn't
feel right.
The new plan is to modify our copy of the environment when the arguments
are parsed. `argparse` provides a hook to do such work: custom actions.
[miniforge](https://github.com/conda-forge/miniforge) is a new
community-led installer that uses conda-forge as the default
channel, rather than defaults. This gives us a few advantages:
- No mixing of defaults & conda-forge channel by default. My
intuition is that this will reduce image size & build times,
but I don't know enough about conda to say if this is real
- It provides installers for architectures unsupported by miniconda.
This is particularly useful important for ARM & PowerPC, when we
want to support those better.
- I like conda-forge, and we should do what we can to support them!
This is a fairly easy, drop-in way to do so
- It is more likely to have newer versions of conda by default
than miniconda
- It provides sha256 hashes for installers rather than just md5. This
makes me personally happy
There should be no user-facing changes here as far as I can tell.
Fixes#858
Some versions of lab used by repo2docker are not compatible with the
offlinenotebook extension. We try to install the extension and if it
fails we move on without raising an error.