FROM continuumio/miniconda3

ENV LANG="en_US.UTF-8" \
    LC_ALL="en_US.UTF-8" \
    ND_ENTRYPOINT="/neurodocker/startup.sh"
RUN export ND_ENTRYPOINT="/neurodocker/startup.sh" \
    && apt-get update -qq \
    && apt-get install -y -q --no-install-recommends \
           apt-utils \
           bzip2 \
           ca-certificates \
           curl \
           locales \
           unzip \
           curl \
           git \
           wget \
           gzip \
           bzip2 \
           sed \
           make \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/* \
    && sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen \
    && dpkg-reconfigure --frontend=noninteractive locales \
    && update-locale LANG="en_US.UTF-8" \
    && chmod 777 /opt && chmod a+s /opt \
    && mkdir -p /neurodocker \
    && if [ ! -f "$ND_ENTRYPOINT" ]; then \
         echo '#!/usr/bin/env bash' >> "$ND_ENTRYPOINT" \
    &&   echo 'set -e' >> "$ND_ENTRYPOINT" \
    &&   echo 'export USER="${USER:=`whoami`}"' >> "$ND_ENTRYPOINT" \
    &&   echo 'if [ -n "$1" ]; then "$@"; else /usr/bin/env bash; fi' >> "$ND_ENTRYPOINT"; \
    fi \
    && chmod -R 777 /neurodocker && chmod a+s /neurodocker

ENTRYPOINT ["/neurodocker/startup.sh"]

ENV LANG="C.UTF-8" \
    LC_ALL="C.UTF-8"

RUN git clone https://github.com/me-ica/tedana.git /tedana

RUN bash -c "conda create -yq --name tedana_env python=3.8 pip \
    && source activate tedana_env \
    && pip install /tedana[all] \
    && pip install ipython \
    && rm -rf ~/.cache/pip/* \
    && conda clean --all"

RUN /opt/conda/envs/tedana_env/bin/ipython profile create \
    && sed -i 's/#c.InteractiveShellApp.extensions = \[\]/ \
                 c.InteractiveShellApp.extensions = \['\''autoreload'\''\]/g' \
               /root/.ipython/profile_default/ipython_config.py

RUN mkdir -p /tedana/dev_tools

COPY ["./dev_tools", "/tedana/dev_tools"]

RUN sed -i '$isource activate tedana_env' $ND_ENTRYPOINT

RUN sed -i '$isource /tedana/dev_tools/run_tests.sh' $ND_ENTRYPOINT

WORKDIR /tedana
