FROM docker.km3net.de/base/centos:7
 MAINTAINER Vladimir Kulikovskiy <vkulikovskiy@km3net.de>

 RUN yum install -y man sed cygpath grep test && yum clean -y all
 RUN yum install -y csh tar vim zsh && yum clean -y all
 RUN yum install -y compat-gcc-34-g77 flex pakchois boost-devel rpmdevtools && yum clean -y all
 RUN yum install -y bzip2-devel gzip && yum clean -y all
 RUN yum install -y fftw-devel libgpg-error libproxy openssh-server && yum clean -y all
 RUN yum install -y gtk2-devel libX11  libX11-common libX11-devel libXext libXext-devel libXft libXft-devel libXpm libXpm-devel && yum clean -y all

 RUN curl -L http://proj-clhep.web.cern.ch/proj-clhep/DISTRIBUTION/tarFiles/clhep-2.2.0.8-x86_64-cc7-gcc48-opt.tgz > clhep.tgz && tar -C /usr/local/ --strip-components=1 -xvzf clhep.tgz

 RUN yum install -y centos-release-scl
 RUN yum install -y rh-python36
 RUN echo 'export LD_LIBRARY_PATH=/opt/rh/rh-python36/root/usr/lib64:$LD_LIBRARY_PATH' >> /etc/profile.d/python36.sh
 RUN echo "export X_SCLS=rh-python36" >> /etc/profile.d/python36.sh
 RUN echo 'export PATH=/opt/rh/rh-python36/root/usr/bin:$PATH' >> /etc/profile.d/python36.sh
 RUN echo 'export XDG_DATA_DIRS=/opt/rh/rh-python36/root/usr/share:/usr/local/share:/usr/share' >> /etc/profile.d/python36.sh
 RUN echo 'export PKG_CONFIG_PATH=/opt/rh/rh-python36/root/usr/lib64/pkgconfig' >> /etc/profile.d/python36.sh
 RUN source /etc/profile.d/python36.sh && pip install -U pip setuptools

 RUN wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
 RUN rpm -ivh epel-release-latest-7.noarch.rpm
 RUN yum install -y cmake3
 RUN rm -rf epel-release-latest-7.noarch.rpm

 RUN yum install -y log4cpp log4cpp-devel libxml2 libxml2-devel gsl gsl-devel
#lhapdf
 RUN source /etc/profile.d/python36.sh && cd / && \
    curl -L https://lhapdf.hepforge.org/downloads/\?f\=LHAPDF-6.1.6.tar.gz > LHAPDF-6.1.6.tar.gz && \
    tar xzvf LHAPDF-6.1.6.tar.gz && cd LHAPDF-6.1.6 && \
    ./configure --prefix=/usr/local && make && make install
    
#Pythia 6.4.28 (using script in GENIE)
#https://root-forum.cern.ch/t/root-with-pythia6-and-pythia8/19211/4
 RUN source /etc/profile.d/python36.sh && cd / && wget https://root.cern.ch/download/pythia6.tar.gz && \
    tar zxvf pythia6.tar.gz && rm -rf pythia6.tar.gz && \
    wget --no-check-certificate http://www.hepforge.org/archive/pythia6/pythia-6.4.28.f.gz && \
    gzip -d pythia-6.4.28.f.gz && mv pythia-6.4.28.f pythia6/pythia6428.f && rm -rf pythia6/pythia6416.f && \
    mv pythia6 pythia6428 && cd pythia6428 && \
    ./makePythia6.linuxx8664 && echo "export PYTHIA6=/pythia6428" > /etc/profile.d/genie.sh

 #ROOT6
 RUN source /etc/profile.d/python36.sh && source /etc/profile.d/genie.sh && cd / && rm -rf /usr/local/root && \
    export ROOT_VERSION=6.14.06 && \
    cd /tmp && \
    wget https://root.cern.ch/download/root_v$ROOT_VERSION.source.tar.gz && \
    tar xvzf root_v$ROOT_VERSION.source.tar.gz && cd root-$ROOT_VERSION && \
    mkdir obj && cd obj && \
    cmake3 .. -Dpythia6=ON -DPYTHIA6_LIBRARY=/pythia6428/libPythia6.so && \
    make && \
    cd .. && \
    mv obj /opt/root-$ROOT_VERSION && \
    rm -rf /tmp/root* && \
    echo "cd /opt/root-$ROOT_VERSION && source bin/thisroot.sh && cd -" >> /etc/profile.d/root_env.sh && cd
 
#Now we are going to install GENIE-HEDIS (needed for gSeaGen)
#it looks for libgfortran in /usr/lib64, otherwise linking will fail
 RUN ln -s /lib64/libgfortran.so.3 /usr/lib64/libgfortran.so

 RUN cd / && mkdir genie && cd genie && \
    git clone -b km3net https://github.com/pochoarus/GENIE-HEDIS.git genie_generator && \
    cd genie_generator && mkdir install && \
    echo "export GENIE=/genie/genie_generator" >> /etc/profile.d/genie.sh && \
    echo 'export PATH=$PATH:$GENIE/bin' >> /etc/profile.d/genie.sh && \
    echo 'if [ -z "$LD_LIBRARY_PATH" ]; then export LD_LIBRARY_PATH=$GENIE/lib; else LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$GENIE/lib; fi' >> /etc/profile.d/genie.sh && \
    source /etc/profile.d/root_env.sh && source /etc/profile.d/genie.sh && cd $GENIE && \
    ./configure --prefix=${GENIE}/install --enable-geom-drivers --enable-flux-drivers && \
    make && make install
    
#Download the tune for KM3NeT low energy
 RUN cd /genie/genie_generator && \
    wget -q https://scisoft.fnal.gov/scisoft/packages/genie_xsec/v3_00_02/genie_xsec-3.00.02-noarch-G1802a00000-k500-e1000.tar.bz2 && \
    bzip2 -d genie_xsec-3.00.02-noarch-G1802a00000-k500-e1000.tar.bz2 && \
    tar -xvf genie_xsec-3.00.02-noarch-G1802a00000-k500-e1000.tar && \
    rm genie_xsec-3.00.02-noarch-G1802a00000-k500-e1000.tar && \
    source /etc/profile.d/genie.sh && \
    export GXMLPATH=$GENIE/genie_xsec/v3_00_02/NULL/G1802a00000-k500-e1000/data && \
    cp $GENIE/config/Messenger_laconic.xml $GXMLPATH/Messenger.xml && \
    cp $GENIE/config/UnstableParticleDecayer.xml $GXMLPATH && \
    echo "export GXMLPATH=$GENIE/genie_xsec/v3_00_02/NULL/G1802a00000-k500-e1000/data" >> /etc/profile.d/genie.sh

#Now we are going to install GENIE-Reweight (needed for gSeaGen)
 RUN cd /genie && \
    git clone -b R-1_00_00 https://github.com/GENIE-MC/Reweight.git genie_reweight && \
    cd genie_reweight && \
    echo "export GENIE_REWEIGHT=/genie/genie_reweight" >> /etc/profile.d/genie.sh && \
    source /etc/profile.d/root_env.sh && source /etc/profile.d/genie.sh && cd /genie/genie_reweight \
    ./configure && make && make install