Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save namjae/32d26e6fcc94e3428de266e9d2826a2c to your computer and use it in GitHub Desktop.
Save namjae/32d26e6fcc94e3428de266e9d2826a2c to your computer and use it in GitHub Desktop.
##
## LeoFS' Erlang
##
FROM gliderlabs/alpine:3.4
MAINTAINER LeoFS <leo-project.net/leofs/>
ENV LANG=en_US.UTF-8 \
HOME=/var/local/erlang/ \
TERM=xterm
WORKDIR /tmp/erlang-build
##
## Installing Erlang
##
RUN mkdir -p ${HOME} && \
adduser -s /bin/sh -u 1001 -G root -h ${HOME} -S -D default && \
chown -R 1001:0 ${HOME} && \
echo "@edge http://nl.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositories && \
apk --no-cache --update upgrade && \
apk add --no-cache \
ca-certificates \
openssl-dev \
ncurses-dev \
net-snmp-libs \
unixodbc-dev \
zlib-dev && \
apk add --no-cache --virtual .erlang-build \
git autoconf build-base perl-dev && \
git clone -b OTP-18.3.4.4 --single-branch --depth 1 https://github.com/erlang/otp.git . && \
export ERL_TOP=/tmp/erlang-build && \
export PATH=$ERL_TOP/bin:$PATH && \
export CPPFlAGS="-D_BSD_SOURCE $CPPFLAGS" && \
./otp_build autoconf && \
./configure --prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--without-javac \
--without-wx \
--without-debugger \
--without-observer \
--without-jinterface \
--without-common_test \
--without-cosEvent\
--without-cosEventDomain \
--without-cosFileTransfer \
--without-cosNotification \
--without-cosProperty \
--without-cosTime \
--without-cosTransactions \
--without-dialyzer \
--without-et \
--without-gs \
--without-ic \
--without-megaco \
--without-orber \
--without-percept \
--without-typer \
--enable-threads \
--enable-shared-zlib \
--enable-ssl=dynamic-ssl-lib \
--enable-hipe && \
make -j4 && make install && \
apk del .erlang-build && \
cd $HOME && \
rm -rf /tmp/erlang-build && \
update-ca-certificates --fresh
WORKDIR ${HOME}
CMD ["/bin/sh"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment