summaryrefslogtreecommitdiff
path: root/Dockerfile
blob: 04e29c3cb107b1c6d48c3322b441f153481b1609 (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
70
71
72
73
74
75
76
77
FROM centos:6.9
LABEL maintainer="jhunk@stsci.edu" \
      vendor="Space Telescope Science Institute"

RUN yum install -y epel-release \
    && yum clean all

RUN yum install -y \
    gcc \
    gcc-c++ \
    gcc-gfortran \
    git \
    glibc \
    libuuid-devel \
    make \
    perl \
    pkgconfig \
    expat-devel \
    bzip2-devel \
    gdbm-devel \
    libffi-devel \
    ncurses-devel \
    openssl-devel \
    readline-devel \
    sqlite-devel \
    sudo \
    tcl-devel \
    tk-devel \
    which \
    xz-devel \
    zlib-devel \
    && yum clean all

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}

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

RUN 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

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"]