-
Notifications
You must be signed in to change notification settings - Fork 24
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add a bundle package and environment to build a basic "externals" sta…
…ck (#676) * Add a base package that bundles a bunch of common deps * Add all boost variants that are required * Make sure we have a suitable fmt version
- Loading branch information
Showing
2 changed files
with
89 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
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 | ||
# Keep the possibility to build Gaudi 38 | ||
fmt: | ||
require: "@:10" | ||
|
||
view: false | ||
include: | ||
- ../key4hep-common/packages.yaml | ||
|
||
specs: | ||
- key4hep-external-stack |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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_EXTERNAL_STACK") |