Image Specification
The following YAML file specifies the images and their included software. See the Developer Guide for more information, or the Image Dependency Graph for a diagrammatic view.
Note
Many images are based on other images, therefore software that is found in any image includes software that is found in its base image(s).
images.yaml
base:
include_this_yaml: true
template: base
description: 'base image with software commonly used by all images'
upstream:
bash: { dependents: [] }
bc: { dependents: [] }
binutils: { dependents: [root] }
clang: { dependents: [] }
cmake: { dependents: [root, ccdb, clas12root] }
curl: { dependents: [] }
davix: { dependents: [root] }
diffutils: { dependents: [] }
emacs-nox: { dependents: [] }
expac: { dependents: [] }
fish: { dependents: [] }
fmt: { dependents: [iguana, clas12-mcgen] }
fzf: { dependents: [] }
gcc-fortran: { dependents: [] }
gcc: { dependents: [] }
git-lfs: { dependents: [] }
git: { dependents: [] }
glew: { dependents: [root] }
glu: { dependents: [root] }
gradle: { dependents: [] }
groovy: { dependents: [] }
gsl: { dependents: [root] }
inetutils: { dependents: [] }
jdk21-openjdk: { dependents: [] }
jq: { dependents: [] }
libx11: { dependents: [root] }
libxext: { dependents: [root] }
libxft: { dependents: [root] }
libxpm: { dependents: [root] }
llvm: { dependents: [] }
make: { dependents: [] }
man-db: { dependents: [] }
man-pages: { dependents: [] }
mariadb-clients: { dependents: [rcdb, ccdb] }
maven: { dependents: [] }
meson: { dependents: [] }
nano: { dependents: [] }
ncdu: { dependents: [] }
ninja: { dependents: [] }
nvim: { dependents: [] }
openssl: { dependents: [root] }
patch: { dependents: [] }
pkgconf: { dependents: [] }
plocate: { dependents: [] }
python-pip: { dependents: [] }
python-sqlalchemy: { dependents: [ccdb] }
python: { dependents: [] }
ripgrep: { dependents: [] }
rsync: { dependents: [] }
ruby: { dependents: [] }
scons: { dependents: [] }
sqlite: { dependents: [rcdb, ccdb] }
tcsh: { dependents: [] }
tree: { dependents: [] }
vim: { dependents: [] }
wget: { dependents: [] }
which: { dependents: [] }
xorg-server-xvfb: { dependents: [] }
xorg-xeyes: { dependents: [] } # for graphics testing
yq: { dependents: [] }
zsh: { dependents: [] }
builds:
asprof: { version: 'v4.2', dependents: [] }
rcdb: { version: '8f797c632f1891b5efd8fc331e1ccf7a4cf7911c', semver: [['^.*$', '1.99.7']], dependents: [coatjava, iguana, clas12root] }
ccdb: { version: '1.99.6', dependents: [coatjava, clas12root] }
qadb: { version: 'v3.4.1', dependents: [clas12root] }
hipo: { version: '4.3.0', dependents: [clas12root, iguana] }
base_root:
from: base
template: build
description: 'same as `base` image, but with ROOT'
builds:
root: { version: 'v6-36-06', semver: [['^v',''], ['-','.']], dependents: [iguana, clas12root, hipo, clas12-mcgen] }
hipo: { version: '4.3.0', dependents: [iguana, clas12root] } # rebuild for ROOT-dependent libs
base_root_debug:
from: base
template: build
description: 'same as `base_root` image, but built with debugging symbols; the performance will be slower than `base_root`'
builds:
root: { version: 'v6-36-06', semver: [['^v',''], ['-','.']], dependents: [] }
hipo: { version: '4.3.0', dependents: [iguana, clas12root] } # rebuild for ROOT-dependent libs
analysis:
from: base_root
template: build
description: 'software for reconstruction and analysis'
upstream:
python-awkward: { dependents: [] }
python-matplotlib: { dependents: [] }
python-numpy: { dependents: [] }
python-pandas: { dependents: [] }
python-seaborn: { dependents: [] }
python-uproot: { dependents: [] }
python-vector: { dependents: [] }
yaml-cpp: { dependents: [iguana] }
builds:
clara: { version: 'main', dependents: [coatjava] }
clas12-config: { version: 'main', dependents: [coatjava] }
clas12root: { version: '1.9.0', dependents: [] }
coatjava: { version: '13.5.1', dependents: [] }
iguana: { version: 'v1.1.0', dependents: [] }
hipopy: { version: 'v2.0.1', dependents: [] }
simulation:
from: base_root
template: build
description: 'software for simulation'
upstream:
boost: { dependents: [geant4] }
onetbb: { dependents: [geant4] }
openmotif: { dependents: [geant4] }
qt5-base: { dependents: [geant4] }
qt5-tools: { dependents: [scons_bm] }
soqt: { dependents: [geant4] }
xerces-c: { dependents: [geant4] }
builds:
clas12-mcgen:
version: '65b3fbfa824cd58f9d04d7b631da99ee250e4779'
semver: [['^.*$', '3.18']]
dependents: []
clhep:
version: 'CLHEP_2_4_7_2'
semver: [['CLHEP_',''], ['_','.']]
dependents: [geant4, mlibrary, scons_bm, gemc]
geant4:
version: 'v10.7.4' # NOTE: version v11.x will require:
# - change upstream dependency `qt5*` -> `qt6*`
# - add build option `-D GEANT4_USE_QT_QT6=ON`, if needed
dependents: [scons_bm, mlibrary, gemc]
clas12-cmag:
version: 'v1.1'
dependents: [scons_bm, gemc]
scons_bm:
version: 'a177f194fe9494316cd26a9eed70f21714314fef'
semver: [['^.*$', '1.14']]
dependents: [mlibrary, gemc]
mlibrary:
version: 'cf4b5069b2ab0aebef9fe676a25c73850112e658'
semver: [['^.*$', '1.9']]
dependents: [gemc]
magfield:
version: '3f0f87364e7f1552bef5cc1255afbf6deba34936' # from `ceInstall`, NOT the LFS repo
semver: [['^', 'ceInstall@']]
dependents: [gemc]
gemc:
version: '5.12'
dependents: []