blob: f6f68837fbb4d7c315de2b5c9d7488d4303a6588 [file] [log] [blame]
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
FROM centos:latest
MAINTAINER Gang Wang (garyw@apache.org)
#set up your proxy below, refer to readme in the Docker folder
ENV proxy_host ""
ENV proxy_port ""
#ENV http_proxy "http://${proxy_host}:${proxy_port}"
#ENV https_proxy ${http_proxy}
#ENV HTTP_PROXY ${http_proxy}
#ENV HTTPS_PROXY ${http_proxy}
#ENV proxy ${http_proxy}
RUN echo $proxy
RUN curl -sSL https://s3.amazonaws.com/download.fpcomplete.com/centos/7/fpco.repo | tee /etc/yum.repos.d/fpco.repo
RUN yum -y update && yum -y groupinstall 'Development Tools' && \
yum -y install java-devel cmake check check-devel libuuid-devel man zlib-devel wget stack && yum clean all
RUN curl -O http://apache.mirrors.ionfish.org/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz && \
tar xvf apache-maven-3.3.9-bin.tar.gz && \
mv apache-maven-3.3.9 /usr/local/apache-maven
ENV M2_HOME /usr/local/apache-maven
ENV M2 $M2_HOME/bin
ENV PATH $M2:$PATH
ENV JAVA_HOME /usr/lib/jvm/java
ENV PATH $JAVA_HOME/bin:$PATH
RUN mkdir -p /ws && cd /ws && wget https://hackage.haskell.org/package/pandoc-1.17.0.3/pandoc-1.17.0.3.tar.gz && \
tar xvzf pandoc-1.17.0.3.tar.gz && \
mv pandoc-1.17.0.3 pandoc && \
rm pandoc-1.17.0.3.tar.gz
RUN cd /ws/pandoc && stack setup && stack install
ENV PD_HOME /ws/pandoc/.stack-work/install/x86_64-linux/lts-5.8/7.10.3/bin
ENV PATH $PD_HOME:$PATH
RUN cd /ws && git clone https://github.com/NonVolatileComputing/pmalloc.git && \
cd pmalloc && mkdir build && cd build && cmake .. && make && make install
RUN cd /ws && git clone https://github.com/pmem/nvml.git && \
cd nvml && git checkout 630862e82f && make && make install
RUN echo export MAVEN_OPTS="\" $([[ \"x\" != \"x${proxy_host}\" ]] && echo -DproxySet=\\\"true\\\" -DproxyHost=${proxy_host} -DproxyPort=${proxy_port}) \"" \
> /etc/profile.d/mvn.sh && chmod +x /etc/profile.d/mvn.sh
RUN cd /ws && git clone https://github.com/apache/incubator-mnemonic.git && \
cd incubator-mnemonic && source /etc/profile.d/mvn.sh && mvn clean package install
ENV MNEMONIC_HOME /ws/incubator-mnemonic
RUN cd /ws/incubator-mnemonic && build-tools/runall.sh
WORKDIR /ws
CMD ["bash"]