summaryrefslogtreecommitdiff
path: root/Dockerfile
blob: 4740144baa333134e71bf89007a917623c737f1c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
FROM centos:6.9
LABEL maintainer="jhunk@stsci.edu" \
      vendor="Space Telescope Science Institute"

ENV TOOLCHAIN="/opt/toolchain"
ENV TOOLCHAIN_BIN="${TOOLCHAIN}/bin"
ENV TOOLCHAIN_LIB="${TOOLCHAIN}/lib"
ENV TOOLCHAIN_INCLUDE="${TOOLCHAIN}/include"
ENV TOOLCHAIN_DATA="${TOOLCHAIN}/share"
ENV TOOLCHAIN_SYSCONF="${TOOLCHAIN}/etc"
ENV TOOLCHAIN_MAN="${TOOLCHAIN_DATA}/man"
ENV TOOLCHAIN_PKGCONFIG="${TOOLCHAIN_LIB}/pkgconfig"
ENV TOOLCHAIN_BUILD="/opt/buildroot"
ENV PATH="${TOOLCHAIN_BIN}:${PATH}"

ARG PYTHON_VERSION=${PYTHON_VERSION:-3.7.1}
ARG USER_ACCT=${USER_ACCT:-developer}
ARG USER_HOME=/home/${USER_ACCT}
ARG USER_UID=${USER_UID:-1000}
ARG USER_GID=${USER_GID:-1000}

ENV USER_ACCT=${USER_ACCT} \
    USER_HOME=${USER_HOME} \
    USER_UID=${USER_UID} \
    USER_GID=${USER_GID} \
    LC_ALL=en_US.UTF-8 \
    LANG=en_US.UTF-8 \
    LANGUAGE=en_US.UTF-8

RUN groupadd -g ${USER_GID} ${USER_ACCT} \
    && useradd -u ${USER_UID} -g ${USER_ACCT} \
       -m -d ${USER_HOME} -s /bin/bash ${USER_ACCT} \
    && echo "${USER_ACCT}:${USER_ACCT}" | chpasswd \
    && echo "${USER_ACCT} ALL=(ALL)	NOPASSWD: ALL" >> /etc/sudoers \
    && echo export PATH="${TOOLCHAIN_BIN}:\${PATH}" > /etc/profile.d/toolchain.sh \
    && echo export MANPATH="${TOOLCHAIN_MAN}:\${MANPATH}" >> /etc/profile.d/toolchain.sh \
    && echo export PKG_CONFIG_PATH="${TOOLCHAIN_PKGCONFIG}:\${PKG_CONFIG_PATH}" >> /etc/profile.d/toolchain.sh \
    && yum install -y epel-release \
    && yum install -y \
        gcc \
        gcc-c++ \
        gcc-gfortran \
        glibc \
        make \
        perl \
        pkgconfig \
        sudo \
        wget \
        which \
        zlib-devel \
    && yum clean all

WORKDIR "${TOOLCHAIN_BUILD}"
COPY scripts/ ${TOOLCHAIN_BUILD}/bin
COPY etc/ ${TOOLCHAIN_BUILD}/etc

RUN mkdir -p "${TOOLCHAIN}" \
    && chown -R ${USER_ACCT}: \
        ${TOOLCHAIN} \
        ${TOOLCHAIN_BUILD}

USER "${USER_ACCT}"

RUN bin/build.sh \
    && sudo rm -rf "${TOOLCHAIN_BUILD}"

WORKDIR "${USER_HOME}"

CMD ["/bin/bash", "-l"]