Skip to content

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: [] }
    clang:         { dependents: [] }
    cmake:         { dependents: [] }
    curl:          { dependents: [] }
    diffutils:     { dependents: [] }
    emacs:         { dependents: [] }
    fish:          { dependents: [] }
    gcc-fortran:   { dependents: [] }
    gcc:           { dependents: [] }
    git:           { dependents: [] }
    groovy:        { dependents: [] }
    jdk21-openjdk: { dependents: [] }
    jq:            { dependents: [] }
    julia:         { dependents: [] }
    llvm:          { dependents: [] }
    make:          { dependents: [] }
    man-db:        { dependents: [] }
    man-pages:     { dependents: [] }
    mariadb:       { dependents: [rcdb, ccdb] }
    maven:         { dependents: [] }
    meson:         { dependents: [] }
    nano:          { dependents: [] }
    ninja:         { dependents: [] }
    patch:         { dependents: [] }
    pkgconf:       { dependents: [] }
    plocate:       { dependents: [] }
    python:        { dependents: [] }
    rsync:         { dependents: [] }
    ruby:          { dependents: [] }
    scons:         { dependents: [] }
    sqlite:        { dependents: [rcdb, ccdb] }
    tcsh:          { dependents: [] }
    tree:          { dependents: [] }
    vim:           { dependents: [] }
    wget:          { dependents: [] }
    which:         { dependents: [] }
    xrootd:        { dependents: [] }
    yq:            { dependents: [] }
    zsh:           { dependents: [] }
  builds:
    rcdb: { version: v1.99.6, dependents: [coatjava, iguana, clas12root] }
    ccdb: { version: v1.99.6, dependents: [coatjava, clas12root] }
    qadb: { version: v3.1.0,  dependents: [clas12root] }
    hipo: { version: 4.2.0,   dependents: [denoise] }

base_root:
  from: base
  template: build
  description: 'same as `base` image, but with ROOT'
  upstream: # additional packages for ROOT
    binutils: { dependents: [] }
    davix:    { dependents: [] }
    glu:      { dependents: [] }
    gsl:      { dependents: [] }
    libx11:   { dependents: [] }
    libxext:  { dependents: [] }
    libxft:   { dependents: [] }
    libxpm:   { dependents: [] }
    openssl:  { dependents: [] }
  builds:
    root: { version: v6-34-04, dependents: [iguana, clas12root, hipo] }
    hipo: { version: 4.2.0,   dependents: [iguana, clas12root] } # rebuild for ROOT-dependent libs

recon:
  from: base
  template: build
  description: 'software for reconstruction'
  builds:
    clas12-config: { version: main,            dependents: [coatjava] }
    clara:         { version: main,            dependents: [coatjava] }
    coatjava:      { version: 11.1.1,          dependents: [] }
    denoise:       { version: 4.2.0,           dependents: [] }
    asprof:        { version: master,          dependents: [] }

analysis:
  from: base_root
  template: build
  description: 'software for analysis'
  upstream:
    fmt:      { dependents: [iguana] }
    yaml-cpp: { dependents: [iguana] }
  builds:
    iguana:        { version: v0.8.0,          dependents: [clas12root] }
    clas12root:    { version: 1.8.5,           dependents: [] }
    clas12-mcgen:  { version: v3.15,           dependents: [] }