Skip to content

Instantly share code, notes, and snippets.

@jassoncasey
Last active May 15, 2017 11:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jassoncasey/fd517b7d33cb1ee6c132938539047e20 to your computer and use it in GitHub Desktop.
Save jassoncasey/fd517b7d33cb1ee6c132938539047e20 to your computer and use it in GitHub Desktop.
FROM centos:7
# Install dependencies.
RUN yum -y update && yum -y install epel-release \
ant \
autoconf \
autogen \
automake \
bc \
bison \
bzip2 \
cmake \
curl \
dejagnu \
flex \
gcc \
gcc-c++ \
git \
gperf \
hg \
java-1.8.0-openjdk-devel \
libtool \
libxslt \
lzip \
make \
ncurses-devel \
openssl-devel \
patch \
perl \
pkgconfig \
python34 \
svn \
tex \
texinfo \
unzip \
wget \
which \
zip \
zlib-dev \
&& yum clean all
ENV JAVA_HOME /usr/lib/jvm/java-1.8.0-openjdk
############# LANGUAGES ################
# Binutils 2.28
RUN git clone -b binutils-2_28 git://sourceware.org/git/binutils-gdb.git && \
cd binutils-gdb && \
./configure && \
make -j 4 && make install && \
cd .. && rm -rf binutils-gdb
# GMP 6.1.0 - dep of gcc
RUN hg clone https://gmplib.org/repo/gmp-6.1 gmp && \
cd gmp && hg up gmp-6.1.0 && \
./.bootstrap && \
./configure && \
make -j 4 && make install && \
cd .. && rm -rf gmp
# MPFR 3.1.5 - dep of gcc
RUN svn co https://scm.gforge.inria.fr/anonscm/svn/mpfr/tags/3.1.5 mpfr && \
cd mpfr && \
./autogen.sh && \
./configure -with-gmp=/usr/local && \
make -j 4 && make install && \
cd .. && rm -rf mpfr
# MPC 1.0.3 - dep of gcc
RUN git clone -b 1.0.3 https://scm.gforge.inria.fr/anonscm/git/mpc/mpc.git && \
cd mpc && \
autoreconf -i && ./configure && \
make -j 4 && make install && \
cd .. && rm -rf mpc
# GCC/G++ 7.1.0
RUN git clone -b gcc-7_1_0-release https://github.com/gcc-mirror/gcc.git && \
mkdir gcc/objdir && cd gcc/objdir && \
../configure --disable-multilib && \
make -j 4 && make install && \
cd ../.. && rm -rf gcc && \
yum uninstall gcc gcc-c++
# Python 2.7.13
RUN hg clone https://hg.python.org/cpython && \
cd cpython && hg up v2.7.13 && \
./configure && make -j 4 && make install && \
cd .. && rm -rf cpythong
# Nodejs 7.10.0
RUN git clone -b v7.10.0 https://github.com/nodejs/node.git && \
cd node && \
./configure && make -j 4 && make install && \
cd .. && rm -rf node
# OpenSSL 1.1.0e
RUN git clone -b OpenSSL_1_1_0e https://github.com/openssl/openssl.git && \
cd openssl && \
./config && \
make depend && make -j 4 && make install && \
cd .. && rm -rf openssl
# Scala 2.11.11
#RUN git clone -b 2.11.11 https://github.com/scala/scala.git && \
# cd scala && \
# ant && \
# cd ..
# GO 1.8.1
#RUN git clone -b go1.8.1 https://github.com/golang/go.git && \
# cd go/src && \
# ./all.bash && \
# cd ../..
# Docker v17.05.0-ce
#RUN git clone -b v17.05.0-ce https://github.com/docker/docker.git && \
# cd docker && \
# make build && make binary && \
# cd ..
# gRPC 1.3.2
#RUN git clone -b v1.3.2 https://github.com/grpc/grpc && \
# cd grpc && \
# git submodule update --init && \
# make -j 4 && make install && \
# cd .. & rm -rf grpc
# Drop us into a shell container instantiation.
# Don't forget: you need "docker run -it TAG"
# -it is for interactive, otherwise the container will exit immediatly, see docker docs.
# TAG in this context is the -t TAG argument you provided when building this container.
# By default, -t baykovr/iron-build:latest can be used.
CMD ["/bin/bash"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment