Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 27 additions & 41 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,42 +18,13 @@ RUN chmod +x /usr/local/bin/install-ubuntu-packages
# Ongoing documentation for packages used is in docs/ubuntu-packages.md
# Basic OS/System tools
RUN install-ubuntu-packages \
autoconf \
automake \
binutils \
cmake \
curl\
gcc g++ gfortran \
locales \
make \
wget

# Packages necessary for Distrobox support
RUN install-ubuntu-packages \
apt-utils \
bc \
dialog \
diffutils \
findutils \
fish \
gnupg2 \
less \
libnss-myhostname \
libvte-2.9[0-9]-common \
libvte-common \
lsof \
ncurses-base \
passwd \
pinentry-curses \
procps \
sudo \
time \
util-linux \
zsh \
libx11-dev \
libxmu-dev \
&& rm -rf /var/lib/apt/lists/*

# Basic python support, necessary for the build steps.
#
# Note: If you want to add additional python packages, you probably want to do
Expand Down Expand Up @@ -167,7 +138,7 @@ RUN install-ubuntu-packages \
libz-dev \
libzstd-dev \
srm-ifce-dev \
libgsl-dev # Necessary for GENIE
libgsl-dev

ENV ROOT_VERSION="6.34.04"
LABEL root.version=${ROOT_VERSION}
Expand Down Expand Up @@ -195,7 +166,8 @@ RUN mkdir src &&\
rm -rf build src &&\
ldconfig
ENV ROOTSYS=${__prefix}
ENV PYTHONPATH=${ROOTSYS}/lib:${PYTHONPATH}
# first instance of PYTHONPATH, so no appending
ENV PYTHONPATH=${ROOTSYS}/lib
ENV CLING_STANDARD_PCH=none

###############################################################################
Expand Down Expand Up @@ -268,7 +240,6 @@ RUN mkdir src &&\

###############################################################################
# Install HEPMC for use as in interface with GENIE
#
###############################################################################
ENV HEPMC3=3.3.0
LABEL hepmc3.version="${HEPMC3}"
Expand Down Expand Up @@ -318,8 +289,7 @@ RUN mkdir src &&\
# Note that libgsl-dev needs to be available already when building ROOT
# so that the MathMore target can be build which is used by GENIE
RUN install-ubuntu-packages \
liblog4cpp5-dev \
libtool
liblog4cpp5-dev

LABEL genie.version=3.04.02
ENV GENIE_VERSION=3_04_02-ldmx
Expand Down Expand Up @@ -360,7 +330,7 @@ RUN mkdir -p ${GENIE_REWEIGHT} &&\
###############################################################################
# Catch2
###############################################################################
ENV CATCH2_VERSION="3.3.1"
ENV CATCH2_VERSION="3.8.0"
LABEL catch2.version=${CATCH2_VERSION}
RUN mkdir -p src &&\
${__wget} https://github.com/catchorg/Catch2/archive/refs/tags/v${CATCH2_VERSION}.tar.gz |\
Expand Down Expand Up @@ -415,6 +385,28 @@ RUN set -x ;\
install -D -m 0644 -t ${__prefix}/include src/include/* &&\
rm -rf src

# Dependencies for LDMX-sw and/or the container environment
RUN install-ubuntu-packages \
ca-certificates \
clang-format \
libboost-all-dev \
libssl-dev

###############################################################################
# Acts
###############################################################################
ENV ACTS_VERSION="36.0.0"
LABEL acts.version=${ACTS_VERSION}
RUN mkdir -p src &&\
${__wget} https://github.com/acts-project/acts/archive/refs/tags/v${ACTS_VERSION}.tar.gz |\
${__untar} &&\
cmake \
-DCMAKE_CXX_STANDARD=20 \
-B src/build \
-S src &&\
cmake --build src/build --target install &&\
rm -rf src

###############################################################################
# Generate the linker cache
# This should go AFTER all compiled dependencies so that the ld cache
Expand All @@ -431,12 +423,6 @@ RUN ldconfig -v
COPY ./python_packages.txt /etc/python_packages.txt
RUN python3 -m pip install --no-cache-dir --break-system-packages --requirement /etc/python_packages.txt

# Dependencies for LDMX-sw and/or the container environment
RUN install-ubuntu-packages \
ca-certificates \
clang-format \
libboost-all-dev \
libssl-dev

# Optional tools and developer utilities
#
Expand Down
Loading