diff --git a/environments/key4hep-common/packages.yaml b/environments/key4hep-common/packages.yaml index 69587c5d..e2ffc74b 100644 --- a/environments/key4hep-common/packages.yaml +++ b/environments/key4hep-common/packages.yaml @@ -53,6 +53,8 @@ packages: xrootd: require: +krb5 cxxstd=20 + fmt: + require: "@:10" # Use the system OpenGL as recommended by spack # See https://github.com/key4hep/key4hep-spack/issues/318 and # https://github.com/key4hep/key4hep-spack/issues/516 diff --git a/environments/key4hep-dev-external/spack.yaml b/environments/key4hep-dev-external/spack.yaml new file mode 100644 index 00000000..510d7e0f --- /dev/null +++ b/environments/key4hep-dev-external/spack.yaml @@ -0,0 +1,18 @@ +spack: + packages: + all: + variants: + - build_type=RelWithDebInfo + - 'cxxstd=20' + target: [] + compiler: [] + + boost: + require: +atomic+chrono+context+date_time+exception+fiber+filesystem+graph+iostreams+locale+log+math+multithreaded+program_options+python+random+regex+serialization+shared+signals+system+test+thread+timer+wave + + view: false + include: + - ../key4hep-common/packages.yaml + + specs: + - key4hep-external-stack diff --git a/packages/key4hep-external-stack/package.py b/packages/key4hep-external-stack/package.py new file mode 100644 index 00000000..e1f9f4f2 --- /dev/null +++ b/packages/key4hep-external-stack/package.py @@ -0,0 +1,68 @@ +#!/usr/bin/env python3 + +from datetime import datetime + +from spack.pkg.k4.key4hep_stack import Key4hepPackage, install_setup_script + +from common import * + + +class Key4hepExternalStack(BundlePackage, Key4hepPackage): + """Bundle package that contains a basic external software stack upon which + Key4hep can be built + + The packages in this base stack are mainly + """ + + homepage = "https://cern.ch/key4hep" + + version(datetime.today().strftime("%Y-%m-%d")) + + # this bundle package installs a custom setup script, so + # need to add the install phase (which normally does not + # exist for a bundle package) + phases = ["install"] + + # Some generally useful development tools + depends_on("cmake") + depends_on("ninja") + depends_on("python") + depends_on("gdb") + depends_on("catch2@3:") + depends_on("boost") + depends_on("py-pytest") + + # general hep packages + depends_on("root") + depends_on("geant4") + depends_on("pythia8") + depends_on("hepmc3") + depends_on("evtgen +photos+tauola+pythia8+hepmc3") + depends_on("heppdt") + depends_on("fastjet") + + # podio dependencies + depends_on("py-pyyaml") + depends_on("py-tabulate") + depends_on("py-jinja2") + depends_on("py-graphviz") + + # other general deps + depends_on("py-numpy") + depends_on("py-scipy") + + # gaudi dependencies + depends_on("py-nose") + depends_on("cppgsl") + depends_on("fmt") + depends_on("cppunit") + depends_on("gperftools") + depends_on("py-networkx") + depends_on("py-six") + depends_on("range-v3") + depends_on("py-pytest-cov") + depends_on("jemalloc") + depends_on("aida") + + def install(self, spec, prefix): + return install_setup_script(self, spec, prefix, "K4_BASE_STACK")