Back to home page

sPhenix code displayed by LXR

 
 

    


Warning, /JETSCAPE/docker/Dockerfile_root6-18-04_hepmc3-1-1.base is written in an unsupported language. File is not indexed.

0001 # Build from the official docker python base image, based on Debian
0002 FROM debian:stable 
0003 
0004 # Install pre-reqs (commented ones are already in base image)
0005 RUN apt update && apt install -y \
0006 doxygen \
0007 emacs \
0008 ffmpeg \
0009 gsl-bin \ 
0010 hdf5-tools \
0011 less \
0012 libboost-all-dev \
0013 libeigen3-dev \
0014 libgsl-dev \
0015 libhdf5-serial-dev \
0016 libxpm-dev \
0017 openmpi-bin \
0018 rsync \
0019 swig \
0020 valgrind \
0021 git \
0022 vim \
0023 build-essential \
0024 cmake \
0025 wget \
0026 curl \
0027 tclsh \
0028 libxft-dev \
0029 libxext-dev \
0030 #zlib1g-dev \
0031 && rm -rf /var/lib/apt/lists/*
0032 
0033 RUN apt update && apt install -y python3-pip
0034 
0035 # Install additional useful python packages
0036 RUN pip3 install --upgrade pip \
0037 && pip3 install \
0038 emcee==2.2.1 \
0039 h5py \
0040 hic \
0041 hsluv \
0042 jupyter \
0043 matplotlib \
0044 nbdime \
0045 numpy \
0046 pandas \
0047 pathlib \
0048 ptemcee \
0049 pyhepmc \
0050 pyyaml \
0051 scikit-learn \
0052 scipy \
0053 seaborn \
0054 tqdm
0055 
0056 # We need cmake >= 3.13.5 for the analysis package heppy
0057 # RUN cd /opt \
0058 # && wget https://github.com/Kitware/CMake/releases/download/v3.17.0/cmake-3.17.0-Linux-x86_64.sh \
0059 # && echo "y" | bash ./cmake-3.17.0-Linux-x86_64.sh \
0060 # && ln -s /opt/cmake-3.17.0-Linux-x86_64/bin/* /usr/local/bin
0061 
0062 # Install ROOT6 v6-18-04 from source
0063 ENV ROOTSYS="/usr/local/root"
0064 ENV PATH="${ROOTSYS}/bin:${PATH}"
0065 ENV LD_LIBRARY_PATH="${ROOTSYS}/lib:${LD_LIBRARY_PATH}"
0066 ENV PYTHONPATH="${ROOTSYS}/lib"
0067 RUN mkdir -p ${ROOTSYS} && mkdir -p ${HOME}/root && cd ${HOME}/root \
0068 && git clone --branch v6-18-04 --depth=1 https://github.com/root-project/root.git src \
0069 && mkdir build && cd build \
0070 && cmake ../src -DCMAKE_INSTALL_PREFIX=${ROOTSYS} \
0071 && make -j8 install \
0072 && rm -r ${HOME}/root
0073 
0074 # Install HepMC 3.1.1
0075 RUN curl -SL http://hepmc.web.cern.ch/hepmc/releases/HepMC3-3.1.1.tar.gz | tar -xvzC /usr/local \
0076 && cd /usr/local \
0077 && mkdir hepmc3-build \
0078 && cd hepmc3-build \
0079 && cmake ../HepMC3-3.1.1 -DCMAKE_INSTALL_PREFIX=/usr/local -DHEPMC3_ENABLE_ROOTIO=ON -DROOT_DIR=${ROOTSYS} -DHEPMC3_BUILD_EXAMPLES=ON \
0080 && make -j8 install \
0081 && rm -r /usr/local/hepmc3-build
0082 ENV LD_LIBRARY_PATH="/usr/local/lib:${LD_LIBRARY_PATH}"
0083 
0084 # Install Pythia8 with HepMC3-3.1.1 (that is needed by SMASH)
0085 ARG pythiaV="8307"
0086 RUN curl -SLk http://pythia.org/download/pythia83/pythia${pythiaV}.tgz \
0087 | tar -xvzC /usr/local \
0088 && cd /usr/local/pythia${pythiaV} \
0089 && ./configure --enable-shared --prefix=/usr/local/ --with-hepmc3=/usr/local/HepMC3-3.1.1 \
0090 && make -j8 \
0091 && make -j8 install
0092 
0093 # Set environmental variables for cmake to know where things are (needed for SMASH, heppy)
0094 ARG username=jetscape-user
0095 ENV JETSCAPE_DIR="/home/${username}/JETSCAPE"
0096 ENV SMASH_DIR="${JETSCAPE_DIR}/external_packages/smash/smash_code"
0097 ENV EIGEN3_ROOT /usr/include/eigen3
0098 ENV PYTHIA8DIR /usr/local/
0099 ENV PYTHIA8_ROOT_DIR /usr/local/
0100 ENV PATH $PATH:$PYTHIA8DIR/bin
0101 
0102 # Build heppy (various HEP tools via python)
0103 # RUN git clone https://github.com/matplo/heppy.git \
0104 # && cd heppy \
0105 # && ./external/fastjet/build.sh \
0106 # && ./external/lhapdf6/build.sh \
0107 # && ./external/hepmc2/build.sh \
0108 # && ./cpptools/build.sh
0109 
0110 # Install environment modules
0111 # RUN curl -SLk https://sourceforge.net/projects/modules/files/Modules/modules-4.5.1/modules-4.5.1.tar.gz \
0112 # | tar -xvzC /usr/local \
0113 # && cd /usr/local/modules-4.5.1 \
0114 # && ./configure --prefix=/usr/local --modulefilesdir=/heppy/modules \
0115 # && make -j8 \
0116 # && make -j8 install
0117 
0118 # To load heppy, from inside the container:
0119 # source /usr/local/init/profile.sh
0120 # module load heppy/1.0
0121 
0122 # Set up a user group
0123 ARG id=1234
0124 RUN groupadd -g ${id} ${username} \
0125 && useradd --create-home --home-dir /home/${username} -u ${id} -g ${username} ${username}
0126 USER ${username}
0127 ENV HOME /home/${username}
0128 WORKDIR ${HOME}
0129 
0130 ENTRYPOINT /bin/bash