Public Repository

Last pushed: 8 months ago
Short Description
CERN's ROOT analysis package, configured for use by the MAJORANA Collaboration
Full Description

Running ROOT with nut enables full GUI support inside the container. https://github.com/matthieudelaro/nut

Save the below text as nut.yml and run with nut to enable GUI support:

syntax_version: "7"
project_name: root
docker_image: buuck/root:6.08.06
enable_gui: true
macros:
run:
usage: run root in a container
actions:
- /bin/bash

Dockerfile used to generate this image:

FROM buuck/geant4:10.03.p01
MAINTAINER Micah Buuck (mbuuck@uw.edu)
WORKDIR /

#Install deps for ROOT.
RUN apt-get update && apt-get install -y git dpkg-dev cmake g++ gcc binutils \
libx11-dev libxpm-dev libxft-dev libxext-dev gfortran libssl-dev libpcre3-dev \
xlibmesa-glu-dev libglew1.5-dev libftgl-dev libmysqlclient-dev libfftw3-dev \
libcfitsio-dev graphviz-dev libavahi-compat-libdnssd-dev libldap2-dev \
python-dev libxml2-dev libkrb5-dev libgsl0-dev libqt4-dev wget

#Build ROOT
ENV ROOT_VERSION <INSERT_ROOT_VERSION_HERE>
ENV ROOT_DOWNLOAD_URL https://root.cern.ch/download/root_v$ROOT_VERSION.source.tar.gz
RUN echo ${ROOT_DOWNLOAD_URL}
RUN wget -P mjsw/mjdeps/ROOT $ROOT_DOWNLOAD_URL
RUN mkdir mjsw/mjdeps/ROOT/$ROOT_VERSION
RUN mkdir mjsw/mjdeps/ROOT/$ROOT_VERSION/src
RUN tar zxvf mjsw/mjdeps/ROOT/root_v$ROOT_VERSION.source.tar.gz -C mjsw/mjdeps/ROOT/$ROOT_VERSION/src --strip-components 1
RUN mkdir mjsw/mjdeps/ROOT/$ROOT_VERSION/build
RUN mkdir mjsw/mjdeps/ROOT/$ROOT_VERSION/install
WORKDIR mjsw/mjdeps/ROOT/$ROOT_VERSION/build
RUN cmake -DCMAKE_INSTALL_PREFIX=../install -Dgdml=ON -Dminuit2=ON -Droofit=ON ../src 2>&1 | tee cmake.log
RUN cmake --build . --target install

#Remove ROOT build files. Only useful if building with --squash.
WORKDIR /mjsw/mjdeps/ROOT/$ROOT_VERSION/build
RUN rm -rf *
WORKDIR /mjsw/mjdeps/ROOT/$ROOT_VERSION
RUN rmdir build
WORKDIR /mjsw/mjdeps/ROOT/
RUN rm root_v$ROOT_VERSION.source.tar.gz

#Set ROOT environment
ENV ROOTSYS "/mjsw/mjdeps/ROOT/<INSERT_ROOT_VERSION_HERE>/install"
ENV PATH "$ROOTSYS/bin:$PATH"
ENV LD_LIBRARY_PATH "$ROOTSYS/lib:$LD_LIBRARY_PATH"
ENV PYTHONPATH "$ROOTSYS/lib:$PYTHONPATH"

WORKDIR /
CMD /bin/bash

Docker Pull Command
Owner
buuck