@@ -288,6 +288,81 @@ RUN mkdir src &&\
288
288
rm -rf src
289
289
290
290
291
+ # ##############################################################################
292
+ # LHAPDF
293
+ #
294
+ # Needed for GENIE
295
+ #
296
+ # - We disable the python subpackage because it is based on Python2 whose
297
+ # executable has been removed from Ubuntu 22.04.
298
+ # ##############################################################################
299
+ ENV LHAPDF_VERSION="6.5.3"
300
+ LABEL lhapdf.version=${LHAPDF_VERSION}
301
+ RUN mkdir src &&\
302
+ ${__wget} https://lhapdf.hepforge.org/downloads/?f=LHAPDF-${LHAPDF_VERSION}.tar.gz |\
303
+ ${__untar} &&\
304
+ cd src &&\
305
+ ./configure --disable-python --prefix=${__prefix} &&\
306
+ make -j$NPROC install &&\
307
+ cd ../ &&\
308
+ rm -rf src
309
+
310
+ # ##############################################################################
311
+ # GENIE
312
+ #
313
+ # Needed for ... GENIE :)
314
+ #
315
+ # - GENIE looks in ${ROOTSYS}/lib for various ROOT libraries it depends on.
316
+ # This is annoying because root installs its libs to ${ROOTSYS}/lib/root
317
+ # when the gnuinstall parameter is ON. We fixed this by forcing ROOT to
318
+ # install its libs to ${ROOTSYS}/lib even with gnuinstall ON.
319
+ # - liblog4cpp5-dev from the Ubuntu 22.04 repos seems to be functional
320
+ # - GENIE's binaries link to pythia6 at runtime so we need to add the pythia6
321
+ # library directory into the linker cache
322
+ # - GENIE reads its configuration from files written into its source tree
323
+ # (and not installed), so we need to keep its source tree around
324
+ #
325
+ # Some errors from the build configuration
326
+ # - The 'quota: not found' error can be ignored. It is just saving a snapshot
327
+ # of the build environment.
328
+ # - The 'cant exec git' error is resolved within the perl script which
329
+ # deduces the version from the files in the .git directory if git is
330
+ # not installed.
331
+ # ##############################################################################
332
+
333
+ # See https://github.com/LDMX-Software/docker/pull/48
334
+ #
335
+ # Note that libgsl-dev needs to be available already when building ROOT to build
336
+ # GENIE
337
+ RUN install-ubuntu-packages \
338
+ liblog4cpp5-dev \
339
+ libtool
340
+
341
+
342
+ ENV GENIE_VERSION=3.02.00
343
+ # ENV GENIE_REWEIGHT_VERSION=1_02_00
344
+ ENV GENIE=/usr/local/src/GENIE/Generator
345
+ # ENV GENIE_DOT_VERSION="$(sed 's,_,\.,g' <<< $GENIE_VERSION )"
346
+ LABEL genie.version=${GENIE_VERSION}
347
+
348
+ RUN mkdir -p ${GENIE} &&\
349
+ export ENV GENIE_GET_VERSION="$(echo ${GENVIE_VERSION} | sed 's,\. ,_,g')" &&\
350
+ ${__wget} https://github.com/GENIE-MC/Generator/archive/refs/tags/R-${GENIE_GET_VERSION}.tar.gz |\
351
+ ${__untar_to} ${GENIE} &&\
352
+ cd ${GENIE} &&\
353
+ ./configure \
354
+ --enable-lhapdf6 \
355
+ --disable-lhapdf5 \
356
+ --enable-gfortran \
357
+ --with-gfortran-lib=/usr/x86_64-linux-gnu/ \
358
+ --disable-pythia8 \
359
+ --with-pythia6-lib=${__prefix}/pythia6 \
360
+ --enable-test \
361
+ && \
362
+ make -j$NPROC && \
363
+ make -j$NPROC install
364
+
365
+
291
366
# ##############################################################################
292
367
# Catch2
293
368
# ##############################################################################
0 commit comments