From 0ce8b9d3983acaf2469b3b10af8bd1b72798026b Mon Sep 17 00:00:00 2001 From: Abhik Sarkar <62109745+asarkar-parsys@users.noreply.github.com> Date: Thu, 17 Mar 2022 16:42:07 -0700 Subject: Make boost minimal and composable (Original PR#22303) (#28623) * Make boost composable Currently Boost enables a few components through variants by default, which means that if you want to use only what you need and no more, you have to explicitly disable these variants, leading to concretization errors whenever a second package explicitly needs those components. For instance if package A only needs `+component_a` it might depend on `boost +component_a ~component_b`. And if packge B only needs `+component_b` it might depend on `boost ~component_a +component_b`. If package C now depends on both A and B, this leads to unsatisfiable variants and hence a concretization error. However, if we default to disabling all components, package A can simply depend on `boost +component_a` and package B on `boost +component_b` and package C will concretize to depending on `boost +component_a +component_b`, and whatever you install, you get the bare minimum. * Fix style * Added composable boost dependencies for folly * fixing akantu merge issue * hpctoolkit boost dependencies already defined * Fix Styles * Fixup style once more * Adding isort fix * isort one more time * Fix for package audit issue Co-authored-by: Harmen Stoppels Co-authored-by: Ryan O'Malley --- var/spack/repos/builtin/packages/akantu/package.py | 3 +- var/spack/repos/builtin/packages/amp/package.py | 7 ++- .../repos/builtin/packages/aoflagger/package.py | 6 +++ var/spack/repos/builtin/packages/apex/package.py | 6 +++ .../repos/builtin/packages/arrayfire/package.py | 6 +++ var/spack/repos/builtin/packages/arrow/package.py | 6 +++ var/spack/repos/builtin/packages/aspcud/package.py | 6 +++ var/spack/repos/builtin/packages/assimp/package.py | 6 ++- .../repos/builtin/packages/augustus/package.py | 7 ++- .../builtin/packages/autodock-vina/package.py | 7 +++ .../repos/builtin/packages/automaded/package.py | 7 ++- .../repos/builtin/packages/bcl2fastq2/package.py | 6 +++ .../repos/builtin/packages/biobloom/package.py | 6 ++- var/spack/repos/builtin/packages/blasr/package.py | 7 ++- .../repos/builtin/packages/bohrium/package.py | 6 +++ var/spack/repos/builtin/packages/boost/package.py | 58 ++++++++++++---------- .../repos/builtin/packages/branson/package.py | 7 ++- .../repos/builtin/packages/bridger/package.py | 6 ++- var/spack/repos/builtin/packages/caffe/package.py | 7 ++- .../repos/builtin/packages/cantera/package.py | 7 ++- var/spack/repos/builtin/packages/canu/package.py | 6 +++ .../repos/builtin/packages/casacore/package.py | 6 +++ var/spack/repos/builtin/packages/casper/package.py | 7 ++- .../builtin/packages/cbtf-argonavis-gui/package.py | 6 +++ .../builtin/packages/cbtf-argonavis/package.py | 6 +++ .../repos/builtin/packages/cbtf-krell/package.py | 6 +++ var/spack/repos/builtin/packages/cbtf/package.py | 6 +++ var/spack/repos/builtin/packages/cgal/package.py | 6 +++ .../repos/builtin/packages/channelflow/package.py | 6 +++ var/spack/repos/builtin/packages/chill/package.py | 6 +++ .../repos/builtin/packages/cleverleaf/package.py | 7 ++- var/spack/repos/builtin/packages/clfft/package.py | 6 +++ var/spack/repos/builtin/packages/cntk/package.py | 6 ++- var/spack/repos/builtin/packages/coin3d/package.py | 6 +++ .../repos/builtin/packages/cpprestsdk/package.py | 6 +++ var/spack/repos/builtin/packages/dakota/package.py | 6 +++ .../repos/builtin/packages/damaris/package.py | 6 +++ var/spack/repos/builtin/packages/dbow2/package.py | 7 ++- var/spack/repos/builtin/packages/dd4hep/package.py | 6 +++ var/spack/repos/builtin/packages/dealii/package.py | 6 +++ var/spack/repos/builtin/packages/delly2/package.py | 5 ++ .../repos/builtin/packages/denovogear/package.py | 6 +++ .../repos/builtin/packages/dimemas/package.py | 6 +++ var/spack/repos/builtin/packages/dire/package.py | 7 ++- var/spack/repos/builtin/packages/dssp/package.py | 6 +++ var/spack/repos/builtin/packages/dysco/package.py | 6 +++ var/spack/repos/builtin/packages/ecflow/package.py | 6 +++ var/spack/repos/builtin/packages/erne/package.py | 6 +++ .../repos/builtin/packages/ethminer/package.py | 7 ++- .../repos/builtin/packages/express/package.py | 6 ++- var/spack/repos/builtin/packages/extrae/package.py | 7 ++- .../repos/builtin/packages/fairlogger/package.py | 6 +++ var/spack/repos/builtin/packages/faodel/package.py | 6 +++ .../builtin/packages/fenics-dolfinx/package.py | 1 + var/spack/repos/builtin/packages/fenics/package.py | 6 +++ var/spack/repos/builtin/packages/flann/package.py | 6 +++ .../repos/builtin/packages/flecsale/package.py | 6 +++ var/spack/repos/builtin/packages/flecsi/package.py | 1 - .../repos/builtin/packages/flecsph/package.py | 7 +++ .../repos/builtin/packages/flux-sched/package.py | 7 +++ var/spack/repos/builtin/packages/folly/package.py | 10 ++-- .../repos/builtin/packages/foundationdb/package.py | 7 ++- var/spack/repos/builtin/packages/gaudi/package.py | 6 +++ var/spack/repos/builtin/packages/geant4/package.py | 8 +++ .../repos/builtin/packages/gearshifft/package.py | 2 +- .../repos/builtin/packages/gnuradio/package.py | 8 +++ var/spack/repos/builtin/packages/gource/package.py | 6 +++ .../repos/builtin/packages/gplates/package.py | 5 ++ .../repos/builtin/packages/graphblast/package.py | 6 +++ .../repos/builtin/packages/gunrock/package.py | 6 +++ .../repos/builtin/packages/heaptrack/package.py | 6 +++ var/spack/repos/builtin/packages/helics/package.py | 6 +++ .../repos/builtin/packages/herwig3/package.py | 7 ++- .../repos/builtin/packages/herwigpp/package.py | 7 ++- .../repos/builtin/packages/highfive/package.py | 6 +++ var/spack/repos/builtin/packages/hisea/package.py | 6 ++- var/spack/repos/builtin/packages/hpx/package.py | 3 +- var/spack/repos/builtin/packages/hssp/package.py | 6 +++ .../builtin/packages/hybrid-lambda/package.py | 7 ++- .../repos/builtin/packages/hyperscan/package.py | 6 ++- var/spack/repos/builtin/packages/ibmisc/package.py | 6 +++ var/spack/repos/builtin/packages/imp/package.py | 6 +++ .../repos/builtin/packages/iq-tree/package.py | 6 ++- var/spack/repos/builtin/packages/jali/package.py | 6 ++- var/spack/repos/builtin/packages/kea/package.py | 7 ++- var/spack/repos/builtin/packages/kicad/package.py | 7 +++ .../repos/builtin/packages/launchmon/package.py | 7 ++- .../repos/builtin/packages/libcudf/package.py | 7 ++- .../repos/builtin/packages/libfive/package.py | 6 +++ var/spack/repos/builtin/packages/libint/package.py | 7 ++- var/spack/repos/builtin/packages/libkml/package.py | 6 +++ .../repos/builtin/packages/libmesh/package.py | 6 +++ .../repos/builtin/packages/libpulsar/package.py | 7 ++- var/spack/repos/builtin/packages/librom/package.py | 8 ++- var/spack/repos/builtin/packages/lordec/package.py | 5 ++ var/spack/repos/builtin/packages/magics/package.py | 7 ++- .../repos/builtin/packages/mallocmc/package.py | 6 +++ var/spack/repos/builtin/packages/mapnik/package.py | 6 +++ .../repos/builtin/packages/mariadb/package.py | 6 ++- .../repos/builtin/packages/masurca/package.py | 7 ++- .../repos/builtin/packages/meraculous/package.py | 6 +++ .../repos/builtin/packages/mercury/package.py | 10 ++++ .../repos/builtin/packages/metabat/package.py | 6 +++ var/spack/repos/builtin/packages/metall/package.py | 7 +++ var/spack/repos/builtin/packages/mgis/package.py | 6 +++ .../repos/builtin/packages/miopen-hip/package.py | 6 +++ .../builtin/packages/miopen-opencl/package.py | 6 +++ var/spack/repos/builtin/packages/mira/package.py | 6 +++ .../repos/builtin/packages/modern-wheel/package.py | 6 +++ .../repos/builtin/packages/mofem-cephas/package.py | 6 +++ var/spack/repos/builtin/packages/mothur/package.py | 6 ++- var/spack/repos/builtin/packages/mrnet/package.py | 6 ++- .../repos/builtin/packages/multiverso/package.py | 7 ++- var/spack/repos/builtin/packages/muster/package.py | 6 ++- var/spack/repos/builtin/packages/mysql/package.py | 7 +++ var/spack/repos/builtin/packages/n2p2/package.py | 6 ++- .../repos/builtin/packages/nalu-wind/package.py | 2 +- .../repos/builtin/packages/ncbi-toolkit/package.py | 6 +++ var/spack/repos/builtin/packages/nektar/package.py | 6 +++ var/spack/repos/builtin/packages/nix/package.py | 6 +++ .../repos/builtin/packages/ns-3-dev/package.py | 7 ++- .../repos/builtin/packages/openbabel/package.py | 7 ++- .../repos/builtin/packages/openfoam/package.py | 8 ++- .../repos/builtin/packages/openimageio/package.py | 6 +++ .../packages/openspeedshop-utils/package.py | 8 +-- .../builtin/packages/openspeedshop/package.py | 7 ++- var/spack/repos/builtin/packages/pagmo/package.py | 6 +++ .../repos/builtin/packages/paradiseo/package.py | 6 +++ .../repos/builtin/packages/parquet-cpp/package.py | 7 ++- .../repos/builtin/packages/parsplice/package.py | 6 +++ var/spack/repos/builtin/packages/pbbam/package.py | 6 +++ var/spack/repos/builtin/packages/pcl/package.py | 6 +++ .../repos/builtin/packages/percept/package.py | 6 +++ .../builtin/packages/percona-server/package.py | 6 +++ .../repos/builtin/packages/piranha/package.py | 6 +++ .../repos/builtin/packages/pktools/package.py | 7 ++- .../repos/builtin/packages/polymake/package.py | 7 ++- var/spack/repos/builtin/packages/povray/package.py | 6 +++ .../repos/builtin/packages/precice/package.py | 6 +++ .../repos/builtin/packages/py-espresso/package.py | 6 +++ .../repos/builtin/packages/py-pycuda/package.py | 5 ++ .../builtin/packages/py-python-mapnik/package.py | 6 +++ .../repos/builtin/packages/py-quast/package.py | 6 +++ .../repos/builtin/packages/qmcpack/package.py | 7 ++- var/spack/repos/builtin/packages/quinoa/package.py | 6 ++- .../packages/r-phantompeakqualtools/package.py | 6 +++ .../repos/builtin/packages/range-v3/package.py | 6 +++ .../repos/builtin/packages/revbayes/package.py | 6 ++- var/spack/repos/builtin/packages/rivet/package.py | 6 +++ .../repos/builtin/packages/rocm-tensile/package.py | 2 + var/spack/repos/builtin/packages/rose/package.py | 6 +++ .../repos/builtin/packages/sailfish/package.py | 6 +++ var/spack/repos/builtin/packages/salmon/package.py | 8 +++ var/spack/repos/builtin/packages/samrai/package.py | 5 ++ .../repos/builtin/packages/scallop/package.py | 7 ++- .../repos/builtin/packages/scantailor/package.py | 6 +++ var/spack/repos/builtin/packages/seqan/package.py | 6 +++ var/spack/repos/builtin/packages/sfcgal/package.py | 6 +++ var/spack/repos/builtin/packages/sgpp/package.py | 6 +++ .../repos/builtin/packages/shapeit4/package.py | 7 ++- var/spack/repos/builtin/packages/shark/package.py | 6 ++- .../repos/builtin/packages/simgrid/package.py | 7 ++- .../repos/builtin/packages/snap-korf/package.py | 1 - .../builtin/packages/source-highlight/package.py | 6 ++- var/spack/repos/builtin/packages/spot/package.py | 6 +++ var/spack/repos/builtin/packages/stat/package.py | 7 ++- .../repos/builtin/packages/strelka/package.py | 6 +++ .../repos/builtin/packages/symengine/package.py | 6 +++ var/spack/repos/builtin/packages/sympol/package.py | 7 ++- .../builtin/packages/templight-tools/package.py | 6 +++ var/spack/repos/builtin/packages/tfel/package.py | 6 +++ var/spack/repos/builtin/packages/thepeg/package.py | 6 +++ var/spack/repos/builtin/packages/thrift/package.py | 6 +++ var/spack/repos/builtin/packages/tophat/package.py | 6 +++ .../repos/builtin/packages/trilinos/package.py | 5 ++ .../repos/builtin/packages/valgrind/package.py | 6 +++ var/spack/repos/builtin/packages/veloc/package.py | 6 ++- var/spack/repos/builtin/packages/vigra/package.py | 6 +++ .../packages/votca-csg-tutorials/package.py | 7 ++- .../repos/builtin/packages/votca-csg/package.py | 6 ++- .../builtin/packages/votca-csgapps/package.py | 7 ++- .../repos/builtin/packages/votca-tools/package.py | 6 ++- var/spack/repos/builtin/packages/vtk/package.py | 6 +++ var/spack/repos/builtin/packages/wcs/package.py | 6 +++ var/spack/repos/builtin/packages/wonton/package.py | 7 ++- var/spack/repos/builtin/packages/wt/package.py | 6 +++ var/spack/repos/builtin/packages/xdmf3/package.py | 7 ++- var/spack/repos/builtin/packages/xios/package.py | 7 ++- .../repos/builtin/packages/yaml-cpp/package.py | 6 +++ var/spack/repos/builtin/packages/yoda/package.py | 6 +++ 190 files changed, 1117 insertions(+), 104 deletions(-) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/akantu/package.py b/var/spack/repos/builtin/packages/akantu/package.py index 024a7b99cd..55dc467d94 100644 --- a/var/spack/repos/builtin/packages/akantu/package.py +++ b/var/spack/repos/builtin/packages/akantu/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Akantu(CMakePackage): @@ -30,7 +31,7 @@ class Akantu(CMakePackage): description="Activates python bindings") depends_on('boost@:1.66', when='@:3.0') - depends_on('boost') + depends_on(Boost.with_default_variants) depends_on('lapack') depends_on('cmake@3.5.1:', type='build') depends_on('python', when='+python', type=('build', 'run')) diff --git a/var/spack/repos/builtin/packages/amp/package.py b/var/spack/repos/builtin/packages/amp/package.py index 8ee0fd21b4..78bf52e003 100644 --- a/var/spack/repos/builtin/packages/amp/package.py +++ b/var/spack/repos/builtin/packages/amp/package.py @@ -3,6 +3,7 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Amp(CMakePackage): @@ -34,7 +35,11 @@ class Amp(CMakePackage): # Everything should be compiled position independent (-fpic) depends_on('blas') depends_on('lapack') - depends_on('boost', when='+boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='+boost') depends_on('hdf5', when='+hdf5') depends_on('hypre', when='+hypre') depends_on('libmesh', when='+libmesh') diff --git a/var/spack/repos/builtin/packages/aoflagger/package.py b/var/spack/repos/builtin/packages/aoflagger/package.py index e0bb7c7a4d..db2db74693 100644 --- a/var/spack/repos/builtin/packages/aoflagger/package.py +++ b/var/spack/repos/builtin/packages/aoflagger/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Aoflagger(CMakePackage): @@ -18,6 +19,11 @@ class Aoflagger(CMakePackage): depends_on('casacore+python~fftpack@1.10:') depends_on('fftw~mpi@3.0:') depends_on('boost+python@:1.66.99') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('libxml2') depends_on('lapack') depends_on('cfitsio') diff --git a/var/spack/repos/builtin/packages/apex/package.py b/var/spack/repos/builtin/packages/apex/package.py index f364750e4c..912d6b5523 100644 --- a/var/spack/repos/builtin/packages/apex/package.py +++ b/var/spack/repos/builtin/packages/apex/package.py @@ -6,6 +6,7 @@ import sys from spack import * +from spack.pkg.builtin.boost import Boost class Apex(CMakePackage): @@ -65,6 +66,11 @@ class Apex(CMakePackage): depends_on('hip', when='+hip') depends_on('roctracer-dev', when='+hip') depends_on('rocm-smi-lib', when='+hip') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='+boost') depends_on('boost@1.54:', when='+boost') # Conflicts diff --git a/var/spack/repos/builtin/packages/arrayfire/package.py b/var/spack/repos/builtin/packages/arrayfire/package.py index 0049dd7df0..5d1a65428b 100644 --- a/var/spack/repos/builtin/packages/arrayfire/package.py +++ b/var/spack/repos/builtin/packages/arrayfire/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Arrayfire(CMakePackage, CudaPackage): @@ -24,6 +25,11 @@ class Arrayfire(CMakePackage, CudaPackage): variant('opencl', default=False, description='Enable OpenCL backend') depends_on('boost@1.65:') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('fftw-api@3:') depends_on('blas') depends_on('cuda@7.5:', when='+cuda') diff --git a/var/spack/repos/builtin/packages/arrow/package.py b/var/spack/repos/builtin/packages/arrow/package.py index ee2ab9caf9..f1b9224a68 100644 --- a/var/spack/repos/builtin/packages/arrow/package.py +++ b/var/spack/repos/builtin/packages/arrow/package.py @@ -3,6 +3,7 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Arrow(CMakePackage, CudaPackage): @@ -26,6 +27,11 @@ class Arrow(CMakePackage, CudaPackage): version('0.8.0', sha256='c61a60c298c30546fc0b418a35be66ef330fb81b06c49928acca7f1a34671d54') depends_on('boost@1.60:') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('cmake@3.2.0:', type='build') depends_on('flatbuffers build_type=Release') # only Release contains flatc depends_on('python', when='+python') diff --git a/var/spack/repos/builtin/packages/aspcud/package.py b/var/spack/repos/builtin/packages/aspcud/package.py index 920fe4d071..6422dc7771 100644 --- a/var/spack/repos/builtin/packages/aspcud/package.py +++ b/var/spack/repos/builtin/packages/aspcud/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Aspcud(CMakePackage): @@ -22,6 +23,11 @@ class Aspcud(CMakePackage): version('1.9.4', sha256='3645f08b079e1cc80e24cd2d7ae5172a52476d84e3ec5e6a6c0034492a6ea885') depends_on('boost@1.74:', type=('build'), when='@1.9.5:') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, type=('build'), when='@1.9.5:') depends_on('cmake', type=('build')) depends_on('re2c', type=('build')) depends_on('clingo') diff --git a/var/spack/repos/builtin/packages/assimp/package.py b/var/spack/repos/builtin/packages/assimp/package.py index cfa3f2a0c3..3b3af37960 100644 --- a/var/spack/repos/builtin/packages/assimp/package.py +++ b/var/spack/repos/builtin/packages/assimp/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Assimp(CMakePackage): @@ -33,7 +34,10 @@ class Assimp(CMakePackage): depends_on('pkgconfig', type='build') depends_on('zlib') - depends_on('boost') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) def patch(self): filter_file('-Werror', '', 'code/CMakeLists.txt') diff --git a/var/spack/repos/builtin/packages/augustus/package.py b/var/spack/repos/builtin/packages/augustus/package.py index 6fea66cbae..c5bcd71f18 100644 --- a/var/spack/repos/builtin/packages/augustus/package.py +++ b/var/spack/repos/builtin/packages/augustus/package.py @@ -6,6 +6,7 @@ import glob from spack import * +from spack.pkg.builtin.boost import Boost class Augustus(MakefilePackage): @@ -29,7 +30,11 @@ class Augustus(MakefilePackage): depends_on('python', when='@3.3.1:', type=('build', 'run')) depends_on('bamtools') depends_on('gsl') - depends_on('boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('zlib') depends_on('htslib') depends_on('bcftools') diff --git a/var/spack/repos/builtin/packages/autodock-vina/package.py b/var/spack/repos/builtin/packages/autodock-vina/package.py index 0c00b75387..e2f29465e6 100644 --- a/var/spack/repos/builtin/packages/autodock-vina/package.py +++ b/var/spack/repos/builtin/packages/autodock-vina/package.py @@ -3,9 +3,11 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) + import sys from spack import * +from spack.pkg.builtin.boost import Boost class AutodockVina(MakefilePackage): @@ -18,6 +20,11 @@ class AutodockVina(MakefilePackage): depends_on('boost@1.65.0') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) + # Replacing depecrated function call of boost with current function call patch('main.patch') patch('split.patch') diff --git a/var/spack/repos/builtin/packages/automaded/package.py b/var/spack/repos/builtin/packages/automaded/package.py index 39fc27abc8..b1533ace90 100644 --- a/var/spack/repos/builtin/packages/automaded/package.py +++ b/var/spack/repos/builtin/packages/automaded/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Automaded(CMakePackage): @@ -24,7 +25,11 @@ class Automaded(CMakePackage): version('1.0', sha256='600740cdd594cc6968c7bcb285d0829eb0ddbd5597c32c06c6ae5d9929a2625d') depends_on('mpi') - depends_on('boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('callpath') depends_on('cmake@2.8:', type='build') diff --git a/var/spack/repos/builtin/packages/bcl2fastq2/package.py b/var/spack/repos/builtin/packages/bcl2fastq2/package.py index 1af053502c..52271f1235 100644 --- a/var/spack/repos/builtin/packages/bcl2fastq2/package.py +++ b/var/spack/repos/builtin/packages/bcl2fastq2/package.py @@ -9,6 +9,7 @@ import os import llnl.util.tty as tty from spack import * +from spack.pkg.builtin.boost import Boost # This application uses cmake to build, but they wrap it with a @@ -28,6 +29,11 @@ class Bcl2fastq2(Package): msg='malloc.h/etc requirements break build on macs') depends_on('boost@1.54.0:1.55') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('cmake@2.8.9:', type='build') depends_on('libxml2@2.7.8') depends_on('libxslt@1.1.26~crypto') diff --git a/var/spack/repos/builtin/packages/biobloom/package.py b/var/spack/repos/builtin/packages/biobloom/package.py index 26839630b0..8660245f72 100644 --- a/var/spack/repos/builtin/packages/biobloom/package.py +++ b/var/spack/repos/builtin/packages/biobloom/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Biobloom(AutotoolsPackage): @@ -15,7 +16,10 @@ class Biobloom(AutotoolsPackage): version('2.2.0', sha256='5d09f8690f0b6402f967ac09c5b0f769961f3fe3791000f8f73af6af7324f02c') - depends_on('boost') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('sdsl-lite') depends_on('sparsehash') depends_on('zlib') diff --git a/var/spack/repos/builtin/packages/blasr/package.py b/var/spack/repos/builtin/packages/blasr/package.py index 704dc234c8..647d84112d 100644 --- a/var/spack/repos/builtin/packages/blasr/package.py +++ b/var/spack/repos/builtin/packages/blasr/package.py @@ -6,6 +6,7 @@ import os from spack import * +from spack.pkg.builtin.boost import Boost class Blasr(Package): @@ -20,7 +21,11 @@ class Blasr(Package): depends_on('hdf5+cxx@1.8.12:1.8') depends_on('htslib') depends_on('zlib') - depends_on('boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('pbbam') depends_on('blasr-libcpp') depends_on('python', type='build') diff --git a/var/spack/repos/builtin/packages/bohrium/package.py b/var/spack/repos/builtin/packages/bohrium/package.py index f6dd89788b..0e10278dfa 100644 --- a/var/spack/repos/builtin/packages/bohrium/package.py +++ b/var/spack/repos/builtin/packages/bohrium/package.py @@ -9,6 +9,7 @@ import llnl.util.tty as tty from spack import * from spack.package_test import compare_output +from spack.pkg.builtin.boost import Boost from spack.util.executable import Executable @@ -74,6 +75,11 @@ class Bohrium(CMakePackage, CudaPackage): depends_on('cmake@2.8:', type="build") depends_on('boost+system+serialization+filesystem+regex') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) + # cuda dependencies managed by CudaPackage class depends_on('opencl', when="+opencl") diff --git a/var/spack/repos/builtin/packages/boost/package.py b/var/spack/repos/builtin/packages/boost/package.py index 39d9b1d991..d84695418e 100644 --- a/var/spack/repos/builtin/packages/boost/package.py +++ b/var/spack/repos/builtin/packages/boost/package.py @@ -79,26 +79,10 @@ class Boost(Package): version('1.34.1', sha256='0f866c75b025a4f1340117a106595cc0675f48ba1e5a9b5c221ec7f19e96ec4c') version('1.34.0', sha256='455cb8fa41b759272768257c2e7bdc5c47ec113245dfa533f275e787a855efd2') - default_install_libs = set(['atomic', - 'chrono', - 'date_time', - 'exception', - 'filesystem', - 'graph', - 'iostreams', - 'locale', - 'log', - 'math', - 'program_options', - 'random', - 'regex', - 'serialization', - 'signals', - 'system', - 'test', - 'thread', - 'timer', - 'wave']) + with_default_variants = ("boost+atomic+chrono+date_time+exception+filesystem" + "+graph+iostreams+locale+log+math+program_options" + "+random+regex+serialization+signals+system+test" + "+thread+timer+wave") # mpi/python are not installed by default because they pull in many # dependencies and/or because there is a great deal of customization @@ -107,13 +91,37 @@ class Boost(Package): # Boost.Container can be both header-only and compiled. '+container' # indicates the compiled version which requires Extended Allocator # support. The header-only library is installed when no variant is given. - default_noinstall_libs\ - = set(['container', 'context', 'coroutine', 'fiber', 'mpi', 'python']) - - all_libs = default_install_libs | default_noinstall_libs + all_libs = [ + 'atomic', + 'chrono', + 'container', + 'context', + 'coroutine', + 'date_time', + 'exception', + 'fiber', + 'filesystem', + 'graph', + 'iostreams', + 'locale', + 'log', + 'math', + 'mpi', + 'program_options', + 'python', + 'random', + 'regex', + 'serialization', + 'signals', + 'system', + 'test', + 'thread', + 'timer', + 'wave' + ] for lib in all_libs: - variant(lib, default=(lib not in default_noinstall_libs), + variant(lib, default=False, description="Compile with {0} library".format(lib)) @property diff --git a/var/spack/repos/builtin/packages/branson/package.py b/var/spack/repos/builtin/packages/branson/package.py index 21347672de..f5611869df 100644 --- a/var/spack/repos/builtin/packages/branson/package.py +++ b/var/spack/repos/builtin/packages/branson/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Branson(CMakePackage): @@ -25,7 +26,11 @@ class Branson(CMakePackage): version('0.8', sha256='85ffee110f89be00c37798700508b66b0d15de1d98c54328b6d02a9eb2cf1cb8') depends_on('mpi@2:') - depends_on('boost', when='@:0.81') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='@:0.81') depends_on('metis') depends_on('parmetis', when='@:0.81') diff --git a/var/spack/repos/builtin/packages/bridger/package.py b/var/spack/repos/builtin/packages/bridger/package.py index 9098a6c227..ab6cbd1765 100644 --- a/var/spack/repos/builtin/packages/bridger/package.py +++ b/var/spack/repos/builtin/packages/bridger/package.py @@ -6,6 +6,7 @@ from os import symlink from spack import * +from spack.pkg.builtin.boost import Boost class Bridger(MakefilePackage, SourceforgePackage): @@ -17,7 +18,10 @@ class Bridger(MakefilePackage, SourceforgePackage): version('2014-12-01', sha256='8fbec8603ea8ad2162cbd0c658e4e0a4af6453bdb53310b4b7e0d112e40b5737') - depends_on('boost') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('perl', type='run') def flag_handler(self, name, flags): diff --git a/var/spack/repos/builtin/packages/caffe/package.py b/var/spack/repos/builtin/packages/caffe/package.py index 7953bff17b..844e3aba2b 100644 --- a/var/spack/repos/builtin/packages/caffe/package.py +++ b/var/spack/repos/builtin/packages/caffe/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Caffe(CMakePackage, CudaPackage): @@ -33,8 +34,12 @@ class Caffe(CMakePackage, CudaPackage): variant('matlab', default=False, description='Build Matlab wrapper') - depends_on('boost') depends_on('boost +python', when='+python') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='+python') depends_on('cuda', when='+cuda') depends_on('blas') depends_on('protobuf@:3.17') diff --git a/var/spack/repos/builtin/packages/cantera/package.py b/var/spack/repos/builtin/packages/cantera/package.py index 54cda50d30..ad7824ac88 100644 --- a/var/spack/repos/builtin/packages/cantera/package.py +++ b/var/spack/repos/builtin/packages/cantera/package.py @@ -6,6 +6,7 @@ import os from spack import * +from spack.pkg.builtin.boost import Boost class Cantera(SConsPackage): @@ -31,7 +32,11 @@ class Cantera(SConsPackage): depends_on('fmt@3.0.0:3.0.2', when='@2.3.0:') depends_on('googletest+gmock', when='@2.3.0:') depends_on('eigen', when='@2.3.0:') - depends_on('boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('sundials@:3.1.2+lapack', when='+sundials') # must be compiled with -fPIC depends_on('blas') depends_on('lapack') diff --git a/var/spack/repos/builtin/packages/canu/package.py b/var/spack/repos/builtin/packages/canu/package.py index 5a793028c6..ca02d7ca85 100644 --- a/var/spack/repos/builtin/packages/canu/package.py +++ b/var/spack/repos/builtin/packages/canu/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Canu(MakefilePackage): @@ -25,6 +26,11 @@ class Canu(MakefilePackage): # build fail when using boost@1.71.0:1.73.0 by canu@1.8:2.0 depends_on('boost@:1.70.0') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) + build_directory = 'src' build_targets = ['clean'] diff --git a/var/spack/repos/builtin/packages/casacore/package.py b/var/spack/repos/builtin/packages/casacore/package.py index 279406ca48..cd067f7f7d 100644 --- a/var/spack/repos/builtin/packages/casacore/package.py +++ b/var/spack/repos/builtin/packages/casacore/package.py @@ -6,6 +6,7 @@ import os from spack import * +from spack.pkg.builtin.boost import Boost class Casacore(CMakePackage): @@ -60,6 +61,11 @@ class Casacore(CMakePackage): depends_on('mpi', when='+adios2') depends_on('python@2.6:', when='+python') depends_on('boost+python', when='+python') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='+python') depends_on('py-numpy', when='+python') def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/casper/package.py b/var/spack/repos/builtin/packages/casper/package.py index 17d8936719..36ce449ce9 100644 --- a/var/spack/repos/builtin/packages/casper/package.py +++ b/var/spack/repos/builtin/packages/casper/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Casper(MakefilePackage): @@ -18,7 +19,11 @@ class Casper(MakefilePackage): version('0.8.2', sha256='3005e165cebf8ce4e12815b7660a833e0733441b5c7e5ecbfdccef7414b0c914') depends_on('jellyfish@2.2.3:') - depends_on('boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) conflicts('%gcc@7.1.0') diff --git a/var/spack/repos/builtin/packages/cbtf-argonavis-gui/package.py b/var/spack/repos/builtin/packages/cbtf-argonavis-gui/package.py index 50cb66ada9..1e6a64a82a 100644 --- a/var/spack/repos/builtin/packages/cbtf-argonavis-gui/package.py +++ b/var/spack/repos/builtin/packages/cbtf-argonavis-gui/package.py @@ -6,6 +6,7 @@ import os from spack import * +from spack.pkg.builtin.boost import Boost class CbtfArgonavisGui(QMakePackage): @@ -24,6 +25,11 @@ class CbtfArgonavisGui(QMakePackage): depends_on("boost@1.66.0:1.69.0") + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) + # For MRNet depends_on("mrnet@5.0.1-3:+lwthreads", when='@develop') depends_on("mrnet@5.0.1-3+lwthreads", when='@1.3.0.0:9999') diff --git a/var/spack/repos/builtin/packages/cbtf-argonavis/package.py b/var/spack/repos/builtin/packages/cbtf-argonavis/package.py index 7259ca418e..19934fe3fc 100644 --- a/var/spack/repos/builtin/packages/cbtf-argonavis/package.py +++ b/var/spack/repos/builtin/packages/cbtf-argonavis/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class CbtfArgonavis(CMakePackage): @@ -38,6 +39,11 @@ class CbtfArgonavis(CMakePackage): # For boost depends_on("boost@1.70.0:") + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) + # For MRNet depends_on("mrnet@5.0.1-3:+lwthreads", when='@develop', type=('build', 'link', 'run')) depends_on("mrnet@5.0.1-3+lwthreads", when='@1.9.3:9999', type=('build', 'link', 'run')) diff --git a/var/spack/repos/builtin/packages/cbtf-krell/package.py b/var/spack/repos/builtin/packages/cbtf-krell/package.py index 8202918bbd..bd0f045d8d 100644 --- a/var/spack/repos/builtin/packages/cbtf-krell/package.py +++ b/var/spack/repos/builtin/packages/cbtf-krell/package.py @@ -6,6 +6,7 @@ import spack import spack.store from spack import * +from spack.pkg.builtin.boost import Boost class CbtfKrell(CMakePackage): @@ -55,6 +56,11 @@ class CbtfKrell(CMakePackage): # For boost depends_on("boost@1.70.0:") + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) + # For Dyninst depends_on("dyninst@10.1.0", when='@develop') depends_on("dyninst@10.1.0", when='@1.9.3:9999') diff --git a/var/spack/repos/builtin/packages/cbtf/package.py b/var/spack/repos/builtin/packages/cbtf/package.py index 793262020a..13fb91630b 100644 --- a/var/spack/repos/builtin/packages/cbtf/package.py +++ b/var/spack/repos/builtin/packages/cbtf/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Cbtf(CMakePackage): @@ -38,6 +39,11 @@ class Cbtf(CMakePackage): depends_on("boost@1.70.0:") + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) + # For MRNet depends_on("mrnet@5.0.1-3:+lwthreads", when='@develop') depends_on("mrnet@5.0.1-3+lwthreads", when='@1.9.3:9999') diff --git a/var/spack/repos/builtin/packages/cgal/package.py b/var/spack/repos/builtin/packages/cgal/package.py index a548ca16b0..8e08ad984b 100644 --- a/var/spack/repos/builtin/packages/cgal/package.py +++ b/var/spack/repos/builtin/packages/cgal/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Cgal(CMakePackage): @@ -53,6 +54,11 @@ class Cgal(CMakePackage): # Essential Third Party Libraries depends_on('boost+thread+system') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('gmp') depends_on('mpfr') diff --git a/var/spack/repos/builtin/packages/channelflow/package.py b/var/spack/repos/builtin/packages/channelflow/package.py index a931b09cd3..9d9ecedc7f 100644 --- a/var/spack/repos/builtin/packages/channelflow/package.py +++ b/var/spack/repos/builtin/packages/channelflow/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Channelflow(CMakePackage): @@ -40,6 +41,11 @@ class Channelflow(CMakePackage): # Python bindings depends_on('boost+python', when='+python') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='+python') + conflicts('~mpi', when='netcdf=parallel', msg='Parallel NetCDF requires MPI') conflicts( '+mpi', when='+python', diff --git a/var/spack/repos/builtin/packages/chill/package.py b/var/spack/repos/builtin/packages/chill/package.py index 5e9df74870..5954a63940 100644 --- a/var/spack/repos/builtin/packages/chill/package.py +++ b/var/spack/repos/builtin/packages/chill/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Chill(AutotoolsPackage): @@ -19,6 +20,11 @@ class Chill(AutotoolsPackage): version('0.3', sha256='574b622368a6bfaadbe9c1fa02fabefdc6c006069246f67d299f943b7e1d8aa3') depends_on('boost@1.66.0 cxxstd=11', type='build') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, type='build') depends_on('rose@0.9.13.0: +cxx11', type=('build', 'run')) depends_on('autoconf', type='build') depends_on('automake@1.14:', type='build') diff --git a/var/spack/repos/builtin/packages/cleverleaf/package.py b/var/spack/repos/builtin/packages/cleverleaf/package.py index 6c8c9cfc74..1d5aa842f9 100644 --- a/var/spack/repos/builtin/packages/cleverleaf/package.py +++ b/var/spack/repos/builtin/packages/cleverleaf/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Cleverleaf(CMakePackage): @@ -21,7 +22,11 @@ class Cleverleaf(CMakePackage): depends_on('samrai@3.8.0:') depends_on('hdf5+mpi') - depends_on('boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('cmake@3.1:', type='build') # The Fujitsu compiler requires the '--linkfortran' diff --git a/var/spack/repos/builtin/packages/clfft/package.py b/var/spack/repos/builtin/packages/clfft/package.py index 52801d0e77..f7879b724f 100644 --- a/var/spack/repos/builtin/packages/clfft/package.py +++ b/var/spack/repos/builtin/packages/clfft/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Clfft(CMakePackage): @@ -20,6 +21,11 @@ class Clfft(CMakePackage): depends_on('opencl@1.2:') depends_on('boost@1.33.0:', when='+client') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='+client') + patch('https://github.com/clMathLibraries/clFFT/commit/eea7dbc888367b8dbea602ba539eb1a9cbc118d9.patch', sha256='3148d5937077def301b30b913bc2437df869204fca1de4385ccd46e3b98b13aa', when='@2.12.2') diff --git a/var/spack/repos/builtin/packages/cntk/package.py b/var/spack/repos/builtin/packages/cntk/package.py index 2973122db1..e2f871d8bb 100644 --- a/var/spack/repos/builtin/packages/cntk/package.py +++ b/var/spack/repos/builtin/packages/cntk/package.py @@ -6,6 +6,7 @@ import os from spack import * +from spack.pkg.builtin.boost import Boost class Cntk(Package): @@ -31,7 +32,10 @@ class Cntk(Package): depends_on('libzip') depends_on('openblas') depends_on('mpi') - depends_on('boost') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('protobuf@3.10') # CNTK depends on kaldi@c02e8. # See https://github.com/Microsoft/CNTK/blob/master/Tools/docker/CNTK-CPUOnly-Image/Dockerfile#L105-L125 diff --git a/var/spack/repos/builtin/packages/coin3d/package.py b/var/spack/repos/builtin/packages/coin3d/package.py index 567b651706..a5ec006d41 100644 --- a/var/spack/repos/builtin/packages/coin3d/package.py +++ b/var/spack/repos/builtin/packages/coin3d/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Coin3d(AutotoolsPackage): @@ -18,6 +19,11 @@ class Coin3d(AutotoolsPackage): version('2.0.0', sha256='6d26435aa962d085b7accd306a0b478069a7de1bc5ca24e22344971852dd097c') depends_on('boost@1.45.0:', type='build') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, type='build') depends_on('doxygen', when='+html', type='build') depends_on('perl', when='+html', type='build') depends_on('glu', type='link') diff --git a/var/spack/repos/builtin/packages/cpprestsdk/package.py b/var/spack/repos/builtin/packages/cpprestsdk/package.py index 5ae4a236d2..4590dfdb08 100644 --- a/var/spack/repos/builtin/packages/cpprestsdk/package.py +++ b/var/spack/repos/builtin/packages/cpprestsdk/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Cpprestsdk(CMakePackage): @@ -19,6 +20,11 @@ class Cpprestsdk(CMakePackage): version('2.9.1', sha256='537358760acd782f4d2ed3a85d92247b4fc423aff9c85347dc31dbb0ab9bab16') depends_on('boost@:1.69.0') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('openssl') # Ref: https://github.com/microsoft/cpprestsdk/commit/f9f518e4ad84577eb684ad8235181e4495299af4 diff --git a/var/spack/repos/builtin/packages/dakota/package.py b/var/spack/repos/builtin/packages/dakota/package.py index 58c235c003..a10d0aa0f9 100644 --- a/var/spack/repos/builtin/packages/dakota/package.py +++ b/var/spack/repos/builtin/packages/dakota/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Dakota(CMakePackage): @@ -46,6 +47,11 @@ class Dakota(CMakePackage): depends_on('python') depends_on('perl-data-dumper', type='build', when='@6.12:') depends_on('boost@:1.68.0', when='@:6.12') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='@:6.12') depends_on('cmake@2.8.9:', type='build') def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/damaris/package.py b/var/spack/repos/builtin/packages/damaris/package.py index 859b55286c..89ff042fea 100644 --- a/var/spack/repos/builtin/packages/damaris/package.py +++ b/var/spack/repos/builtin/packages/damaris/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Damaris(CMakePackage): @@ -29,6 +30,11 @@ class Damaris(CMakePackage): depends_on('mpi') depends_on('cmake@3.18.0:', type=('build')) depends_on('boost +thread+log+filesystem+date_time @1.67:') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('xsd') depends_on('xerces-c') depends_on('hdf5@1.8.20:', when='+hdf5') diff --git a/var/spack/repos/builtin/packages/dbow2/package.py b/var/spack/repos/builtin/packages/dbow2/package.py index d0d89a14bd..a74ab89364 100644 --- a/var/spack/repos/builtin/packages/dbow2/package.py +++ b/var/spack/repos/builtin/packages/dbow2/package.py @@ -3,6 +3,8 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +from spack.pkg.builtin.boost import Boost + class Dbow2(CMakePackage): """DBoW2 is an improved version of the DBow library, an open source C++ @@ -16,7 +18,10 @@ class Dbow2(CMakePackage): version('shinsumicco', git='https://github.com/shinsumicco/DBoW2.git', branch='master') depends_on('cmake@3.0:', type='build') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('opencv+calib3d+features2d+highgui+imgproc') - depends_on('boost') depends_on('dlib') depends_on('eigen', type='link') diff --git a/var/spack/repos/builtin/packages/dd4hep/package.py b/var/spack/repos/builtin/packages/dd4hep/package.py index 5944743e40..6d54f7840c 100644 --- a/var/spack/repos/builtin/packages/dd4hep/package.py +++ b/var/spack/repos/builtin/packages/dd4hep/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Dd4hep(CMakePackage): @@ -80,8 +81,13 @@ class Dd4hep(CMakePackage): depends_on('cmake @3.12:', type='build') depends_on('ninja', type='build') depends_on('boost @1.49:') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('root @6.08: +gdml +math +python') depends_on('root @6.08: +gdml +math +python +x +opengl', when="+ddeve") + extends('python') depends_on('xerces-c', when='+xercesc') depends_on('geant4@10.2.2:', when='+ddg4') diff --git a/var/spack/repos/builtin/packages/dealii/package.py b/var/spack/repos/builtin/packages/dealii/package.py index c89c0470f9..41038cce00 100644 --- a/var/spack/repos/builtin/packages/dealii/package.py +++ b/var/spack/repos/builtin/packages/dealii/package.py @@ -6,6 +6,7 @@ import os from spack import * +from spack.pkg.builtin.boost import Boost class Dealii(CMakePackage, CudaPackage): @@ -150,6 +151,11 @@ class Dealii(CMakePackage, CudaPackage): depends_on('boost cxxstd=14', when='cxxstd=14') depends_on('boost cxxstd=17', when='cxxstd=17') depends_on('bzip2', when='@:8') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('lapack') depends_on('ninja', type='build') depends_on('suite-sparse') diff --git a/var/spack/repos/builtin/packages/delly2/package.py b/var/spack/repos/builtin/packages/delly2/package.py index dbae3c24c4..d6fc1d0086 100644 --- a/var/spack/repos/builtin/packages/delly2/package.py +++ b/var/spack/repos/builtin/packages/delly2/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Delly2(MakefilePackage): @@ -22,6 +23,10 @@ class Delly2(MakefilePackage): depends_on('htslib', type=('build', 'link')) depends_on('boost', type=('build', 'link')) + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('bcftools', type='run') def edit(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/denovogear/package.py b/var/spack/repos/builtin/packages/denovogear/package.py index 60e11ca4a8..253ff70652 100644 --- a/var/spack/repos/builtin/packages/denovogear/package.py +++ b/var/spack/repos/builtin/packages/denovogear/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Denovogear(CMakePackage): @@ -20,6 +21,11 @@ class Denovogear(CMakePackage): depends_on('cmake@3.1:', type=('build')) depends_on('boost@1.47:1.60', type=('build')) + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, type=('build')) depends_on('htslib@1.2:', type=('build')) depends_on('eigen', type=('build')) depends_on('zlib', type=('link')) diff --git a/var/spack/repos/builtin/packages/dimemas/package.py b/var/spack/repos/builtin/packages/dimemas/package.py index 3a812f48c5..dac17bc75e 100644 --- a/var/spack/repos/builtin/packages/dimemas/package.py +++ b/var/spack/repos/builtin/packages/dimemas/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Dimemas(AutotoolsPackage): @@ -23,6 +24,11 @@ class Dimemas(AutotoolsPackage): depends_on('flex', type=('build', 'link', 'run')) depends_on('boost@1.65.0+program_options cxxstd=11', type=('build', 'link')) + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, type=('build', 'link')) + def autoreconf(self, spec, prefix): autoreconf('--install', '--verbose', '--force') diff --git a/var/spack/repos/builtin/packages/dire/package.py b/var/spack/repos/builtin/packages/dire/package.py index 775a16ed40..cebdce2a78 100644 --- a/var/spack/repos/builtin/packages/dire/package.py +++ b/var/spack/repos/builtin/packages/dire/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Dire(Package): @@ -23,7 +24,11 @@ class Dire(Package): version('2.004', sha256='8cc1213b58fec744fdaa50834560a14b141de99efb2c3e3d3d47f3d6d84b179f') depends_on('zlib') - depends_on('boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('lhapdf') depends_on('hepmc') depends_on('pythia8@8.226:') diff --git a/var/spack/repos/builtin/packages/dssp/package.py b/var/spack/repos/builtin/packages/dssp/package.py index 3544dde5a4..6c0fcbeaac 100644 --- a/var/spack/repos/builtin/packages/dssp/package.py +++ b/var/spack/repos/builtin/packages/dssp/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Dssp(AutotoolsPackage): @@ -21,6 +22,11 @@ class Dssp(AutotoolsPackage): depends_on('m4', type='build') depends_on('boost@1.48:') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) + # pdb data download. # 1ALK.pdb - PDB (protein data bank) : https://www.rcsb.org/ resource( diff --git a/var/spack/repos/builtin/packages/dysco/package.py b/var/spack/repos/builtin/packages/dysco/package.py index db47721cb8..9c31c5f1f4 100644 --- a/var/spack/repos/builtin/packages/dysco/package.py +++ b/var/spack/repos/builtin/packages/dysco/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Dysco(CMakePackage): @@ -17,3 +18,8 @@ class Dysco(CMakePackage): depends_on('casacore') depends_on('gsl') depends_on('boost+date_time+python') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) diff --git a/var/spack/repos/builtin/packages/ecflow/package.py b/var/spack/repos/builtin/packages/ecflow/package.py index cb0c533ba6..bb61bfa59e 100644 --- a/var/spack/repos/builtin/packages/ecflow/package.py +++ b/var/spack/repos/builtin/packages/ecflow/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Ecflow(CMakePackage): @@ -30,6 +31,11 @@ class Ecflow(CMakePackage): # Boost-1.7X release not working well on serialization depends_on('boost@1.53:1.69+python') depends_on('boost@1.53:1.69+pic', when='+static_boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('qt@5:', when='+ui') depends_on('cmake@2.12.11:', type='build') diff --git a/var/spack/repos/builtin/packages/erne/package.py b/var/spack/repos/builtin/packages/erne/package.py index 46b1d29c87..4fbee1dec5 100644 --- a/var/spack/repos/builtin/packages/erne/package.py +++ b/var/spack/repos/builtin/packages/erne/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Erne(AutotoolsPackage): @@ -18,6 +19,11 @@ class Erne(AutotoolsPackage): description='Build with OpenMPI support') depends_on('boost@1.40.0:', type=('build', 'link', 'run')) + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, type=('build', 'link', 'run')) depends_on('openmpi', type=('build', 'run'), when='+mpi') def configure_args(self): diff --git a/var/spack/repos/builtin/packages/ethminer/package.py b/var/spack/repos/builtin/packages/ethminer/package.py index be28a6a4eb..4f6dda8097 100644 --- a/var/spack/repos/builtin/packages/ethminer/package.py +++ b/var/spack/repos/builtin/packages/ethminer/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Ethminer(CMakePackage): @@ -20,7 +21,11 @@ class Ethminer(CMakePackage): description='Build with Stratum protocol support.') depends_on('python') - depends_on('boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('json-c') depends_on('curl') depends_on('zlib') diff --git a/var/spack/repos/builtin/packages/express/package.py b/var/spack/repos/builtin/packages/express/package.py index de38e87d42..26650f98eb 100644 --- a/var/spack/repos/builtin/packages/express/package.py +++ b/var/spack/repos/builtin/packages/express/package.py @@ -7,6 +7,7 @@ import glob import os.path from spack import * +from spack.pkg.builtin.boost import Boost class Express(CMakePackage): @@ -21,7 +22,10 @@ class Express(CMakePackage): version('1.5.2', sha256='25a63cca3dac6bd0daf04d2f0b2275e47d2190c90522bd231b1d7a875a59a52e') version('1.5.1', sha256='fa3522de9cc25f1ede22fa196928912a6da2a2038681911115ec3e4da3d61293') - depends_on('boost') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('bamtools') depends_on('zlib') diff --git a/var/spack/repos/builtin/packages/extrae/package.py b/var/spack/repos/builtin/packages/extrae/package.py index b7309cf58b..cb7eb73ddf 100644 --- a/var/spack/repos/builtin/packages/extrae/package.py +++ b/var/spack/repos/builtin/packages/extrae/package.py @@ -6,6 +6,7 @@ import os from spack import * +from spack.pkg.builtin.boost import Boost # typical working line with extrae 3.0.1 # ./configure @@ -50,7 +51,11 @@ class Extrae(AutotoolsPackage): depends_on("mpi") depends_on("libunwind") - depends_on("boost") + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on("libdwarf") depends_on("papi") depends_on("elf", type="link") diff --git a/var/spack/repos/builtin/packages/fairlogger/package.py b/var/spack/repos/builtin/packages/fairlogger/package.py index 133b7f3f2b..8f7dc95bd9 100644 --- a/var/spack/repos/builtin/packages/fairlogger/package.py +++ b/var/spack/repos/builtin/packages/fairlogger/package.py @@ -6,6 +6,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Fairlogger(CMakePackage): @@ -48,6 +49,11 @@ class Fairlogger(CMakePackage): depends_on('git', type='build', when='@develop') depends_on('boost', when='+pretty') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='+pretty') conflicts('^boost@1.70:', when='^cmake@:3.14') depends_on('fmt@5.3.0:5', when='@1.6.0:1.6.1') depends_on('fmt@5.3.0:', when='@1.6.2:') diff --git a/var/spack/repos/builtin/packages/faodel/package.py b/var/spack/repos/builtin/packages/faodel/package.py index a705c558c7..d9b9ab3d6f 100644 --- a/var/spack/repos/builtin/packages/faodel/package.py +++ b/var/spack/repos/builtin/packages/faodel/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Faodel(CMakePackage): @@ -37,6 +38,11 @@ class Faodel(CMakePackage): depends_on('mpi', when='+mpi') depends_on('boost@1.60.0:') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('cmake@3.8.0:', type='build') depends_on('hdf5+mpi', when='+hdf5+mpi') depends_on('hdf5~mpi', when='+hdf5~mpi') diff --git a/var/spack/repos/builtin/packages/fenics-dolfinx/package.py b/var/spack/repos/builtin/packages/fenics-dolfinx/package.py index 9bdb7d4bb5..5e3deb6780 100644 --- a/var/spack/repos/builtin/packages/fenics-dolfinx/package.py +++ b/var/spack/repos/builtin/packages/fenics-dolfinx/package.py @@ -29,6 +29,7 @@ class FenicsDolfinx(CMakePackage): depends_on("mpi") depends_on("hdf5+mpi") depends_on("boost@1.7.0:+filesystem+program_options+timer") + depends_on("petsc+mpi+shared") depends_on("petsc+mpi+shared@3.15.0:", when="@0.1.0") depends_on("scotch+mpi") diff --git a/var/spack/repos/builtin/packages/fenics/package.py b/var/spack/repos/builtin/packages/fenics/package.py index 5e49137682..b6c6dddc9a 100644 --- a/var/spack/repos/builtin/packages/fenics/package.py +++ b/var/spack/repos/builtin/packages/fenics/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Fenics(CMakePackage): @@ -99,6 +100,11 @@ class Fenics(CMakePackage): depends_on('boost+filesystem+program_options+system+iostreams+timer+regex+chrono') depends_on('boost+filesystem+program_options+system+iostreams+timer+regex+chrono@1.68.0', when='@:2018') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) + depends_on('mpi', when='+mpi') depends_on('hdf5@:1.10+hl+fortran', when='+hdf5+petsc') depends_on('hdf5@:1.10+hl', when='+hdf5~petsc') diff --git a/var/spack/repos/builtin/packages/flann/package.py b/var/spack/repos/builtin/packages/flann/package.py index 97d4cbb6ae..4add28d724 100644 --- a/var/spack/repos/builtin/packages/flann/package.py +++ b/var/spack/repos/builtin/packages/flann/package.py @@ -5,6 +5,7 @@ from spack import * +from spack.pkg.builtin.boost import Boost class Flann(CMakePackage): @@ -67,6 +68,11 @@ class Flann(CMakePackage): # https://github.com/mariusmuja/flann/blob/06a49513138009d19a1f4e0ace67fbff13270c69/CMakeLists.txt#L108-L112 depends_on("boost+mpi+system+serialization+thread", when="+mpi ^hdf5+mpi") + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when="+mpi ^hdf5+mpi") + # Doc deps depends_on("texlive", when="+doc") diff --git a/var/spack/repos/builtin/packages/flecsale/package.py b/var/spack/repos/builtin/packages/flecsale/package.py index 7e06f18ef3..4f1374a21e 100644 --- a/var/spack/repos/builtin/packages/flecsale/package.py +++ b/var/spack/repos/builtin/packages/flecsale/package.py @@ -5,6 +5,7 @@ from spack import * +from spack.pkg.builtin.boost import Boost class Flecsale(CMakePackage): @@ -26,6 +27,11 @@ class Flecsale(CMakePackage): depends_on("openssl") depends_on("boost~mpi", when='~mpi') depends_on("boost+mpi", when='+mpi') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on("exodusii~mpi", when='~mpi') depends_on("exodusii+mpi", when='+mpi') diff --git a/var/spack/repos/builtin/packages/flecsi/package.py b/var/spack/repos/builtin/packages/flecsi/package.py index c77bcb3bf1..84a4cd05a9 100644 --- a/var/spack/repos/builtin/packages/flecsi/package.py +++ b/var/spack/repos/builtin/packages/flecsi/package.py @@ -3,7 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) - from spack import * diff --git a/var/spack/repos/builtin/packages/flecsph/package.py b/var/spack/repos/builtin/packages/flecsph/package.py index c40af6a86d..2aee1a099d 100644 --- a/var/spack/repos/builtin/packages/flecsph/package.py +++ b/var/spack/repos/builtin/packages/flecsph/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Flecsph(CMakePackage): @@ -22,7 +23,13 @@ class Flecsph(CMakePackage): variant('test', default=True, description='Adding tests') depends_on('cmake@3.15:', type='build') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('boost@1.70.0: cxxstd=17 +program_options') + depends_on('mpi') depends_on('hdf5+hl@1.8:') depends_on('flecsi@1.4.2 +external_cinch backend=mpi') diff --git a/var/spack/repos/builtin/packages/flux-sched/package.py b/var/spack/repos/builtin/packages/flux-sched/package.py index 7b73fa49d4..3912731740 100644 --- a/var/spack/repos/builtin/packages/flux-sched/package.py +++ b/var/spack/repos/builtin/packages/flux-sched/package.py @@ -6,6 +6,7 @@ import os from spack import * +from spack.pkg.builtin.boost import Boost class FluxSched(AutotoolsPackage): @@ -39,9 +40,15 @@ class FluxSched(AutotoolsPackage): variant('cuda', default=False, description='Build dependencies with support for CUDA') + # Needs to be seen if tis is needed once we remove the default variants depends_on("boost+graph@1.53.0,1.59.0:") depends_on("py-pyyaml@3.10:", type=('build', 'run')) depends_on("py-jsonschema@2.3:", type=('build', 'run')) + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on("libedit") depends_on("libxml2@2.9.1:") # pin yaml-cpp to 0.6.3 due to issue #886 diff --git a/var/spack/repos/builtin/packages/folly/package.py b/var/spack/repos/builtin/packages/folly/package.py index 3d87fa5561..c4cd76d93c 100644 --- a/var/spack/repos/builtin/packages/folly/package.py +++ b/var/spack/repos/builtin/packages/folly/package.py @@ -24,11 +24,13 @@ class Folly(CMakePackage): # CMakePackage Dependency depends_on('pkgconfig', type='build') - # folly requires gcc 4.9+ and a version of boost compiled with >= C++14 - # TODO: Specify the boost components + # folly requires gcc 5+ and a version of boost compiled with >= C++14 variant('cxxstd', default='14', values=('14', '17'), multi=False, description='Use the specified C++ standard when building.') - depends_on('boost+context+container cxxstd=14', when='cxxstd=14') - depends_on('boost+context+container cxxstd=17', when='cxxstd=17') + # Boost library dependencies: + # CMake threw errors when program_options and thread were not included. + # See https://github.com/spack/spack/pull/22303 for reference + depends_on('boost+container+context+exception+filesystem+program_options+regex+serialization+system+thread cxxstd=14', when='cxxstd=14') + depends_on('boost+container+context+exception+filesystem+program_options+regex+serialization+system+thread cxxstd=17', when='cxxstd=17') # required dependencies depends_on('gflags') diff --git a/var/spack/repos/builtin/packages/foundationdb/package.py b/var/spack/repos/builtin/packages/foundationdb/package.py index 9d93436393..5d1cd06fbf 100644 --- a/var/spack/repos/builtin/packages/foundationdb/package.py +++ b/var/spack/repos/builtin/packages/foundationdb/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Foundationdb(CMakePackage): @@ -24,7 +25,11 @@ class Foundationdb(CMakePackage): depends_on('cmake@3.13.0:', type='build') depends_on('mono') - depends_on('boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) generator = 'Ninja' depends_on('ninja', type='build') diff --git a/var/spack/repos/builtin/packages/gaudi/package.py b/var/spack/repos/builtin/packages/gaudi/package.py index d828f3933f..43716f4a03 100644 --- a/var/spack/repos/builtin/packages/gaudi/package.py +++ b/var/spack/repos/builtin/packages/gaudi/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Gaudi(CMakePackage): @@ -48,6 +49,11 @@ class Gaudi(CMakePackage): # These dependencies are needed for a minimal Gaudi build depends_on('aida') depends_on('boost@1.67.0: +python') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('clhep') depends_on('cmake', type='build') depends_on('cppgsl') diff --git a/var/spack/repos/builtin/packages/geant4/package.py b/var/spack/repos/builtin/packages/geant4/package.py index 010ecabb14..c3d0164218 100644 --- a/var/spack/repos/builtin/packages/geant4/package.py +++ b/var/spack/repos/builtin/packages/geant4/package.py @@ -3,6 +3,9 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +from spack import * +from spack.pkg.builtin.boost import Boost + class Geant4(CMakePackage): """Geant4 is a toolkit for the simulation of the passage of particles @@ -105,6 +108,11 @@ class Geant4(CMakePackage): depends_on('boost@1.70: +python cxxstd=' + std, when='+python cxxstd=' + std) + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='+python') + # Visualization driver dependencies depends_on("gl", when='+opengl') depends_on("glu", when='+opengl') diff --git a/var/spack/repos/builtin/packages/gearshifft/package.py b/var/spack/repos/builtin/packages/gearshifft/package.py index f5ed3879f2..3d2bc53f08 100644 --- a/var/spack/repos/builtin/packages/gearshifft/package.py +++ b/var/spack/repos/builtin/packages/gearshifft/package.py @@ -38,7 +38,7 @@ class Gearshifft(CMakePackage): # depends_on C++14 compiler, e.g. GCC 5.0+ depends_on('cmake@2.8.0:', type='build') - depends_on('boost@1.59.0:') + depends_on('boost@1.59.0:+system+test+program_options+thread') depends_on('cuda@8.0:', when='+cufft') depends_on('opencl@1.2:', when='+clfft') depends_on('clfft@2.12.0:', when='+clfft') diff --git a/var/spack/repos/builtin/packages/gnuradio/package.py b/var/spack/repos/builtin/packages/gnuradio/package.py index 31c43c0d37..5ae88b66c9 100644 --- a/var/spack/repos/builtin/packages/gnuradio/package.py +++ b/var/spack/repos/builtin/packages/gnuradio/package.py @@ -4,6 +4,9 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) +from spack.pkg.builtin.boost import Boost + + class Gnuradio(CMakePackage): """GNU Radio is a free & open-source software development toolkit that provides signal processing blocks to implement software @@ -30,6 +33,11 @@ class Gnuradio(CMakePackage): depends_on('log4cpp@1.0:') # https://github.com/gnuradio/gnuradio/pull/3566 depends_on('boost@1.53:1.72') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('py-numpy', type=('build', 'run')) depends_on('py-click', type=('build', 'run')) depends_on('py-pyyaml', type=('build', 'run')) diff --git a/var/spack/repos/builtin/packages/gource/package.py b/var/spack/repos/builtin/packages/gource/package.py index 33bd385f1b..1c719637e2 100644 --- a/var/spack/repos/builtin/packages/gource/package.py +++ b/var/spack/repos/builtin/packages/gource/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Gource(AutotoolsPackage): @@ -23,6 +24,11 @@ class Gource(AutotoolsPackage): depends_on('freetype@2.0:') depends_on('pcre') depends_on('boost@1.46:+filesystem+system') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('glew') depends_on('jpeg') depends_on('libpng') diff --git a/var/spack/repos/builtin/packages/gplates/package.py b/var/spack/repos/builtin/packages/gplates/package.py index 5bd6f39d4b..79ec2f9ad1 100644 --- a/var/spack/repos/builtin/packages/gplates/package.py +++ b/var/spack/repos/builtin/packages/gplates/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Gplates(CMakePackage): @@ -37,6 +38,10 @@ class Gplates(CMakePackage): # There were changes to Boost's optional in 1.61 that make the build fail. depends_on('boost+python@1.34:1.60') depends_on('python@2.0:2') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) # When built in parallel, headers are not generated before they are used # (specifically, ViewportWindowUi.h) with the Makefiles generator. diff --git a/var/spack/repos/builtin/packages/graphblast/package.py b/var/spack/repos/builtin/packages/graphblast/package.py index fe0abbe3be..bfdb090ec1 100644 --- a/var/spack/repos/builtin/packages/graphblast/package.py +++ b/var/spack/repos/builtin/packages/graphblast/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Graphblast(MakefilePackage, CudaPackage): @@ -19,6 +20,11 @@ class Graphblast(MakefilePackage, CudaPackage): depends_on('boost +program_options') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) + # This package is confirmed to compile with: # gcc@:5.4.0,7.5.0 , boost@1.58.0:1.60.0 , cuda@9: diff --git a/var/spack/repos/builtin/packages/gunrock/package.py b/var/spack/repos/builtin/packages/gunrock/package.py index 9ca07e7933..b64df72c2d 100644 --- a/var/spack/repos/builtin/packages/gunrock/package.py +++ b/var/spack/repos/builtin/packages/gunrock/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Gunrock(CMakePackage, CudaPackage): @@ -52,6 +53,11 @@ class Gunrock(CMakePackage, CudaPackage): depends_on('googletest', when='+google_tests') depends_on('lcov', when='+code_coverage') depends_on('boost@1.58.0:', when='+boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='+boost') depends_on('metis', when='+metis') conflicts('cuda_arch=none', when='+cuda', diff --git a/var/spack/repos/builtin/packages/heaptrack/package.py b/var/spack/repos/builtin/packages/heaptrack/package.py index 7e1760cc23..8ad4785411 100644 --- a/var/spack/repos/builtin/packages/heaptrack/package.py +++ b/var/spack/repos/builtin/packages/heaptrack/package.py @@ -3,6 +3,7 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Heaptrack(CMakePackage): @@ -16,6 +17,11 @@ class Heaptrack(CMakePackage): version('1.1.0', sha256='bd247ac67d1ecf023ec7e2a2888764bfc03e2f8b24876928ca6aa0cdb3a07309') depends_on('boost@1.41:') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('cmake@2.8.9:', type='build') depends_on('elfutils') depends_on('libunwind') diff --git a/var/spack/repos/builtin/packages/helics/package.py b/var/spack/repos/builtin/packages/helics/package.py index 2f188884e2..1e0e945c4b 100644 --- a/var/spack/repos/builtin/packages/helics/package.py +++ b/var/spack/repos/builtin/packages/helics/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Helics(CMakePackage): @@ -56,6 +57,11 @@ class Helics(CMakePackage): depends_on('git', type='build', when='@master:') depends_on('cmake@3.4:', type='build') depends_on('boost@1.70:', type='build', when='+boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, type='build', when='+boost') depends_on('swig@3.0:', type='build', when='+swig') depends_on('libzmq@4.3:', when='+zmq') diff --git a/var/spack/repos/builtin/packages/herwig3/package.py b/var/spack/repos/builtin/packages/herwig3/package.py index 30e5e4de57..277cff8930 100644 --- a/var/spack/repos/builtin/packages/herwig3/package.py +++ b/var/spack/repos/builtin/packages/herwig3/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Herwig3(AutotoolsPackage): @@ -23,7 +24,11 @@ class Herwig3(AutotoolsPackage): depends_on('lhapdf') depends_on('lhapdfsets') depends_on('thepeg@2.2.1', when='@7.2.1') - depends_on('boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('python', type=('build', 'run')) depends_on('gsl') depends_on('fastjet') diff --git a/var/spack/repos/builtin/packages/herwigpp/package.py b/var/spack/repos/builtin/packages/herwigpp/package.py index ade245bf6c..32f3f3cf14 100644 --- a/var/spack/repos/builtin/packages/herwigpp/package.py +++ b/var/spack/repos/builtin/packages/herwigpp/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Herwigpp(AutotoolsPackage): @@ -19,7 +20,11 @@ class Herwigpp(AutotoolsPackage): patch('herwig++-2.7.1.patch', when='@2.7.1', level=0) depends_on('gsl') - depends_on('boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('fastjet') depends_on('thepeg@1.9.2', when='@2.7.1') diff --git a/var/spack/repos/builtin/packages/highfive/package.py b/var/spack/repos/builtin/packages/highfive/package.py index b173b81a07..63d373ab2a 100644 --- a/var/spack/repos/builtin/packages/highfive/package.py +++ b/var/spack/repos/builtin/packages/highfive/package.py @@ -5,6 +5,7 @@ from spack import * +from spack.pkg.builtin.boost import Boost class Highfive(CMakePackage): @@ -28,6 +29,11 @@ class Highfive(CMakePackage): variant('mpi', default=True, description='Support MPI') depends_on('boost @1.41:', when='+boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='+boost') depends_on('hdf5') depends_on('hdf5 +mpi', when='+mpi') diff --git a/var/spack/repos/builtin/packages/hisea/package.py b/var/spack/repos/builtin/packages/hisea/package.py index af6fc9f621..25f566fa66 100644 --- a/var/spack/repos/builtin/packages/hisea/package.py +++ b/var/spack/repos/builtin/packages/hisea/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Hisea(MakefilePackage): @@ -16,7 +17,10 @@ class Hisea(MakefilePackage): version('2017.12.26', sha256='3c6ddfb8490a327cc5f9e45f64cd4312abc6ef5719661ce8892db8a20a1e9c5e', url='https://github.com/lucian-ilie/HISEA/tarball/39e01e98caa0f2101da806ca59306296effe789c') - depends_on('boost') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) def patch(self): if self.spec.target.family == 'aarch64': diff --git a/var/spack/repos/builtin/packages/hpx/package.py b/var/spack/repos/builtin/packages/hpx/package.py index 0d4b310993..303884351b 100644 --- a/var/spack/repos/builtin/packages/hpx/package.py +++ b/var/spack/repos/builtin/packages/hpx/package.py @@ -7,6 +7,7 @@ import sys from spack import * +from spack.pkg.builtin.boost import Boost class Hpx(CMakePackage, CudaPackage, ROCmPackage): @@ -83,7 +84,7 @@ class Hpx(CMakePackage, CudaPackage, ROCmPackage): # Other dependecies depends_on('hwloc') - depends_on('boost') + depends_on(Boost.with_default_variants) for cxxstd in cxxstds: depends_on( "boost cxxstd={0}".format(map_cxxstd(cxxstd)), diff --git a/var/spack/repos/builtin/packages/hssp/package.py b/var/spack/repos/builtin/packages/hssp/package.py index 98b1714758..13746e0ab4 100644 --- a/var/spack/repos/builtin/packages/hssp/package.py +++ b/var/spack/repos/builtin/packages/hssp/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Hssp(AutotoolsPackage): @@ -35,6 +36,11 @@ class Hssp(AutotoolsPackage): depends_on('m4', type='build') depends_on('boost@1.48:') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) + def configure_args(self): args = [ "--with-boost=%s" % self.spec['boost'].prefix] diff --git a/var/spack/repos/builtin/packages/hybrid-lambda/package.py b/var/spack/repos/builtin/packages/hybrid-lambda/package.py index 25534013bf..3ae4ded6bb 100644 --- a/var/spack/repos/builtin/packages/hybrid-lambda/package.py +++ b/var/spack/repos/builtin/packages/hybrid-lambda/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class HybridLambda(AutotoolsPackage): @@ -27,7 +28,11 @@ class HybridLambda(AutotoolsPackage): depends_on('automake', type='build') depends_on('libtool', type='build') depends_on('m4', type='build') - depends_on('boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('cppunit', type='test') build_directory = 'src' diff --git a/var/spack/repos/builtin/packages/hyperscan/package.py b/var/spack/repos/builtin/packages/hyperscan/package.py index 130e0d3951..0337f727b9 100644 --- a/var/spack/repos/builtin/packages/hyperscan/package.py +++ b/var/spack/repos/builtin/packages/hyperscan/package.py @@ -6,6 +6,7 @@ import platform from spack import * +from spack.pkg.builtin.boost import Boost _versions = { 'v5.2.1': { @@ -27,6 +28,9 @@ class Hyperscan(CMakePackage): if pkg: version(ver, sha256=pkg[0], url=pkg[1]) - depends_on('boost') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('pcre') depends_on('ragel', type='build') diff --git a/var/spack/repos/builtin/packages/ibmisc/package.py b/var/spack/repos/builtin/packages/ibmisc/package.py index 55a6249082..1242517616 100644 --- a/var/spack/repos/builtin/packages/ibmisc/package.py +++ b/var/spack/repos/builtin/packages/ibmisc/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Ibmisc(CMakePackage): @@ -46,6 +47,11 @@ class Ibmisc(CMakePackage): depends_on('py-numpy', when='+python', type=('build', 'run')) depends_on('boost', when='+boost') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='+boost') + # Build dependencies depends_on('doxygen', type='build') diff --git a/var/spack/repos/builtin/packages/imp/package.py b/var/spack/repos/builtin/packages/imp/package.py index c3704f9157..8ba8ff661d 100644 --- a/var/spack/repos/builtin/packages/imp/package.py +++ b/var/spack/repos/builtin/packages/imp/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Imp(CMakePackage): @@ -17,5 +18,10 @@ class Imp(CMakePackage): depends_on('python@2.7:') depends_on('swig') depends_on('boost@1.40:') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('hdf5') depends_on('eigen') diff --git a/var/spack/repos/builtin/packages/iq-tree/package.py b/var/spack/repos/builtin/packages/iq-tree/package.py index e8a7243f99..3e4d926671 100644 --- a/var/spack/repos/builtin/packages/iq-tree/package.py +++ b/var/spack/repos/builtin/packages/iq-tree/package.py @@ -5,6 +5,7 @@ from spack import * +from spack.pkg.builtin.boost import Boost class IqTree(CMakePackage): @@ -26,7 +27,10 @@ class IqTree(CMakePackage): # Depends on Eigen3 and zlib - depends_on("boost") + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on("eigen") depends_on("zlib") depends_on('mpi', when='+mpi') diff --git a/var/spack/repos/builtin/packages/jali/package.py b/var/spack/repos/builtin/packages/jali/package.py index e6fc10e8b7..7e204f3991 100644 --- a/var/spack/repos/builtin/packages/jali/package.py +++ b/var/spack/repos/builtin/packages/jali/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Jali(CMakePackage): @@ -32,7 +33,10 @@ class Jali(CMakePackage): depends_on('mpi') - depends_on('boost', when='@:1.1.5') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='@:1.1.5') depends_on('mstk@3.3.5: +exodusii+parallel~use_markers partitioner=all', when='+mstk') diff --git a/var/spack/repos/builtin/packages/kea/package.py b/var/spack/repos/builtin/packages/kea/package.py index 0c6d5d9495..4563501608 100644 --- a/var/spack/repos/builtin/packages/kea/package.py +++ b/var/spack/repos/builtin/packages/kea/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Kea(AutotoolsPackage): @@ -19,4 +20,8 @@ class Kea(AutotoolsPackage): depends_on('automake', type='build') depends_on('libtool', type='build') depends_on('log4cplus') - depends_on('boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) diff --git a/var/spack/repos/builtin/packages/kicad/package.py b/var/spack/repos/builtin/packages/kicad/package.py index 5203e03e6f..e2bca15c3b 100644 --- a/var/spack/repos/builtin/packages/kicad/package.py +++ b/var/spack/repos/builtin/packages/kicad/package.py @@ -3,6 +3,8 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +from spack.pkg.builtin.boost import Boost + class Kicad(CMakePackage): """KiCad is an open source software suite for Electronic Design @@ -24,6 +26,11 @@ class Kicad(CMakePackage): depends_on('gl') depends_on('glm') depends_on('boost@1.56:') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('oce+X11') depends_on('swig', type='build') depends_on('curl') diff --git a/var/spack/repos/builtin/packages/launchmon/package.py b/var/spack/repos/builtin/packages/launchmon/package.py index 40ba35214d..86c7c940bd 100644 --- a/var/spack/repos/builtin/packages/launchmon/package.py +++ b/var/spack/repos/builtin/packages/launchmon/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Launchmon(AutotoolsPackage): @@ -24,7 +25,11 @@ class Launchmon(AutotoolsPackage): depends_on('libgcrypt') depends_on('libgpg-error') depends_on("elf", type='link') - depends_on("boost") + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on("spectrum-mpi", when='arch=ppc64le') patch('launchmon-char-conv.patch', when='@1.0.2') diff --git a/var/spack/repos/builtin/packages/libcudf/package.py b/var/spack/repos/builtin/packages/libcudf/package.py index 3d36589531..d32e6f03e8 100644 --- a/var/spack/repos/builtin/packages/libcudf/package.py +++ b/var/spack/repos/builtin/packages/libcudf/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Libcudf(CMakePackage): @@ -18,7 +19,11 @@ class Libcudf(CMakePackage): depends_on('cmake@3.14:', type='build') depends_on('cuda@10.0:') - depends_on('boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('arrow+cuda+orc+parquet') depends_on('librmm') depends_on('dlpack') diff --git a/var/spack/repos/builtin/packages/libfive/package.py b/var/spack/repos/builtin/packages/libfive/package.py index 06f9cbe244..f1c9bb77de 100644 --- a/var/spack/repos/builtin/packages/libfive/package.py +++ b/var/spack/repos/builtin/packages/libfive/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Libfive(CMakePackage): @@ -19,6 +20,11 @@ class Libfive(CMakePackage): depends_on('pkgconfig', type='build') depends_on('cmake@3.12:', type='build') depends_on('boost@1.65:') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('eigen@3.3.0:') depends_on('libpng') depends_on('python@3:', when='+python', type=('link', 'run')) diff --git a/var/spack/repos/builtin/packages/libint/package.py b/var/spack/repos/builtin/packages/libint/package.py index 2609c7fce6..efc6cb2f56 100644 --- a/var/spack/repos/builtin/packages/libint/package.py +++ b/var/spack/repos/builtin/packages/libint/package.py @@ -6,6 +6,7 @@ import os from spack import * +from spack.pkg.builtin.boost import Boost TUNE_VARIANTS = ( 'none', @@ -56,7 +57,11 @@ class Libint(AutotoolsPackage): depends_on('libtool', type='build') # Libint 2 dependencies - depends_on('boost', when='@2:') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='@2:') depends_on('gmp', when='@2:') for tvariant in TUNE_VARIANTS[1:]: diff --git a/var/spack/repos/builtin/packages/libkml/package.py b/var/spack/repos/builtin/packages/libkml/package.py index 1a0ec1b92d..4e981a0bf0 100644 --- a/var/spack/repos/builtin/packages/libkml/package.py +++ b/var/spack/repos/builtin/packages/libkml/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Libkml(CMakePackage): @@ -26,6 +27,11 @@ class Libkml(CMakePackage): # See DEPENDENCIES depends_on('cmake@2.8:', type='build') depends_on('boost@1.44.0:') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('expat@2.1.0:') depends_on('minizip@1.2.8:') depends_on('uriparser') diff --git a/var/spack/repos/builtin/packages/libmesh/package.py b/var/spack/repos/builtin/packages/libmesh/package.py index bdb7a16935..9c567e6484 100644 --- a/var/spack/repos/builtin/packages/libmesh/package.py +++ b/var/spack/repos/builtin/packages/libmesh/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Libmesh(AutotoolsPackage): @@ -79,6 +80,11 @@ class Libmesh(AutotoolsPackage): 'variant.') depends_on('boost', when='+boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='+boost') depends_on('eigen', when='+eigen') depends_on('hdf5+mpi', when='+hdf5+mpi') depends_on('mpi', when='+mpi') diff --git a/var/spack/repos/builtin/packages/libpulsar/package.py b/var/spack/repos/builtin/packages/libpulsar/package.py index b85b6a1d03..1cf72125de 100644 --- a/var/spack/repos/builtin/packages/libpulsar/package.py +++ b/var/spack/repos/builtin/packages/libpulsar/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Libpulsar(CMakePackage): @@ -19,7 +20,11 @@ class Libpulsar(CMakePackage): sha256='5bf8e5115075e12c848a9e4474cd47067c3200f7ff13c45f624f7383287e8e5e') depends_on('zstd') - depends_on('boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('protobuf') depends_on('pkgconfig') depends_on('openssl') diff --git a/var/spack/repos/builtin/packages/librom/package.py b/var/spack/repos/builtin/packages/librom/package.py index 7c577de336..d144e0bb6f 100644 --- a/var/spack/repos/builtin/packages/librom/package.py +++ b/var/spack/repos/builtin/packages/librom/package.py @@ -3,6 +3,8 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +from spack.pkg.builtin.boost import Boost + class Librom(AutotoolsPackage): """libROM: library for computing large-scale reduced order models""" @@ -20,7 +22,11 @@ class Librom(AutotoolsPackage): depends_on('perl') depends_on('graphviz') depends_on('doxygen') - depends_on('boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) def configure_args(self): spec = self.spec diff --git a/var/spack/repos/builtin/packages/lordec/package.py b/var/spack/repos/builtin/packages/lordec/package.py index ede05850da..571a59d239 100644 --- a/var/spack/repos/builtin/packages/lordec/package.py +++ b/var/spack/repos/builtin/packages/lordec/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Lordec(MakefilePackage): @@ -24,6 +25,10 @@ class Lordec(MakefilePackage): return "https://gite.lirmm.fr/lordec/lordec-releases/uploads/800a96d81b3348e368a0ff3a260a88e1/lordec-src_0.9.tar.bz2" depends_on('boost@1.48.0:1.64.0', type=['build', 'link']) + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('gatb-core@1.4.1:', type=['build', 'link', 'run']) depends_on('zlib', type=['build', 'link']) diff --git a/var/spack/repos/builtin/packages/magics/package.py b/var/spack/repos/builtin/packages/magics/package.py index 00ca752d36..3a2b91b8e4 100644 --- a/var/spack/repos/builtin/packages/magics/package.py +++ b/var/spack/repos/builtin/packages/magics/package.py @@ -7,6 +7,7 @@ import glob import os from spack import * +from spack.pkg.builtin.boost import Boost class Magics(CMakePackage): @@ -72,7 +73,11 @@ class Magics(CMakePackage): # https://github.com/OSGeo/PROJ/wiki/proj.h-adoption-status depends_on('proj@:5', when='@:4.2.6') depends_on('proj@6:', when='@4.3:') - depends_on('boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('expat') # Magics (at least up to version 2.34.3) should directly and diff --git a/var/spack/repos/builtin/packages/mallocmc/package.py b/var/spack/repos/builtin/packages/mallocmc/package.py index 874f14e4a5..f0dea06ec5 100644 --- a/var/spack/repos/builtin/packages/mallocmc/package.py +++ b/var/spack/repos/builtin/packages/mallocmc/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Mallocmc(CMakePackage): @@ -34,4 +35,9 @@ class Mallocmc(CMakePackage): depends_on('cmake@2.8.12.2:', type='build') depends_on('boost@1.48.0:', type='link') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, type='link') depends_on('cuda@5.0:', type='link') diff --git a/var/spack/repos/builtin/packages/mapnik/package.py b/var/spack/repos/builtin/packages/mapnik/package.py index c0cfa45ba4..d51618917c 100644 --- a/var/spack/repos/builtin/packages/mapnik/package.py +++ b/var/spack/repos/builtin/packages/mapnik/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Mapnik(AutotoolsPackage): @@ -21,6 +22,11 @@ class Mapnik(AutotoolsPackage): depends_on('python', type=('build', 'run')) depends_on('boost@:1.72.0 +regex+filesystem+system+icu+program_options cxxstd=11', when='@3.0.23') depends_on('boost@:1.69.0 +regex+filesystem+system+icu+program_options cxxstd=11', when='@3.0.22') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('icu4c') depends_on('zlib') depends_on('freetype') diff --git a/var/spack/repos/builtin/packages/mariadb/package.py b/var/spack/repos/builtin/packages/mariadb/package.py index e117e72b46..93e4bd7e8a 100644 --- a/var/spack/repos/builtin/packages/mariadb/package.py +++ b/var/spack/repos/builtin/packages/mariadb/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Mariadb(CMakePackage): @@ -35,7 +36,10 @@ class Mariadb(CMakePackage): provides('mariadb-client') provides('mysql-client') - depends_on('boost') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('cmake@2.6:', type='build') depends_on('pkgconfig', type='build') depends_on('bison', type='build') diff --git a/var/spack/repos/builtin/packages/masurca/package.py b/var/spack/repos/builtin/packages/masurca/package.py index d29cce3a8e..896cc0155d 100644 --- a/var/spack/repos/builtin/packages/masurca/package.py +++ b/var/spack/repos/builtin/packages/masurca/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Masurca(Package): @@ -20,7 +21,11 @@ class Masurca(Package): version('3.2.9', sha256='795ad4bd42e15cf3ef2e5329aa7e4f2cdeb7e186ce2e350a45127e319db2904b') depends_on('perl', type=('build', 'run')) - depends_on('boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('zlib') patch('arm.patch', when='target=aarch64:') diff --git a/var/spack/repos/builtin/packages/meraculous/package.py b/var/spack/repos/builtin/packages/meraculous/package.py index 04ffd9fe07..e20a4f6c3d 100644 --- a/var/spack/repos/builtin/packages/meraculous/package.py +++ b/var/spack/repos/builtin/packages/meraculous/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Meraculous(CMakePackage, SourceforgePackage): @@ -19,6 +20,11 @@ class Meraculous(CMakePackage, SourceforgePackage): depends_on('perl', type=('build', 'run')) depends_on('boost@1.5.0:') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('gnuplot@3.7:') depends_on('perl-log-log4perl', type=('build', 'run')) diff --git a/var/spack/repos/builtin/packages/mercury/package.py b/var/spack/repos/builtin/packages/mercury/package.py index c0756f9a43..4a39ea90f4 100644 --- a/var/spack/repos/builtin/packages/mercury/package.py +++ b/var/spack/repos/builtin/packages/mercury/package.py @@ -3,6 +3,7 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Mercury(CMakePackage): @@ -53,7 +54,16 @@ class Mercury(CMakePackage): # openpa dependency is removed in 2.1.0 depends_on('openpa@1.0.3:', when='@:2.0.1%gcc@:4.8') depends_on('boost@1.48:', when='+boostsys') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='+boostsys') depends_on('boost', when='@:0.9') # internal boost headers were added in 1.0.0 + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='@:0.9') depends_on('ucx+thread_multiple', when='+ucx') # Fix CMake check_symbol_exists diff --git a/var/spack/repos/builtin/packages/metabat/package.py b/var/spack/repos/builtin/packages/metabat/package.py index d0e37532a9..1d7082b646 100644 --- a/var/spack/repos/builtin/packages/metabat/package.py +++ b/var/spack/repos/builtin/packages/metabat/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Metabat(CMakePackage): @@ -21,6 +22,11 @@ class Metabat(CMakePackage): depends_on('cmake', type='build', when='@2.13:') depends_on('boost@1.55.0:', type=('build', 'run')) + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, type=('build', 'run')) depends_on('perl', type='run') depends_on('zlib', type='link') depends_on('ncurses', type='link') diff --git a/var/spack/repos/builtin/packages/metall/package.py b/var/spack/repos/builtin/packages/metall/package.py index 9c7ec1644d..ee5c0dc5d0 100644 --- a/var/spack/repos/builtin/packages/metall/package.py +++ b/var/spack/repos/builtin/packages/metall/package.py @@ -3,6 +3,8 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +from spack.pkg.builtin.boost import Boost + class Metall(CMakePackage): """A Persistent Memory Allocator For Data-Centric Analytics""" @@ -37,6 +39,11 @@ class Metall(CMakePackage): # to run test (adds a call to 'make test' to the build) depends_on('googletest %gcc@8.1.0:', type=('test')) + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, type=('build', 'link')) + def cmake_args(self): if self.run_tests: args = ['-DBUILD_TEST=ON', '-DSKIP_DOWNLOAD_GTEST=ON'] diff --git a/var/spack/repos/builtin/packages/mgis/package.py b/var/spack/repos/builtin/packages/mgis/package.py index 8006e5ce2b..7cbd960db9 100644 --- a/var/spack/repos/builtin/packages/mgis/package.py +++ b/var/spack/repos/builtin/packages/mgis/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Mgis(CMakePackage): @@ -64,8 +65,13 @@ class Mgis(CMakePackage): depends_on('tfel@master', when="@master") depends_on('boost+python+numpy', when='+python', type=('build', 'link', 'run')) + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='+python') depends_on('py-numpy', when='+python', type=('build', 'link', 'run')) + extends('python', when='+python') def patch(self): diff --git a/var/spack/repos/builtin/packages/miopen-hip/package.py b/var/spack/repos/builtin/packages/miopen-hip/package.py index c79c8ea8c2..51f9c953bd 100644 --- a/var/spack/repos/builtin/packages/miopen-hip/package.py +++ b/var/spack/repos/builtin/packages/miopen-hip/package.py @@ -5,6 +5,7 @@ from spack import * +from spack.pkg.builtin.boost import Boost class MiopenHip(CMakePackage): @@ -33,6 +34,11 @@ class MiopenHip(CMakePackage): depends_on('cmake@3:', type='build') depends_on('pkgconfig', type='build') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('boost@1.67.0:1.73.0') depends_on('bzip2') depends_on('sqlite') diff --git a/var/spack/repos/builtin/packages/miopen-opencl/package.py b/var/spack/repos/builtin/packages/miopen-opencl/package.py index bfe3a13f30..a9a5c08b40 100644 --- a/var/spack/repos/builtin/packages/miopen-opencl/package.py +++ b/var/spack/repos/builtin/packages/miopen-opencl/package.py @@ -5,6 +5,7 @@ from spack import * +from spack.pkg.builtin.boost import Boost class MiopenOpencl(CMakePackage): @@ -33,6 +34,11 @@ class MiopenOpencl(CMakePackage): depends_on('cmake@3:', type='build') depends_on('boost@1.67.0:1.73.0', type='link') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, type='link') depends_on('pkgconfig', type='build') depends_on('bzip2', type='link') depends_on('sqlite', type='link') diff --git a/var/spack/repos/builtin/packages/mira/package.py b/var/spack/repos/builtin/packages/mira/package.py index 0722a6cfdc..ebc2ca45e7 100644 --- a/var/spack/repos/builtin/packages/mira/package.py +++ b/var/spack/repos/builtin/packages/mira/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Mira(AutotoolsPackage): @@ -16,6 +17,11 @@ class Mira(AutotoolsPackage): version('4.0.2', sha256='a32cb2b21e0968a5536446287c895fe9e03d11d78957554e355c1080b7b92a80') depends_on('boost@1.46:') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('expat@2.0.1:') depends_on('gperftools') diff --git a/var/spack/repos/builtin/packages/modern-wheel/package.py b/var/spack/repos/builtin/packages/modern-wheel/package.py index 01a203596f..69f5b1ca2f 100644 --- a/var/spack/repos/builtin/packages/modern-wheel/package.py +++ b/var/spack/repos/builtin/packages/modern-wheel/package.py @@ -6,6 +6,7 @@ import sys from spack import * +from spack.pkg.builtin.boost import Boost class ModernWheel(CMakePackage): @@ -37,6 +38,11 @@ class ModernWheel(CMakePackage): depends_on('boost +system +filesystem', when='@:1.1') depends_on('boost@:1.65 +system +filesystem', when='@1.2:') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) + # add virtual destructor to BaseMultiParms class. patch('add_virtual_destructor.patch') diff --git a/var/spack/repos/builtin/packages/mofem-cephas/package.py b/var/spack/repos/builtin/packages/mofem-cephas/package.py index b4f04cf558..53324b902e 100644 --- a/var/spack/repos/builtin/packages/mofem-cephas/package.py +++ b/var/spack/repos/builtin/packages/mofem-cephas/package.py @@ -5,6 +5,7 @@ from spack import * +from spack.pkg.builtin.boost import Boost class MofemCephas(CMakePackage): @@ -39,6 +40,11 @@ class MofemCephas(CMakePackage): depends_on("mpi") depends_on("boost@:1.68") + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on("parmetis") # Fixed version of hdf5, to remove some problems with dependent # packages, f.e. MED format diff --git a/var/spack/repos/builtin/packages/mothur/package.py b/var/spack/repos/builtin/packages/mothur/package.py index 5fb280bb24..0db8e5f5c3 100644 --- a/var/spack/repos/builtin/packages/mothur/package.py +++ b/var/spack/repos/builtin/packages/mothur/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Mothur(MakefilePackage): @@ -22,7 +23,10 @@ class Mothur(MakefilePackage): variant('vsearch', default=False, description='Use vsearch') - depends_on('boost') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('readline') depends_on('vsearch@2.13.3', when='+vsearch', type='run') diff --git a/var/spack/repos/builtin/packages/mrnet/package.py b/var/spack/repos/builtin/packages/mrnet/package.py index ff7cf4755a..d5a7461419 100644 --- a/var/spack/repos/builtin/packages/mrnet/package.py +++ b/var/spack/repos/builtin/packages/mrnet/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Mrnet(AutotoolsPackage): @@ -24,7 +25,10 @@ class Mrnet(AutotoolsPackage): description="Also build the MRNet LW threadsafe libraries") parallel = False - depends_on("boost") + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) def configure_args(self): spec = self.spec diff --git a/var/spack/repos/builtin/packages/multiverso/package.py b/var/spack/repos/builtin/packages/multiverso/package.py index 1092d2a035..dd35d11ec3 100644 --- a/var/spack/repos/builtin/packages/multiverso/package.py +++ b/var/spack/repos/builtin/packages/multiverso/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Multiverso(CMakePackage): @@ -19,7 +20,11 @@ class Multiverso(CMakePackage): version('0.2', sha256='40e86543968faa2fe203cf0b004a4c7905303db0c860efe4ce4e1f27e46394fc') depends_on('mpi') - depends_on('boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) patch('cmake-143187.patch', when='@143187') diff --git a/var/spack/repos/builtin/packages/muster/package.py b/var/spack/repos/builtin/packages/muster/package.py index 98f33f5851..b419120815 100644 --- a/var/spack/repos/builtin/packages/muster/package.py +++ b/var/spack/repos/builtin/packages/muster/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Muster(CMakePackage): @@ -19,6 +20,9 @@ class Muster(CMakePackage): version('1.0.1', sha256='71e2fcdd7abf7ae5cc648a5f310e1c5369e4889718eab2a045e747c590d2dd71') version('1.0', sha256='370a670419e391494fcca0294882ee5f83c5d8af94ca91ac4182235332bd56d6') - depends_on('boost') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('mpi') depends_on('cmake@2.8:', type='build') diff --git a/var/spack/repos/builtin/packages/mysql/package.py b/var/spack/repos/builtin/packages/mysql/package.py index 0a157e2fee..d4bac8c467 100644 --- a/var/spack/repos/builtin/packages/mysql/package.py +++ b/var/spack/repos/builtin/packages/mysql/package.py @@ -2,10 +2,12 @@ # Spack Project Developers. See the top-level COPYRIGHT file for details. # # SPDX-License-Identifier: (Apache-2.0 OR MIT) + import os import tempfile from spack import * +from spack.pkg.builtin.boost import Boost class Mysql(CMakePackage): @@ -110,6 +112,11 @@ class Mysql(CMakePackage): depends_on('boost@1.59.0 cxxstd=14', when='@5.7.0:5.7 cxxstd=14') depends_on('boost@1.59.0 cxxstd=17', when='@5.7.0:5.7 cxxstd=17') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='@5.7:') + depends_on('rpcsvc-proto') depends_on('ncurses') depends_on('openssl') diff --git a/var/spack/repos/builtin/packages/n2p2/package.py b/var/spack/repos/builtin/packages/n2p2/package.py index 17692f3114..35ee83ac8f 100644 --- a/var/spack/repos/builtin/packages/n2p2/package.py +++ b/var/spack/repos/builtin/packages/n2p2/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class N2p2(MakefilePackage): @@ -46,7 +47,10 @@ class N2p2(MakefilePackage): depends_on("py-sphinx", type="build", when="+doc") depends_on("py-sphinx-rtd-theme", type="build", when="+doc") - depends_on("boost", type="link") + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, type="link") depends_on("lcov", type=("build", "run")) depends_on("py-pytest", type=("build", "run")) depends_on("py-pytest-cov", type="run") diff --git a/var/spack/repos/builtin/packages/nalu-wind/package.py b/var/spack/repos/builtin/packages/nalu-wind/package.py index a236c22cc2..6e7569470d 100644 --- a/var/spack/repos/builtin/packages/nalu-wind/package.py +++ b/var/spack/repos/builtin/packages/nalu-wind/package.py @@ -68,10 +68,10 @@ class NaluWind(CMakePackage, CudaPackage): when='+hypre+cuda cuda_arch={0}'.format(_arch)) depends_on('trilinos-catalyst-ioss-adapter', when='+catalyst') depends_on('fftw+mpi', when='+fftw') - depends_on('boost cxxstd=14', when='+boost') depends_on('nccmp') # indirect dependency needed to make original concretizer work depends_on('netcdf-c+parallel-netcdf') + depends_on('boost +filesystem +iostreams cxxstd=14', when='+boost') def cmake_args(self): spec = self.spec diff --git a/var/spack/repos/builtin/packages/ncbi-toolkit/package.py b/var/spack/repos/builtin/packages/ncbi-toolkit/package.py index e34248d984..99322b683b 100644 --- a/var/spack/repos/builtin/packages/ncbi-toolkit/package.py +++ b/var/spack/repos/builtin/packages/ncbi-toolkit/package.py @@ -6,6 +6,7 @@ from glob import glob from spack import * +from spack.pkg.builtin.boost import Boost class NcbiToolkit(AutotoolsPackage): @@ -23,6 +24,11 @@ class NcbiToolkit(AutotoolsPackage): description='Build debug versions of libs and apps') depends_on('boost@1.35.0:') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('bzip2') depends_on('jpeg') depends_on('libpng') diff --git a/var/spack/repos/builtin/packages/nektar/package.py b/var/spack/repos/builtin/packages/nektar/package.py index 3f34a0d078..6956427f3e 100644 --- a/var/spack/repos/builtin/packages/nektar/package.py +++ b/var/spack/repos/builtin/packages/nektar/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Nektar(CMakePackage): @@ -28,6 +29,11 @@ class Nektar(CMakePackage): depends_on('blas') depends_on('lapack') depends_on('boost@1.56.0: +iostreams') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('tinyxml', when='platform=darwin') depends_on('mpi', when='+mpi') diff --git a/var/spack/repos/builtin/packages/nix/package.py b/var/spack/repos/builtin/packages/nix/package.py index ee6f404693..60e41873ed 100644 --- a/var/spack/repos/builtin/packages/nix/package.py +++ b/var/spack/repos/builtin/packages/nix/package.py @@ -8,6 +8,7 @@ import stat import tempfile from spack import * +from spack.pkg.builtin.boost import Boost class Nix(AutotoolsPackage): @@ -44,6 +45,11 @@ class Nix(AutotoolsPackage): depends_on('boost@1.66.0:+coroutine+context cxxstd=14', when='@2.2.0:') depends_on('boost@1.61.0:+coroutine+context cxxstd=14', when='@2.0.0:') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='@2.0.0:') depends_on('brotli') depends_on('editline') diff --git a/var/spack/repos/builtin/packages/ns-3-dev/package.py b/var/spack/repos/builtin/packages/ns-3-dev/package.py index e66757f0e3..6e75c8d441 100644 --- a/var/spack/repos/builtin/packages/ns-3-dev/package.py +++ b/var/spack/repos/builtin/packages/ns-3-dev/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Ns3Dev(WafPackage): @@ -32,7 +33,11 @@ class Ns3Dev(WafPackage): # Build dependency depends_on('helics', when='+helics') - depends_on('boost', when='+boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='+boost') depends_on('pkgconfig', type='build') resource(name='helics', diff --git a/var/spack/repos/builtin/packages/openbabel/package.py b/var/spack/repos/builtin/packages/openbabel/package.py index 3617e91589..0818efaa86 100644 --- a/var/spack/repos/builtin/packages/openbabel/package.py +++ b/var/spack/repos/builtin/packages/openbabel/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Openbabel(CMakePackage): @@ -29,7 +30,11 @@ class Openbabel(CMakePackage): depends_on('cmake@3.1:', type='build') depends_on('pkgconfig', type='build') depends_on('swig@2.0:', type='build', when='+python') - depends_on('boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('cairo') # required to support PNG depiction depends_on('pango') # custom cairo requires custom pango depends_on('eigen@3.0:') # required if using the language bindings diff --git a/var/spack/repos/builtin/packages/openfoam/package.py b/var/spack/repos/builtin/packages/openfoam/package.py index df1bb8e4df..5535d604b9 100644 --- a/var/spack/repos/builtin/packages/openfoam/package.py +++ b/var/spack/repos/builtin/packages/openfoam/package.py @@ -47,6 +47,7 @@ import re import llnl.util.tty as tty from spack import * +from spack.pkg.builtin.boost import Boost from spack.util.environment import EnvironmentModifications # Not the nice way of doing things, but is a start for refactoring @@ -319,7 +320,12 @@ class Openfoam(Package): depends_on('zlib') depends_on('fftw-api') - depends_on('boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) + # OpenFOAM does not play nice with CGAL 5.X depends_on('cgal@:4') # The flex restriction is ONLY to deal with a spec resolution clash diff --git a/var/spack/repos/builtin/packages/openimageio/package.py b/var/spack/repos/builtin/packages/openimageio/package.py index f943731d14..fd51429f68 100644 --- a/var/spack/repos/builtin/packages/openimageio/package.py +++ b/var/spack/repos/builtin/packages/openimageio/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Openimageio(CMakePackage): @@ -19,6 +20,11 @@ class Openimageio(CMakePackage): # Core dependencies depends_on('cmake@3.2.2:', type='build') depends_on('boost@1.53:', type=('build', 'link')) + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, type=('build', 'link')) depends_on('libtiff@4.0:', type=('build', 'link')) depends_on('openexr@2.3:', type=('build', 'link')) depends_on('libpng@1.6:', type=('build', 'link')) diff --git a/var/spack/repos/builtin/packages/openspeedshop-utils/package.py b/var/spack/repos/builtin/packages/openspeedshop-utils/package.py index a23888c8db..840bad4c43 100644 --- a/var/spack/repos/builtin/packages/openspeedshop-utils/package.py +++ b/var/spack/repos/builtin/packages/openspeedshop-utils/package.py @@ -3,12 +3,10 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -import os -import os.path - import spack import spack.store from spack import * +from spack.pkg.builtin.boost import Boost class OpenspeedshopUtils(CMakePackage): @@ -81,6 +79,10 @@ class OpenspeedshopUtils(CMakePackage): # For boost depends_on("boost@1.66.0:1.69.0") + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on("dyninst@master", when='@develop') depends_on("dyninst@10:", when='@2.4.0:9999') diff --git a/var/spack/repos/builtin/packages/openspeedshop/package.py b/var/spack/repos/builtin/packages/openspeedshop/package.py index 35cdf531de..9c0faa8f15 100644 --- a/var/spack/repos/builtin/packages/openspeedshop/package.py +++ b/var/spack/repos/builtin/packages/openspeedshop/package.py @@ -3,10 +3,9 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -import os - import spack.store from spack import * +from spack.pkg.builtin.boost import Boost class Openspeedshop(CMakePackage): @@ -77,6 +76,10 @@ class Openspeedshop(CMakePackage): # For boost depends_on("boost@1.70.0:") + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on("dyninst@master", when='@develop') depends_on("dyninst@10:", when='@2.4.0:9999') diff --git a/var/spack/repos/builtin/packages/pagmo/package.py b/var/spack/repos/builtin/packages/pagmo/package.py index 96b67aa509..f34a65b88b 100644 --- a/var/spack/repos/builtin/packages/pagmo/package.py +++ b/var/spack/repos/builtin/packages/pagmo/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Pagmo(CMakePackage): @@ -51,6 +52,11 @@ class Pagmo(CMakePackage): depends_on('boost+system+serialization+thread+date_time', when='~python+gtop') depends_on('boost+system+serialization+thread+python+date_time', when='+python+gtop') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) + depends_on('gsl@1.15:', when='+gsl') depends_on('ipopt', when='+ipopt') depends_on('mpi@1.2:', when='+mpi') diff --git a/var/spack/repos/builtin/packages/paradiseo/package.py b/var/spack/repos/builtin/packages/paradiseo/package.py index 06cc8555b8..701be57bca 100644 --- a/var/spack/repos/builtin/packages/paradiseo/package.py +++ b/var/spack/repos/builtin/packages/paradiseo/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Paradiseo(CMakePackage): @@ -44,6 +45,11 @@ class Paradiseo(CMakePackage): depends_on("boost~mpi", when='+edo~mpi') depends_on("boost+mpi", when='+edo+mpi') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='+edo') + # Patches patch('enable_eoserial.patch') patch('fix_osx_detection.patch') diff --git a/var/spack/repos/builtin/packages/parquet-cpp/package.py b/var/spack/repos/builtin/packages/parquet-cpp/package.py index a7b11a60cc..470c2308c4 100644 --- a/var/spack/repos/builtin/packages/parquet-cpp/package.py +++ b/var/spack/repos/builtin/packages/parquet-cpp/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class ParquetCpp(CMakePackage): @@ -16,7 +17,11 @@ class ParquetCpp(CMakePackage): version('1.4.0', sha256='52899be6c9dc49a14976d4ad84597243696c3fa2882e5c802b56e912bfbcc7ce') depends_on('arrow') - depends_on('boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('cmake@3.2.0:', type='build') depends_on('pkgconfig', type='build') depends_on('thrift+pic') diff --git a/var/spack/repos/builtin/packages/parsplice/package.py b/var/spack/repos/builtin/packages/parsplice/package.py index e92bedc8f2..b6364e9e2c 100644 --- a/var/spack/repos/builtin/packages/parsplice/package.py +++ b/var/spack/repos/builtin/packages/parsplice/package.py @@ -5,6 +5,7 @@ from spack import * +from spack.pkg.builtin.boost import Boost class Parsplice(CMakePackage): @@ -24,6 +25,11 @@ class Parsplice(CMakePackage): depends_on("berkeley-db") depends_on("nauty") depends_on("boost cxxstd=11") + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on("mpi") depends_on("eigen@3:") depends_on("lammps+lib@20170901:") diff --git a/var/spack/repos/builtin/packages/pbbam/package.py b/var/spack/repos/builtin/packages/pbbam/package.py index 1f805a86ff..04da6e6351 100644 --- a/var/spack/repos/builtin/packages/pbbam/package.py +++ b/var/spack/repos/builtin/packages/pbbam/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Pbbam(CMakePackage): @@ -19,6 +20,11 @@ class Pbbam(CMakePackage): depends_on('zlib') depends_on('boost@1.55.0:') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('htslib@1.3.1:') depends_on('doxygen+graphviz') diff --git a/var/spack/repos/builtin/packages/pcl/package.py b/var/spack/repos/builtin/packages/pcl/package.py index 692c1bdfd5..fdecb69e99 100644 --- a/var/spack/repos/builtin/packages/pcl/package.py +++ b/var/spack/repos/builtin/packages/pcl/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Pcl(CMakePackage): @@ -19,3 +20,8 @@ class Pcl(CMakePackage): depends_on('eigen@3.1:') depends_on('flann@1.7:') depends_on('boost@1.55:+filesystem+date_time+iostreams+system') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) diff --git a/var/spack/repos/builtin/packages/percept/package.py b/var/spack/repos/builtin/packages/percept/package.py index 9ca2e53ff3..673f361897 100644 --- a/var/spack/repos/builtin/packages/percept/package.py +++ b/var/spack/repos/builtin/packages/percept/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Percept(CMakePackage): @@ -24,6 +25,11 @@ class Percept(CMakePackage): depends_on('googletest~shared') depends_on('opennurbs@percept') depends_on('boost+graph+mpi') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('yaml-cpp+pic~shared@0.5.3:') depends_on('trilinos~shared+exodus+mpi+tpetra+epetra+epetraext+muelu+belos+ifpack2+amesos2+zoltan+stk+boost~superlu-dist+superlu+hdf5+aztec+sacado~openmp+shards+intrepid@master,12.14.1:') diff --git a/var/spack/repos/builtin/packages/percona-server/package.py b/var/spack/repos/builtin/packages/percona-server/package.py index ee9060c80d..ea95c4be20 100644 --- a/var/spack/repos/builtin/packages/percona-server/package.py +++ b/var/spack/repos/builtin/packages/percona-server/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class PerconaServer(CMakePackage): @@ -18,6 +19,11 @@ class PerconaServer(CMakePackage): version('8.0.18-9', sha256='e79a8c1ae5f2271c0b344494a299a9bbbada88d3bce87449b7de274d17d1ccd0') depends_on('boost@1.70.0') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('openssl') depends_on('ncurses') depends_on('readline') diff --git a/var/spack/repos/builtin/packages/piranha/package.py b/var/spack/repos/builtin/packages/piranha/package.py index 6dd5a6f84d..ed1ed252a9 100644 --- a/var/spack/repos/builtin/packages/piranha/package.py +++ b/var/spack/repos/builtin/packages/piranha/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Piranha(CMakePackage): @@ -31,6 +32,11 @@ class Piranha(CMakePackage): when='~python') depends_on('boost+iostreams+regex+serialization+python', when='+python') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('bzip2') depends_on('gmp') # mpir is a drop-in replacement for this depends_on('mpfr') # Could also be built against mpir diff --git a/var/spack/repos/builtin/packages/pktools/package.py b/var/spack/repos/builtin/packages/pktools/package.py index 2d2deb5bd2..ec4c9af8d0 100644 --- a/var/spack/repos/builtin/packages/pktools/package.py +++ b/var/spack/repos/builtin/packages/pktools/package.py @@ -5,6 +5,7 @@ from spack import * +from spack.pkg.builtin.boost import Boost class Pktools(CMakePackage): @@ -23,7 +24,11 @@ class Pktools(CMakePackage): depends_on('gsl') depends_on('armadillo') depends_on('nlopt') - depends_on('boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('fann', when='+fann') depends_on('liblas', when='+liblas') diff --git a/var/spack/repos/builtin/packages/polymake/package.py b/var/spack/repos/builtin/packages/polymake/package.py index 2d5f4b6810..6213f5f8b6 100644 --- a/var/spack/repos/builtin/packages/polymake/package.py +++ b/var/spack/repos/builtin/packages/polymake/package.py @@ -3,6 +3,7 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Polymake(Package): @@ -16,7 +17,11 @@ class Polymake(Package): # Note: Could also be built with nauty instead of bliss depends_on("bliss") - depends_on("boost") + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on("cddlib") depends_on("gmp") depends_on("lrslib") diff --git a/var/spack/repos/builtin/packages/povray/package.py b/var/spack/repos/builtin/packages/povray/package.py index 66c97547d3..8b0c51d0f8 100644 --- a/var/spack/repos/builtin/packages/povray/package.py +++ b/var/spack/repos/builtin/packages/povray/package.py @@ -10,6 +10,7 @@ import getpass import socket from spack import * +from spack.pkg.builtin.boost import Boost class Povray(AutotoolsPackage): @@ -61,6 +62,11 @@ class Povray(AutotoolsPackage): depends_on('perl', type='build') depends_on('m4', type='build') depends_on('boost@1.37:', when='+boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='+boost') depends_on('zlib@1.2.1:', when='+zlib') depends_on('libpng@1.2.5:', when='+libpng') depends_on('jpeg', when='+jpeg') diff --git a/var/spack/repos/builtin/packages/precice/package.py b/var/spack/repos/builtin/packages/precice/package.py index 1a67c176de..ce64cb67bb 100644 --- a/var/spack/repos/builtin/packages/precice/package.py +++ b/var/spack/repos/builtin/packages/precice/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Precice(CMakePackage): @@ -52,6 +53,11 @@ class Precice(CMakePackage): depends_on('boost@1.65.1:', when='@1.4:') depends_on('boost@:1.72', when='@:2.0.2') depends_on('boost@:1.74', when='@:2.1.1') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('eigen@3.2:') depends_on('eigen@:3.3.7', type='build', when='@:1.5') # bug in prettyprint depends_on('libxml2') diff --git a/var/spack/repos/builtin/packages/py-espresso/package.py b/var/spack/repos/builtin/packages/py-espresso/package.py index a7a5b51829..71a5232982 100644 --- a/var/spack/repos/builtin/packages/py-espresso/package.py +++ b/var/spack/repos/builtin/packages/py-espresso/package.py @@ -5,6 +5,7 @@ from spack import * +from spack.pkg.builtin.boost import Boost class PyEspresso(CMakePackage): @@ -33,6 +34,11 @@ class PyEspresso(CMakePackage): depends_on("cmake@3.0:", type='build') depends_on("mpi") depends_on("boost+serialization+filesystem+system+python+mpi") + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) extends("python") depends_on("py-cython@0.23:", type="build") depends_on("py-numpy", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-pycuda/package.py b/var/spack/repos/builtin/packages/py-pycuda/package.py index 91733e833d..bb5a965840 100644 --- a/var/spack/repos/builtin/packages/py-pycuda/package.py +++ b/var/spack/repos/builtin/packages/py-pycuda/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class PyPycuda(PythonPackage): @@ -34,6 +35,10 @@ class PyPycuda(PythonPackage): depends_on('py-setuptools', type='build') depends_on('cuda') depends_on('boost+python') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('python@3.6:3', type=('build', 'run'), when='@2020.1:') depends_on('py-numpy@1.6:', type=('build', 'run')) depends_on('py-pytools@2011.2:', type=('build', 'run')) diff --git a/var/spack/repos/builtin/packages/py-python-mapnik/package.py b/var/spack/repos/builtin/packages/py-python-mapnik/package.py index 9fc1e63755..c603e2a2cb 100644 --- a/var/spack/repos/builtin/packages/py-python-mapnik/package.py +++ b/var/spack/repos/builtin/packages/py-python-mapnik/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class PyPythonMapnik(PythonPackage): @@ -20,6 +21,11 @@ class PyPythonMapnik(PythonPackage): depends_on('py-setuptools', type='build') depends_on('mapnik', type=('build', 'link', 'run')) depends_on('boost +python+thread') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) # py-pycairo is need by mapnik.printing depends_on('py-pycairo', type=('build', 'run')) diff --git a/var/spack/repos/builtin/packages/py-quast/package.py b/var/spack/repos/builtin/packages/py-quast/package.py index d0eeb27e31..bc5042b644 100644 --- a/var/spack/repos/builtin/packages/py-quast/package.py +++ b/var/spack/repos/builtin/packages/py-quast/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class PyQuast(PythonPackage): @@ -17,6 +18,11 @@ class PyQuast(PythonPackage): version('4.6.0', sha256='6bee86654b457a981718a19acacffca6a3e74f30997ad06162a70fd2a181ca2e') depends_on('boost@1.56.0') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('perl@5.6.0:') depends_on('python@2.5:,3.3:') depends_on('py-setuptools', type='build') diff --git a/var/spack/repos/builtin/packages/qmcpack/package.py b/var/spack/repos/builtin/packages/qmcpack/package.py index 4f2f780aad..cedd006fbb 100644 --- a/var/spack/repos/builtin/packages/qmcpack/package.py +++ b/var/spack/repos/builtin/packages/qmcpack/package.py @@ -6,6 +6,7 @@ import llnl.util.tty as tty from spack import * +from spack.pkg.builtin.boost import Boost class Qmcpack(CMakePackage, CudaPackage): @@ -155,7 +156,11 @@ class Qmcpack(CMakePackage, CudaPackage): depends_on('cmake@3.4.3:', when='@:3.5.0', type='build') depends_on('cmake@3.6.0:', when='@3.6.0:', type='build') depends_on('cmake@3.14.0:', when='@3.10.0:', type='build') - depends_on('boost', type='build') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, type='build') depends_on('boost@1.61.0:', when='@3.6.0:', type='build') depends_on('libxml2') depends_on('mpi', when='+mpi') diff --git a/var/spack/repos/builtin/packages/quinoa/package.py b/var/spack/repos/builtin/packages/quinoa/package.py index 1f824ae994..6d7fb58bc0 100644 --- a/var/spack/repos/builtin/packages/quinoa/package.py +++ b/var/spack/repos/builtin/packages/quinoa/package.py @@ -5,6 +5,7 @@ from spack import * +from spack.pkg.builtin.boost import Boost class Quinoa(CMakePackage): @@ -22,7 +23,10 @@ class Quinoa(CMakePackage): depends_on('hdf5+mpi') depends_on("charmpp backend=mpi") depends_on("trilinos+exodus+mpi") - depends_on("boost") + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on("hypre~internal-superlu") depends_on("random123") depends_on("netlib-lapack+lapacke") diff --git a/var/spack/repos/builtin/packages/r-phantompeakqualtools/package.py b/var/spack/repos/builtin/packages/r-phantompeakqualtools/package.py index 87d80217e4..5a2e56ce69 100644 --- a/var/spack/repos/builtin/packages/r-phantompeakqualtools/package.py +++ b/var/spack/repos/builtin/packages/r-phantompeakqualtools/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class RPhantompeakqualtools(RPackage): @@ -18,6 +19,11 @@ class RPhantompeakqualtools(RPackage): version('1.14', sha256='d03be6163e82aed72298e54a92c181570f9975a395f57a69b21ac02b1001520b') depends_on('boost@1.41.0:') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('r-catools', type=('build', 'run')) depends_on('r-snow', type=('build', 'run')) depends_on('r-snowfall', type=('build', 'run')) diff --git a/var/spack/repos/builtin/packages/range-v3/package.py b/var/spack/repos/builtin/packages/range-v3/package.py index e5367c576c..99021a1d97 100644 --- a/var/spack/repos/builtin/packages/range-v3/package.py +++ b/var/spack/repos/builtin/packages/range-v3/package.py @@ -7,6 +7,7 @@ import os import shutil from spack import * +from spack.pkg.builtin.boost import Boost class RangeV3(CMakePackage): @@ -74,6 +75,11 @@ class RangeV3(CMakePackage): depends_on('boost@1.59.0: cxxstd=17', type='build', when='+examples cxxstd=17') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, type='build') + # Fix reported upstream issue # https://github.com/ericniebler/range-v3/issues/1196 per PR # https://github.com/ericniebler/range-v3/pull/1202. diff --git a/var/spack/repos/builtin/packages/revbayes/package.py b/var/spack/repos/builtin/packages/revbayes/package.py index af59d22595..77fe158e64 100644 --- a/var/spack/repos/builtin/packages/revbayes/package.py +++ b/var/spack/repos/builtin/packages/revbayes/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Revbayes(CMakePackage): @@ -24,7 +25,10 @@ class Revbayes(CMakePackage): variant('mpi', default=True, description='Enable MPI parallel support') - depends_on('boost') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('mpi', when='+mpi') conflicts('%gcc@7.1.0:', when='@:1.0.12') diff --git a/var/spack/repos/builtin/packages/rivet/package.py b/var/spack/repos/builtin/packages/rivet/package.py index 5751b391b0..3b8b1783ea 100644 --- a/var/spack/repos/builtin/packages/rivet/package.py +++ b/var/spack/repos/builtin/packages/rivet/package.py @@ -6,6 +6,7 @@ import os from spack import * +from spack.pkg.builtin.boost import Boost class Rivet(AutotoolsPackage): @@ -109,6 +110,11 @@ class Rivet(AutotoolsPackage): depends_on('hepmc', type=('build', 'link', 'run'), when='hepmc=2') depends_on('hepmc3', type=('build', 'link', 'run'), when='hepmc=3') depends_on('boost', when='@:2.5.0', type=('build', 'run')) + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='@:2.5.0', type=('build', 'run')) depends_on('fastjet', type=('build', 'run')) depends_on('fjcontrib', type=('build', 'run'), when='@3.0.0:') depends_on('gsl', type=('build', 'run'), when='@:2.6.0,2.6.2:2') diff --git a/var/spack/repos/builtin/packages/rocm-tensile/package.py b/var/spack/repos/builtin/packages/rocm-tensile/package.py index 98b8bc6112..5cb417facc 100644 --- a/var/spack/repos/builtin/packages/rocm-tensile/package.py +++ b/var/spack/repos/builtin/packages/rocm-tensile/package.py @@ -5,6 +5,7 @@ from spack import * +from spack.pkg.builtin.boost import Boost class RocmTensile(CMakePackage): @@ -42,6 +43,7 @@ class RocmTensile(CMakePackage): # This is the default library format since 3.7.0 depends_on('msgpack-c@3:', when='@3.7:') depends_on('boost', type=('build', 'link')) + depends_on(Boost.with_default_variants) for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0', '4.3.0', '4.3.1', '4.5.0', '4.5.2']: diff --git a/var/spack/repos/builtin/packages/rose/package.py b/var/spack/repos/builtin/packages/rose/package.py index 6986f32868..ec44654524 100644 --- a/var/spack/repos/builtin/packages/rose/package.py +++ b/var/spack/repos/builtin/packages/rose/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Rose(AutotoolsPackage): @@ -69,6 +70,11 @@ class Rose(AutotoolsPackage): depends_on("boost@1.60.0:1.64.0,1.65.1,1.66.0:1.67.0 cxxstd=11", when="+cxx11") depends_on("boost@1.60.0:1.64.0,1.65.1,1.66.0:1.67.0", when="~cxx11") + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) + # -------------------------------------------------------------------------- # Variants # -------------------------------------------------------------------------- diff --git a/var/spack/repos/builtin/packages/sailfish/package.py b/var/spack/repos/builtin/packages/sailfish/package.py index 81790a92aa..9da23e0551 100644 --- a/var/spack/repos/builtin/packages/sailfish/package.py +++ b/var/spack/repos/builtin/packages/sailfish/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Sailfish(CMakePackage): @@ -15,4 +16,9 @@ class Sailfish(CMakePackage): version('0.10.1', sha256='a0d6d944382f2e07ffbfd0371132588e2f22bb846ecfc3d3435ff3d81b30d6c6') depends_on('boost@1.55:') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('tbb') diff --git a/var/spack/repos/builtin/packages/salmon/package.py b/var/spack/repos/builtin/packages/salmon/package.py index 562556bac9..92ab7aab49 100644 --- a/var/spack/repos/builtin/packages/salmon/package.py +++ b/var/spack/repos/builtin/packages/salmon/package.py @@ -3,6 +3,8 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +from spack.pkg.builtin.boost import Boost + class Salmon(CMakePackage): """Salmon is a tool for quantifying the expression of transcripts using @@ -22,8 +24,14 @@ class Salmon(CMakePackage): values=('DEBUG', 'RELEASE')) depends_on('tbb') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('boost@:1.66.0', when='@:0.14.1') depends_on('boost@1.72.0:', when='@1.4.0:') + depends_on('cereal') depends_on('jemalloc') depends_on('xz') diff --git a/var/spack/repos/builtin/packages/samrai/package.py b/var/spack/repos/builtin/packages/samrai/package.py index 5577ce9f0e..34782adc00 100644 --- a/var/spack/repos/builtin/packages/samrai/package.py +++ b/var/spack/repos/builtin/packages/samrai/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Samrai(AutotoolsPackage): @@ -52,6 +53,10 @@ class Samrai(AutotoolsPackage): depends_on('hdf5+mpi') depends_on('m4', type='build') depends_on('boost@:1.64.0', when='@3.0.0:3.11', type='build') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='@3.0.0:3.11.99', type='build') depends_on('silo+mpi', when='+silo') # don't build SAMRAI 3+ with tools with gcc diff --git a/var/spack/repos/builtin/packages/scallop/package.py b/var/spack/repos/builtin/packages/scallop/package.py index 31588a88b7..8df4e79437 100644 --- a/var/spack/repos/builtin/packages/scallop/package.py +++ b/var/spack/repos/builtin/packages/scallop/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Scallop(AutotoolsPackage): @@ -16,7 +17,11 @@ class Scallop(AutotoolsPackage): version('0.10.3', sha256='04eb3ab27ed8c7ae38e1780d6b2af16b6a2c01807ffafd59e819d33bfeff58a0') depends_on('clp') - depends_on('boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('htslib@1.5:') def configure_args(self): diff --git a/var/spack/repos/builtin/packages/scantailor/package.py b/var/spack/repos/builtin/packages/scantailor/package.py index 4da336a13c..b56891a28a 100644 --- a/var/spack/repos/builtin/packages/scantailor/package.py +++ b/var/spack/repos/builtin/packages/scantailor/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Scantailor(CMakePackage): @@ -28,4 +29,9 @@ class Scantailor(CMakePackage): depends_on("libpng") depends_on("libtiff") depends_on("boost@1.35:") + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on("libxrender") diff --git a/var/spack/repos/builtin/packages/seqan/package.py b/var/spack/repos/builtin/packages/seqan/package.py index b02481da66..f305475935 100644 --- a/var/spack/repos/builtin/packages/seqan/package.py +++ b/var/spack/repos/builtin/packages/seqan/package.py @@ -5,6 +5,7 @@ from spack import * +from spack.pkg.builtin.boost import Boost class Seqan(CMakePackage): @@ -25,6 +26,11 @@ class Seqan(CMakePackage): depends_on('py-nose', type='build') depends_on('py-sphinx', type='build') depends_on('boost', type=('build', 'link')) + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('zlib', type=('build', 'link')) depends_on('bzip2', type=('build', 'link')) diff --git a/var/spack/repos/builtin/packages/sfcgal/package.py b/var/spack/repos/builtin/packages/sfcgal/package.py index 0bc6e498fc..852fd8a180 100644 --- a/var/spack/repos/builtin/packages/sfcgal/package.py +++ b/var/spack/repos/builtin/packages/sfcgal/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Sfcgal(CMakePackage): @@ -24,6 +25,11 @@ class Sfcgal(CMakePackage): # Ref: https://oslandia.github.io/SFCGAL/installation.html, but starts to work @4.7: depends_on('cgal@4.7: +core') depends_on('boost@1.54.0:') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('mpfr@2.2.1:') depends_on('gmp@4.2:') diff --git a/var/spack/repos/builtin/packages/sgpp/package.py b/var/spack/repos/builtin/packages/sgpp/package.py index 4a4084ef14..69a9df5842 100644 --- a/var/spack/repos/builtin/packages/sgpp/package.py +++ b/var/spack/repos/builtin/packages/sgpp/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Sgpp(SConsPackage): @@ -101,6 +102,11 @@ class Sgpp(SConsPackage): # Testing requires boost test depends_on('boost+test', type=('test')) + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, type=('test')) + # Compiler with C++11 support is required conflicts('%gcc@:4.8.4', msg='Compiler with c++11 support is required!') conflicts('%apple-clang@:3.9', msg='Compiler with c++11 support is required!') diff --git a/var/spack/repos/builtin/packages/shapeit4/package.py b/var/spack/repos/builtin/packages/shapeit4/package.py index 0ff65b1e6e..8d0dbc608b 100644 --- a/var/spack/repos/builtin/packages/shapeit4/package.py +++ b/var/spack/repos/builtin/packages/shapeit4/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Shapeit4(MakefilePackage): @@ -18,7 +19,11 @@ class Shapeit4(MakefilePackage): maintainers = ['ilbiondo'] depends_on('htslib') - depends_on('boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('bzip2') depends_on('xz') diff --git a/var/spack/repos/builtin/packages/shark/package.py b/var/spack/repos/builtin/packages/shark/package.py index cd743dee15..112358e120 100644 --- a/var/spack/repos/builtin/packages/shark/package.py +++ b/var/spack/repos/builtin/packages/shark/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Shark(CMakePackage): @@ -17,7 +18,10 @@ class Shark(CMakePackage): version('4.0.0', sha256='19d4099776327d5f8a2e2be286818c6081c61eb13ca279c1e438c86e70d90210') version('3.1.4', sha256='160c35ddeae3f6aeac3ce132ea4ba2611ece39eee347de2faa3ca52639dc6311') - depends_on('boost') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) def cmake_args(self): args = ["-DBoost_USE_STATIC_LIBS=ON", "-DBOOST_ROOT={0}".format( diff --git a/var/spack/repos/builtin/packages/simgrid/package.py b/var/spack/repos/builtin/packages/simgrid/package.py index 9f67103726..3e74f83819 100644 --- a/var/spack/repos/builtin/packages/simgrid/package.py +++ b/var/spack/repos/builtin/packages/simgrid/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Simgrid(CMakePackage): @@ -70,7 +71,11 @@ class Simgrid(CMakePackage): variant('mc', default=False, description='Model checker') # does not build correctly with some old compilers -> rely on packages - depends_on('boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='@:3.21') depends_on('boost@:1.69.0', when='@:3.21') conflicts('%gcc@10:', when='@:3.23', diff --git a/var/spack/repos/builtin/packages/snap-korf/package.py b/var/spack/repos/builtin/packages/snap-korf/package.py index 19fb95a7a8..95b024d84a 100644 --- a/var/spack/repos/builtin/packages/snap-korf/package.py +++ b/var/spack/repos/builtin/packages/snap-korf/package.py @@ -3,7 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) - class SnapKorf(MakefilePackage): """SNAP is a general purpose gene finding program suitable for both eukaryotic and prokaryotic genomes.""" diff --git a/var/spack/repos/builtin/packages/source-highlight/package.py b/var/spack/repos/builtin/packages/source-highlight/package.py index 6f3aeb89c7..b6a21ff0d4 100644 --- a/var/spack/repos/builtin/packages/source-highlight/package.py +++ b/var/spack/repos/builtin/packages/source-highlight/package.py @@ -5,6 +5,7 @@ from spack import * +from spack.pkg.builtin.boost import Boost class SourceHighlight(AutotoolsPackage, GNUMirrorPackage): @@ -25,7 +26,10 @@ class SourceHighlight(AutotoolsPackage, GNUMirrorPackage): sha256='45087b174b2b128a8dc81b0728f8ae63213d255ceef6dabfcba27c94e2a75ce9', when='%gcc@11:') - depends_on('boost') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) # git version needs autotools depends_on('m4', when='@master') diff --git a/var/spack/repos/builtin/packages/spot/package.py b/var/spack/repos/builtin/packages/spot/package.py index 01b42ce1b3..4cabcb0570 100644 --- a/var/spack/repos/builtin/packages/spot/package.py +++ b/var/spack/repos/builtin/packages/spot/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Spot(AutotoolsPackage): @@ -22,3 +23,8 @@ class Spot(AutotoolsPackage): depends_on("python@3.2:", when='@1.99: +python') depends_on("python@2:", when='+python') depends_on('boost', when='@:1.2.6') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='@:1.2.6') diff --git a/var/spack/repos/builtin/packages/stat/package.py b/var/spack/repos/builtin/packages/stat/package.py index ed2c49051b..1a80c17823 100644 --- a/var/spack/repos/builtin/packages/stat/package.py +++ b/var/spack/repos/builtin/packages/stat/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Stat(AutotoolsPackage): @@ -63,7 +64,11 @@ class Stat(AutotoolsPackage): depends_on('py-xdot@1.0', when='@4.0.1: +gui') depends_on('swig') depends_on('mpi', when='+examples') - depends_on('boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) patch('configure_mpicxx.patch', when='@2.1.0') diff --git a/var/spack/repos/builtin/packages/strelka/package.py b/var/spack/repos/builtin/packages/strelka/package.py index b3fd5d8223..1bdc31a688 100644 --- a/var/spack/repos/builtin/packages/strelka/package.py +++ b/var/spack/repos/builtin/packages/strelka/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Strelka(CMakePackage): @@ -33,3 +34,8 @@ class Strelka(CMakePackage): depends_on('bzip2') depends_on('cmake@2.8.5:', type='build') depends_on('boost@1.56.0:') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) diff --git a/var/spack/repos/builtin/packages/symengine/package.py b/var/spack/repos/builtin/packages/symengine/package.py index 2847a77687..c94cd4b61e 100644 --- a/var/spack/repos/builtin/packages/symengine/package.py +++ b/var/spack/repos/builtin/packages/symengine/package.py @@ -6,6 +6,7 @@ import sys from spack import * +from spack.pkg.builtin.boost import Boost class Symengine(CMakePackage): @@ -51,6 +52,11 @@ class Symengine(CMakePackage): # NOTE: mpir is a drop-in replacement for gmp # NOTE: [mpc,mpfr,flint,piranha] could also be built against mpir depends_on('boost', when='+boostmp') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='+boostmp') depends_on('gmp', when='~boostmp') depends_on('llvm', when='+llvm') depends_on('mpc', when='+mpc~boostmp') diff --git a/var/spack/repos/builtin/packages/sympol/package.py b/var/spack/repos/builtin/packages/sympol/package.py index b5155526a5..e9748a07d2 100644 --- a/var/spack/repos/builtin/packages/sympol/package.py +++ b/var/spack/repos/builtin/packages/sympol/package.py @@ -5,6 +5,7 @@ from spack import * +from spack.pkg.builtin.boost import Boost class Sympol(CMakePackage): @@ -17,7 +18,11 @@ class Sympol(CMakePackage): depends_on("cmake@2.6:", type="build") depends_on("bliss") - depends_on("boost") + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on("gmp") depends_on("lrslib") diff --git a/var/spack/repos/builtin/packages/templight-tools/package.py b/var/spack/repos/builtin/packages/templight-tools/package.py index e028b34ca4..662a1b57be 100644 --- a/var/spack/repos/builtin/packages/templight-tools/package.py +++ b/var/spack/repos/builtin/packages/templight-tools/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class TemplightTools(CMakePackage): @@ -16,3 +17,8 @@ class TemplightTools(CMakePackage): depends_on('cmake @2.8.7:', type='build') depends_on('boost @1.48.1: +filesystem +graph +program_options +test') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) diff --git a/var/spack/repos/builtin/packages/tfel/package.py b/var/spack/repos/builtin/packages/tfel/package.py index 1f6bb5300a..8b0959f97f 100644 --- a/var/spack/repos/builtin/packages/tfel/package.py +++ b/var/spack/repos/builtin/packages/tfel/package.py @@ -7,6 +7,7 @@ # 18/12/2018: fix python detection from spack import * +from spack.pkg.builtin.boost import Boost class Tfel(CMakePackage): @@ -134,6 +135,11 @@ class Tfel(CMakePackage): depends_on('boost+python+numpy', when='+python_bindings', type=('build', 'link', 'run')) + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='+python_bindings') + extends('python', when='+python_bindings') conflicts('%gcc@:7', when='@4:') diff --git a/var/spack/repos/builtin/packages/thepeg/package.py b/var/spack/repos/builtin/packages/thepeg/package.py index 93a505ce03..1e9339d45d 100644 --- a/var/spack/repos/builtin/packages/thepeg/package.py +++ b/var/spack/repos/builtin/packages/thepeg/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Thepeg(AutotoolsPackage): @@ -67,6 +68,11 @@ class Thepeg(AutotoolsPackage): depends_on('rivet', when='@2.0.3:') depends_on('boost', when='@2.1.1:') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) + depends_on('autoconf', type='build') depends_on('automake', type='build') depends_on('libtool', type='build') diff --git a/var/spack/repos/builtin/packages/thrift/package.py b/var/spack/repos/builtin/packages/thrift/package.py index 044a0d4c52..8ad5bb80f4 100644 --- a/var/spack/repos/builtin/packages/thrift/package.py +++ b/var/spack/repos/builtin/packages/thrift/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Thrift(Package): @@ -39,6 +40,11 @@ class Thrift(Package): depends_on('automake', type='build') depends_on('libtool', type='build') depends_on('boost@1.53:') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('bison', type='build') depends_on('flex', type='build') depends_on('openssl') diff --git a/var/spack/repos/builtin/packages/tophat/package.py b/var/spack/repos/builtin/packages/tophat/package.py index 4b933f55e3..5d5c3542a5 100644 --- a/var/spack/repos/builtin/packages/tophat/package.py +++ b/var/spack/repos/builtin/packages/tophat/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Tophat(AutotoolsPackage): @@ -25,6 +26,11 @@ class Tophat(AutotoolsPackage): depends_on('m4', type='build') depends_on('boost@1.47:') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('bowtie2', type='run') parallel = False diff --git a/var/spack/repos/builtin/packages/trilinos/package.py b/var/spack/repos/builtin/packages/trilinos/package.py index 2a306c322c..7dbce51458 100644 --- a/var/spack/repos/builtin/packages/trilinos/package.py +++ b/var/spack/repos/builtin/packages/trilinos/package.py @@ -10,6 +10,7 @@ from spack import * from spack.build_environment import dso_suffix from spack.error import NoHeadersError from spack.operating_systems.mac_os import macos_version +from spack.pkg.builtin.boost import Boost from spack.pkg.builtin.kokkos import Kokkos # Trilinos is complicated to build, as an inspiration a couple of links to @@ -328,6 +329,10 @@ class Trilinos(CMakePackage, CudaPackage, ROCmPackage): # depends_on('cgns', when='+exodus') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='+boost') depends_on('hdf5+hl', when='+hdf5') depends_on('hypre~internal-superlu~int64', when='+hypre') depends_on('kokkos-nvcc-wrapper', when='+wrapper') diff --git a/var/spack/repos/builtin/packages/valgrind/package.py b/var/spack/repos/builtin/packages/valgrind/package.py index 3afb6ab806..8ffce9ee2d 100644 --- a/var/spack/repos/builtin/packages/valgrind/package.py +++ b/var/spack/repos/builtin/packages/valgrind/package.py @@ -7,6 +7,7 @@ import glob import sys from spack import * +from spack.pkg.builtin.boost import Boost class Valgrind(AutotoolsPackage, SourcewarePackage): @@ -54,6 +55,11 @@ clang: error: unknown argument: '-static-libubsan' depends_on('mpi', when='+mpi') depends_on('boost', when='+boost') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='+boost') + depends_on("autoconf", type='build', when='@develop') depends_on("automake", type='build', when='@develop') depends_on("libtool", type='build', when='@develop') diff --git a/var/spack/repos/builtin/packages/veloc/package.py b/var/spack/repos/builtin/packages/veloc/package.py index 890b72b4f4..e4c22deec2 100644 --- a/var/spack/repos/builtin/packages/veloc/package.py +++ b/var/spack/repos/builtin/packages/veloc/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Veloc(CMakePackage): @@ -24,7 +25,10 @@ class Veloc(CMakePackage): version('1.1', sha256='2bbdacf3e0ce4e7c9e360874d8d85b405525bdc7bd992bdb1f1ba49218072160') version('1.0', sha256='d594b73d6549a61fce8e67b8984a17cebc3e766fc520ed1636ae3683cdde77cb') - depends_on('boost') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('libpthread-stubs') depends_on('mpi') depends_on('er') diff --git a/var/spack/repos/builtin/packages/vigra/package.py b/var/spack/repos/builtin/packages/vigra/package.py index e5f026dc1c..f214402622 100644 --- a/var/spack/repos/builtin/packages/vigra/package.py +++ b/var/spack/repos/builtin/packages/vigra/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Vigra(CMakePackage): @@ -35,6 +36,11 @@ class Vigra(CMakePackage): depends_on('openexr', when='+exr') depends_on('py-numpy', type=('build', 'run'), when='+python') depends_on('boost+python+numpy', when='+python') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='+python') depends_on('py-sphinx', type='build', when='+python') depends_on('doxygen', type='build', when='+cxxdoc') depends_on('python', type='build', when='+cxxdoc') diff --git a/var/spack/repos/builtin/packages/votca-csg-tutorials/package.py b/var/spack/repos/builtin/packages/votca-csg-tutorials/package.py index ca31b9330d..8970e266cb 100644 --- a/var/spack/repos/builtin/packages/votca-csg-tutorials/package.py +++ b/var/spack/repos/builtin/packages/votca-csg-tutorials/package.py @@ -5,6 +5,7 @@ from spack import * +from spack.pkg.builtin.boost import Boost class VotcaCsgTutorials(CMakePackage): @@ -37,4 +38,8 @@ class VotcaCsgTutorials(CMakePackage): for v in ["1.4", "1.4.1", "1.5", "1.5.1", "1.6", "1.6.1", "1.6.2", "1.6.3", "1.6.4", "2021", "2021.1", "2021.2", "stable"]: depends_on('votca-csg@%s' % v, when="@%s:%s.0" % (v, v)) - depends_on("boost") + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) diff --git a/var/spack/repos/builtin/packages/votca-csg/package.py b/var/spack/repos/builtin/packages/votca-csg/package.py index 807023bc51..8e36334b8c 100644 --- a/var/spack/repos/builtin/packages/votca-csg/package.py +++ b/var/spack/repos/builtin/packages/votca-csg/package.py @@ -5,6 +5,7 @@ from spack import * +from spack.pkg.builtin.boost import Boost class VotcaCsg(CMakePackage): @@ -38,6 +39,9 @@ class VotcaCsg(CMakePackage): for v in ["1.4", "1.4.1", "1.5", "1.5.1", "1.6", "1.6.1", "1.6.2", "1.6.3", "1.6.4", "2021", "2021.1", "2021.2", "stable"]: depends_on('votca-tools@%s' % v, when="@%s:%s.0" % (v, v)) - depends_on("boost") + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on("gromacs~mpi@5.1:2019") depends_on("hdf5~mpi") diff --git a/var/spack/repos/builtin/packages/votca-csgapps/package.py b/var/spack/repos/builtin/packages/votca-csgapps/package.py index 597a8451cc..63a5082176 100644 --- a/var/spack/repos/builtin/packages/votca-csgapps/package.py +++ b/var/spack/repos/builtin/packages/votca-csgapps/package.py @@ -5,6 +5,7 @@ from spack import * +from spack.pkg.builtin.boost import Boost class VotcaCsgapps(CMakePackage): @@ -33,4 +34,8 @@ class VotcaCsgapps(CMakePackage): for v in ["1.4", "1.4.1", "1.5", "1.5.1", "1.6", "1.6.1", "1.6.2", "1.6.3", "1.6.4"]: depends_on('votca-csg@%s' % v, when="@%s:%s.0" % (v, v)) - depends_on("boost") + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) diff --git a/var/spack/repos/builtin/packages/votca-tools/package.py b/var/spack/repos/builtin/packages/votca-tools/package.py index 06726a37a7..1339fddad6 100644 --- a/var/spack/repos/builtin/packages/votca-tools/package.py +++ b/var/spack/repos/builtin/packages/votca-tools/package.py @@ -5,6 +5,7 @@ from spack import * +from spack.pkg.builtin.boost import Boost class VotcaTools(CMakePackage): @@ -47,7 +48,10 @@ class VotcaTools(CMakePackage): depends_on("fftw-api@3") depends_on("gsl", when="@1.4:1.4.9999") depends_on("eigen@3.3:", when="@stable,1.5:") - depends_on("boost") + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on("sqlite", when="@1.4:1.5") depends_on('mkl', when='+mkl') diff --git a/var/spack/repos/builtin/packages/vtk/package.py b/var/spack/repos/builtin/packages/vtk/package.py index 9f064e2ded..5d34c11d76 100644 --- a/var/spack/repos/builtin/packages/vtk/package.py +++ b/var/spack/repos/builtin/packages/vtk/package.py @@ -8,6 +8,7 @@ import os import sys from spack import * +from spack.pkg.builtin.boost import Boost class Vtk(CMakePackage): @@ -99,6 +100,11 @@ class Vtk(CMakePackage): depends_on('boost', when='+xdmf') depends_on('boost+mpi', when='+xdmf +mpi') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='+xdmf') depends_on('ffmpeg', when='+ffmpeg') depends_on('mpi', when='+mpi') diff --git a/var/spack/repos/builtin/packages/wcs/package.py b/var/spack/repos/builtin/packages/wcs/package.py index 682abc8942..d3b79c8043 100644 --- a/var/spack/repos/builtin/packages/wcs/package.py +++ b/var/spack/repos/builtin/packages/wcs/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Wcs(CMakePackage): @@ -17,6 +18,11 @@ class Wcs(CMakePackage): version('develop', branch='devel') depends_on('boost+graph+filesystem+regex+system') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('sbml@5.18.0:+cpp') depends_on('cmake@3.12:', type='build') depends_on('cereal', type='build') diff --git a/var/spack/repos/builtin/packages/wonton/package.py b/var/spack/repos/builtin/packages/wonton/package.py index 23c22d08fe..cd0c2e65ee 100644 --- a/var/spack/repos/builtin/packages/wonton/package.py +++ b/var/spack/repos/builtin/packages/wonton/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Wonton(CMakePackage): @@ -54,9 +55,13 @@ class Wonton(CMakePackage): depends_on('jali +mstk', when='+jali') depends_on('mpi', when='+jali') + # NVidia thrust library depends_on('thrust@1.8.3', when='+thrust') - depends_on('boost', when='@:1.2.10 ~thrust') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='@:1.2.10 ~thrust') # CUDA library depends_on('cuda', when='+cuda') diff --git a/var/spack/repos/builtin/packages/wt/package.py b/var/spack/repos/builtin/packages/wt/package.py index 2de7ff508e..625a432fc0 100644 --- a/var/spack/repos/builtin/packages/wt/package.py +++ b/var/spack/repos/builtin/packages/wt/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Wt(CMakePackage): @@ -43,6 +44,11 @@ class Wt(CMakePackage): depends_on('pkgconfig', type='build') depends_on('boost@1.46.1:1.65') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('openssl', when='+openssl') depends_on('libharu', when='+libharu') depends_on('sqlite', when='+sqlite') diff --git a/var/spack/repos/builtin/packages/xdmf3/package.py b/var/spack/repos/builtin/packages/xdmf3/package.py index 9e75967da4..eca3b7725b 100644 --- a/var/spack/repos/builtin/packages/xdmf3/package.py +++ b/var/spack/repos/builtin/packages/xdmf3/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Xdmf3(CMakePackage): @@ -23,7 +24,11 @@ class Xdmf3(CMakePackage): variant('mpi', default=True, description='Enable MPI') depends_on('libxml2') - depends_on('boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('mpi', when='+mpi') depends_on('hdf5+mpi', when='+mpi') depends_on('hdf5~mpi', when='~mpi') diff --git a/var/spack/repos/builtin/packages/xios/package.py b/var/spack/repos/builtin/packages/xios/package.py index 3a31290dda..4031c59576 100644 --- a/var/spack/repos/builtin/packages/xios/package.py +++ b/var/spack/repos/builtin/packages/xios/package.py @@ -7,6 +7,7 @@ import os # from spack import * +from spack.pkg.builtin.boost import Boost class Xios(Package): @@ -39,7 +40,11 @@ class Xios(Package): depends_on('netcdf-fortran') depends_on('hdf5+mpi') depends_on('mpi') - depends_on('boost') + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants) depends_on('blitz') depends_on('perl', type='build') depends_on('perl-uri', type='build') diff --git a/var/spack/repos/builtin/packages/yaml-cpp/package.py b/var/spack/repos/builtin/packages/yaml-cpp/package.py index b0f2075e54..7bb9325c6b 100644 --- a/var/spack/repos/builtin/packages/yaml-cpp/package.py +++ b/var/spack/repos/builtin/packages/yaml-cpp/package.py @@ -3,6 +3,7 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +from spack.pkg.builtin.boost import Boost from spack.spec import ConflictsInSpecError yaml_cpp_tests_libcxx_error_msg = 'yaml-cpp tests incompatible with libc++' @@ -32,6 +33,11 @@ class YamlCpp(CMakePackage): depends_on('boost@:1.66', when='@0.5.0:0.5.3') + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='@0.5.0:0.5.3') + conflicts('%gcc@:4.7', when='@0.6.0:', msg="versions 0.6.0: require c++11 support") conflicts('%clang@:3.3.0', when='@0.6.0:', msg="versions 0.6.0: require c++11 support") conflicts('%apple-clang@:4.0.0', when='@0.6.0:', msg="versions 0.6.0: require c++11 support") diff --git a/var/spack/repos/builtin/packages/yoda/package.py b/var/spack/repos/builtin/packages/yoda/package.py index 76d4009cdc..c1d540099a 100644 --- a/var/spack/repos/builtin/packages/yoda/package.py +++ b/var/spack/repos/builtin/packages/yoda/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +from spack.pkg.builtin.boost import Boost class Yoda(AutotoolsPackage): @@ -65,6 +66,11 @@ class Yoda(AutotoolsPackage): depends_on('py-future', type=('build', 'run')) depends_on('zlib') depends_on('boost', when='@:1.6.0', type=('build', 'run')) + + # TODO: replace this with an explicit list of components of Boost, + # for instance depends_on('boost +filesystem') + # See https://github.com/spack/spack/pull/22303 for reference + depends_on(Boost.with_default_variants, when='@:1.6.0', type=('build', 'run')) depends_on('py-cython@0.18:', type='build', when='@:1.4.0') depends_on('py-cython@0.20:', type='build', when='@1.4.0:1.6.5') depends_on('py-cython@0.23.5:', type='build', when='@1.6.5:1.8.0') -- cgit v1.2.3-70-g09d2