Skip to content

Commit 89997a0

Browse files
Include Acts, Bump Catch2, Don't use PYTHONPATH too early (#115)
* bump Catch2 version * dont append PYTHONPATH when it hasn't been defined yet * build Acts after Eigen * build acts AFTER installing boost * remove some packages that are not needed anymore autoconf, automake, and libtool are build dependencies of log4cpp which we aren't building anymore curl and the distrobox support packages are not needed since distrobox can install these packages itself when creating a box from an image
1 parent a044b95 commit 89997a0

File tree

1 file changed

+27
-41
lines changed

1 file changed

+27
-41
lines changed

Dockerfile

Lines changed: 27 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -18,42 +18,13 @@ RUN chmod +x /usr/local/bin/install-ubuntu-packages
1818
# Ongoing documentation for packages used is in docs/ubuntu-packages.md
1919
# Basic OS/System tools
2020
RUN install-ubuntu-packages \
21-
autoconf \
22-
automake \
2321
binutils \
2422
cmake \
25-
curl\
2623
gcc g++ gfortran \
2724
locales \
2825
make \
2926
wget
3027

31-
# Packages necessary for Distrobox support
32-
RUN install-ubuntu-packages \
33-
apt-utils \
34-
bc \
35-
dialog \
36-
diffutils \
37-
findutils \
38-
fish \
39-
gnupg2 \
40-
less \
41-
libnss-myhostname \
42-
libvte-2.9[0-9]-common \
43-
libvte-common \
44-
lsof \
45-
ncurses-base \
46-
passwd \
47-
pinentry-curses \
48-
procps \
49-
sudo \
50-
time \
51-
util-linux \
52-
zsh \
53-
libx11-dev \
54-
libxmu-dev \
55-
&& rm -rf /var/lib/apt/lists/*
56-
5728
# Basic python support, necessary for the build steps.
5829
#
5930
# Note: If you want to add additional python packages, you probably want to do
@@ -167,7 +138,7 @@ RUN install-ubuntu-packages \
167138
libz-dev \
168139
libzstd-dev \
169140
srm-ifce-dev \
170-
libgsl-dev # Necessary for GENIE
141+
libgsl-dev
171142

172143
ENV ROOT_VERSION="6.34.04"
173144
LABEL root.version=${ROOT_VERSION}
@@ -195,7 +166,8 @@ RUN mkdir src &&\
195166
rm -rf build src &&\
196167
ldconfig
197168
ENV ROOTSYS=${__prefix}
198-
ENV PYTHONPATH=${ROOTSYS}/lib:${PYTHONPATH}
169+
# first instance of PYTHONPATH, so no appending
170+
ENV PYTHONPATH=${ROOTSYS}/lib
199171
ENV CLING_STANDARD_PCH=none
200172

201173
###############################################################################
@@ -268,7 +240,6 @@ RUN mkdir src &&\
268240

269241
###############################################################################
270242
# Install HEPMC for use as in interface with GENIE
271-
#
272243
###############################################################################
273244
ENV HEPMC3=3.3.0
274245
LABEL hepmc3.version="${HEPMC3}"
@@ -318,8 +289,7 @@ RUN mkdir src &&\
318289
# Note that libgsl-dev needs to be available already when building ROOT
319290
# so that the MathMore target can be build which is used by GENIE
320291
RUN install-ubuntu-packages \
321-
liblog4cpp5-dev \
322-
libtool
292+
liblog4cpp5-dev
323293

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

388+
# Dependencies for LDMX-sw and/or the container environment
389+
RUN install-ubuntu-packages \
390+
ca-certificates \
391+
clang-format \
392+
libboost-all-dev \
393+
libssl-dev
394+
395+
###############################################################################
396+
# Acts
397+
###############################################################################
398+
ENV ACTS_VERSION="36.0.0"
399+
LABEL acts.version=${ACTS_VERSION}
400+
RUN mkdir -p src &&\
401+
${__wget} https://github.com/acts-project/acts/archive/refs/tags/v${ACTS_VERSION}.tar.gz |\
402+
${__untar} &&\
403+
cmake \
404+
-DCMAKE_CXX_STANDARD=20 \
405+
-B src/build \
406+
-S src &&\
407+
cmake --build src/build --target install &&\
408+
rm -rf src
409+
418410
###############################################################################
419411
# Generate the linker cache
420412
# This should go AFTER all compiled dependencies so that the ld cache
@@ -431,12 +423,6 @@ RUN ldconfig -v
431423
COPY ./python_packages.txt /etc/python_packages.txt
432424
RUN python3 -m pip install --no-cache-dir --break-system-packages --requirement /etc/python_packages.txt
433425

434-
# Dependencies for LDMX-sw and/or the container environment
435-
RUN install-ubuntu-packages \
436-
ca-certificates \
437-
clang-format \
438-
libboost-all-dev \
439-
libssl-dev
440426

441427
# Optional tools and developer utilities
442428
#

0 commit comments

Comments
 (0)