# -*- YAML -*-
# This is a Spack Environment file.
#
# It describes a set of packages to be installed, along with
# configuration settings.
spack:
  definitions:
  - compiler: [gcc@11]
  specs:
  - 'graphviz+pangocairo'
  - plantuml
  - py-breathe
  - 'py-sphinx@8:'
  - py-sphinx-design
  - py-sphinx-toolbox
  - py-sphinxcontrib-jquery
  - 'py-sphinxcontrib-moderncmakedomain@3.25:'
  - py-sphinxcontrib-plantuml
  view:
    default:
      root: .spack-env/view/default
      link_type: symlink
      link: all
  concretizer:
    reuse:
      from:
      - type: local
      - type: external
    targets:
      granularity: generic
    unify: true
  packages:
    all:
      providers:
        'libc:':
        - glibc
        'zlib-api:':
        - zlib
      variants:
        - generator=ninja
    abseil-cpp:
      require:
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    art:
      require:
      - '@=develop'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    artdaq-core:
      require:
      - '@v3_10_03'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    art-root-io:
      require:
      - '@=develop'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    assimp:
      require:
      - '%gcc@11'
    automake:
      require:
      - '%gcc@11'
    binutils:
      require:
      - '+gas+gold+headers+ld+lto+plugins'
      - '%gcc@11'
      - '@2.39:2'
    bazel:
      require:
      - '@5.2.0:'
    bison:
      require:
      - '%gcc@11'
    boost:
      require:
      - '+atomic+chrono+exception+filesystem+iostreams+json+math+python+serialization+stacktrace+test+thread'
      - '%gcc@11'
    cairo:
      require:
      - '+X+gobject+png'
      - '%gcc@11'
    canvas:
      require:
      - '@=develop'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    canvas-root-io:
      require:
      - '@=develop'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    catch2:
      require:
      - build_type=Release
      - '%gcc@11'
    cetlib:
      require:
      - '@=develop'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    cetlib-except:
      require:
      - '@=develop'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    cetmodules:
      require:
      - '@=develop'
      - build_type=Release
      - >-
        ^cmake @3.27: ~ownlibs build_type=Release %gcc@11
    clhep:
      require:
      - '@=2.4.7.1'
      - build_type=Release
      - '%gcc@11'
      - cxxstd=17
    critic:
      require:
      - '@=develop'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    cry:
      require:
      - '@=1.7'
      - '%gcc@11'
    curl:
      require:
      - '%gcc@11'
    diffutils:
      require:
      - '%gcc@11'
    doxygen:
      require:
      - build_type=Release
      - '%gcc@11'
    fftw-api:
      require:
      - fftw
    fftw:
      require:
      - '~mpi+openmp'
      - '%gcc@11'
    fhicl-cpp:
      require:
      - '@=develop'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    flex:
      require:
      - '%gcc@11'
    fmt:
      require:
      - spec: '@:8.1.1'
    fontconfig:
      require:
      - '%gcc@11'
    freetype:
      require:
      - '%gcc@11'
    ftgl:
      require:
      - build_type=Release
      - '%gcc@11'
    gallery:
      require:
      - '@=develop'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    gawk:
      require:
      - '%gcc@11'
    gcc:
      require:
      - '+binutils+bootstrap+graphite+profiled+strip~nvptx'
      - build_type=Release
      - languages=c,c++,fortran,lto
    gdb:
      require:
      - '%gcc@11'
    geant4:
      require:
      - '@11.3.0'
      - build_type=Release
      - '%gcc@11'
      - cxxstd=17
      - '^[virtuals=qmake] qt'
    geant4-data:
      require:
      - '%gcc@11'
    git:
      require:
      - '%gcc@11'
      - '@2.45.1:'
    gl2ps:
      require:
      - '%gcc@11'
    glew:
      require:
      - '@2.2.0:2'
      - '%gcc@11'
    glproto:
      require:
      - '%gcc@11'
    glx:
      require:
      - '%gcc@11'
    gmake:
      require:
      - '%gcc@11'
    gmp:
      require:
      - '%gcc@11'
    gobject-introspection:
      require:
      - '%gcc@11'
      - build_system=autotools
    gsl:
      require:
      - '%gcc@11'
    grpc:
      require:
      - '@=1.35.0'
      - '%gcc@11'
    harfbuzz:
      require:
      - '%gcc@11'
    hep-concurrency:
      require:
      - '@=develop'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    hwloc:
      require:
      - '@2.0.1:'
      - '%gcc@11'
    icu4c:
      require:
      - '%gcc@11'
    ifbeam:
      require:
      - '@=2.5.23'
      - '%gcc@11'
    intel-oneapi-tbb:
      require:
      - '%gcc@11'
    ifdh-art:
      require:
      - '@=2.18.00'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    ifdhc:
      require:
      - '@=2.6.20'
      - '%gcc@11'
    ifdhc-config:
      require:
      - '@=2.6.20'
      - '%gcc@11'
    intel-tbb-oneapi:
      buildable: false
    isl:
      require:
      - '%gcc@11'
    json-c:
      require:
      - '%gcc@11'
    jsoncpp:
      require:
      - '@=1.9.5'
      - build_system=meson
      - '%gcc@11'
    larana:
      require:
      - '@=09.15.05'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    larcore:
      require:
      - '@=09.11.01'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    larcorealg:
      require:
      - '@=09.13.01'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    larcoreobj:
      require:
      - '@=09.10.01'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    lardata:
      require:
      - '@=09.16.03'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    lardataalg:
      require:
      - '@=09.17.03'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    lardataobj:
      require:
      - '@=09.18.03'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    lareventdisplay:
      require:
      - '@=09.11.05'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    larevt:
      require:
      - '@=09.10.03'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    larexamples:
      require:
      - '@=09.09.05'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    larg4:
      require:
      - '@=09.19.03'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    larpandora:
      require:
      - '@=09.22.05'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    larpandoracontent:
      require:
      - '@=04.08.01'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    larreco:
      require:
      - '@=09.25.00'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    larrecodnn:
      require:
      - '@=09.23.00'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    larsim:
      require:
      - '@=09.43.00'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    larsimdnn:
      require:
      - '@=09.06.05'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    larsimrad:
      require:
      - '@=09.09.05'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    larsoft:
      require:
      - '@=09.90.01'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    larsoftobj:
      require:
      - build_type=Release
      - '@=09.35.03'
      - '%gcc@11'
    larwirecell:
      require:
      - '@=09.18.04'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    libarchive:
      require:
      - '%gcc@11'
      - 'crypto=openssl'
    libedit:
      require:
      - '%gcc@11'
    libffi:
      require:
      - '%gcc@11'
      - '@:3.3'
    libice:
      require:
      - '%gcc@11'
    libjpeg-turbo:
      require:
      - '%gcc@11'
    libmng:
      require:
      - '%gcc@11'
    libpng:
      require:
      - '%gcc@11'
    libsm:
      require:
      - '%gcc@11'
    libtiff:
      require:
      - '%gcc@11'
    libtool:
      require:
      - '%gcc@11'
    libunwind:
      require:
      - '%gcc@11'
    libuv:
      require:
      - '%gcc@11'
    libx11:
      require:
      - '%gcc@11'
    libxcb:
      require:
      - '%gcc@11'
    libxext:
      require:
      - '%gcc@11'
    libxft:
      require:
      - '%gcc@11'
    libxml2:
      require:
      - '%gcc@11'
    libxpm:
      require:
      - '%gcc@11'
    libxt:
      require:
      - '%gcc@11'
    llvm:
      require:
      - '+flang+mlir+z3'
      - one_of: ['+zstd']
        when: '@15:'
      - build_type=Release
    lz4:
      require:
      - '%gcc@11'
    marley:
      require:
      - '@=1.2.1'
      - '%gcc@11'
    mesa:
      require:
      - '~llvm'
      - '%gcc@11'
    mesa-glu:
      require:
      - '%gcc@11'
    meson:
      require:
      - '@1.0.0:'
      - '%gcc@11'
    messagefacility:
      require:
      - '@=develop'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    m4:
      require:
      - '%gcc@11'
    mpc:
      require:
      - '%gcc@11'
    mpfr:
      require:
      - '%gcc@11'
    nasm:
      require:
      - '%gcc@11'
    ncurses:
      require:
      - '%gcc@11'
    nghttp:
      require:
      - '%gcc@11'
    ninja:
      require:
      - '%gcc@11'
    nlohmann-json:
      require:
      - '@3.11.2:'
      - '%gcc@11'
    nucondb:
      require:
      - '@=2.5.23'
      - '%gcc@11'
      - 'cxxstd=17'
      
    nug4:
      require:
      - '@=1.16.06'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    nugen:
      require:
      - '@=1.20.07'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    nurandom:
      require:
      - '@=1.11.05'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    nusimdata:
      require:
      - '@=1.28.06'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    nutools:
      require:
      - '@=3.16.06'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    openblas:
      require:
      - 'threads=openmp'
      - '%gcc@11'
    openssl:
      buildable: false
      require:
      - '%gcc@11'
    patchelf:
      require:
      - '@0.16.1:'
      - '%gcc@11'
    pcre:
      require:
      - '%gcc@11'
    pcre2:
      require:
      - '%gcc@11'
    perl:
      require:
      - '+open+opcode'
      - '%gcc@11'
    perl-data-dumper:
      require:
      - '%gcc@11'
    pkg-config:
      require:
      - '%gcc@11'
    pkgconfig:
      require:
      -  pkg-config
    postgresql:
      require:
      - '+client_only+gssapi+perl+threadsafe+xml'
      - '%gcc@11'
    protobuf:
      require:
      - '@3.21.12:3.21'
      - build_type=Release
      - '%gcc@11'
    py-mako:
      require:
      - '%gcc@11'
    py-pip:
      require:
      - '%gcc@11'
    py-pybind11:
      require:
      - '%gcc@11'
    py-setuptools:
      require:
      - '%gcc@11'
    py-sphinx:
      require:
      - '%gcc@11'
    py-sphinx-design:
      require:
      - '%gcc@11'
    py-sphinx-toolbox:
      require:
      - '%gcc@11'
    py-sphinxcontrib-jquery:
      require:
      - '%gcc@11'
    py-sphinxcontrib-moderncmakedomain:
      require:
      - '%gcc@11'
    py-urllib3:
      require:
      # py-urllib3@2: requires openssl@1.1: at runtime.
      - spec: '@:1'
        when: os=scientific7
    py-sympy:
      require:
      - spec: '@1:'
    py-torch:
      require:
      - '@=2.1.1'
      - '~cuda'
      - '%gcc@11'
    py-tensorflow:
      require:
      - '@=2.15.0'
      - '~cuda'
      - '%gcc@11'
    py-wheel:
      require:
      - '%gcc@11'
    pythia8:
      require:
      - '%gcc@11'
    python:
      require:
      - '@3.10'
      - '%gcc@11'
    qmake:
      require:
      - 'builtin.qt'
    qt:
      require:
      - '+gui'
      - '@5.15.9:'
      - '%gcc@11'
    qt-base:
      require:
      - '%gcc@11'
    range-v3:
      require:
      - '~doc'
      - '%gcc@11'
    rhash:
      require:
      - '%gcc@11'
    root:
      require:
      - '~davix+emacs+fftw+http+math+mlp+opengl+postgres+root7+spectrum+sqlite+ssl+tmva+tmva-pymva+tmva-sofie+webgui+x+xrootd'
      - '@6.32.06'
      - build_type=Release
      - '%gcc@11'
      - 'cxxstd=17'
      
    rust:
      require:
       - '%gcc@11'
    scitokens-cpp:
      require:
      - build_type=Release
      - '%gcc@11'
    spdlog:
      require:
      - '@=1.9.2'
      - build_type=Release
      - '%gcc@11'
    sqlite:
      require:
      - '%gcc@11'
    tbb:
      require:
      - 'builtin.intel-oneapi-tbb'
    texinfo:
      require:
      - '%gcc@11'
    trace:
      require:
      - '@v3_17_11'
      - build_type=Release
      - '+mf~kmod'
      - '%gcc@11'
      
    triton:
      require:
      - '@23.09'
      - generator=make
      - '%gcc@11'
    unuran:
      require:
      - '%gcc@11'
    valgrind:
      require:
      - '%gcc@11'
    vdt:
      require:
      - '%gcc@11'
    veccore:
      require:
      - '@0.8.1:'
      - build_type=Release
      - '%gcc@11'
    vecgeom:
      require:
      - '@1.2.2:'
      - build_type=Release
      - '~gdml~geant4'
      - '%gcc@11'
    xerces-c:
      require:
      - 'transcoder=icu'
      - '%gcc@11'
    xextproto:
      require:
      - '%gcc@11'
    xproto:
      require:
      - '%gcc@11'
    xrandr:
      require:
      - '%gcc@11'
    xrootd:
      require:
      - '+client_only~davix+krb5~readline+python+scitokens-cpp'
      - build_type=Release
      - '%gcc@11'
    xxhash:
      require:
      - '%gcc@11'
    xz:
      require:
      - '%gcc@11'
    zlib:
      require:
      - '%gcc@11'
    zstd:
      require:
      - build_system=cmake
      - build_type=Release
      - '%gcc@11'

