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 <harmenstoppels@gmail.com>
Co-authored-by: Ryan O'Malley <rd.omalley@comcast.net>
This commit is contained in:
Abhik Sarkar 2022-03-17 16:42:07 -07:00 committed by GitHub
parent f8f4aafe81
commit 0ce8b9d398
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
190 changed files with 1117 additions and 104 deletions

View File

@ -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'))

View File

@ -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')

View File

@ -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')

View File

@ -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

View File

@ -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')

View File

@ -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')

View File

@ -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')

View File

@ -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')

View File

@ -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')

View File

@ -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')

View File

@ -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')

View File

@ -9,6 +9,7 @@
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')

View File

@ -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')

View File

@ -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')

View File

@ -9,6 +9,7 @@
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")

View File

@ -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

View File

@ -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')

View File

@ -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):

View File

@ -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')

View File

@ -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')

View File

@ -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']

View File

@ -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):

View File

@ -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')

View File

@ -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')

View File

@ -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'))

View File

@ -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')

View File

@ -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')

View File

@ -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')

View File

@ -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',

View File

@ -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')

View File

@ -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'

View File

@ -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')

View File

@ -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

View File

@ -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')

View File

@ -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

View File

@ -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):

View File

@ -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')

View File

@ -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')

View File

@ -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')

View File

@ -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')

View File

@ -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):

View File

@ -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'))

View File

@ -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')

View File

@ -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:')

View File

@ -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(

View File

@ -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)

View File

@ -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')

View File

@ -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):

View File

@ -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')

View File

@ -7,6 +7,7 @@
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')

View File

@ -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")

View File

@ -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:')

View File

@ -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')

View File

@ -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")

View File

@ -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')

View File

@ -5,6 +5,7 @@
from spack import *
from spack.pkg.builtin.boost import Boost
class Flann(CMakePackage):
@ -67,6 +68,11 @@ def url_for_version(self, version):
# 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")

View File

@ -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')

View File

@ -3,7 +3,6 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *

View File

@ -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')

View File

@ -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

View File

@ -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')

View File

@ -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')

View File

@ -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')

View File

@ -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')

View File

@ -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')

View File

@ -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'))

View File

@ -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')

View File

@ -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.

View File

@ -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:

View File

@ -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',

View File

@ -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')

View File

@ -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')

View File

@ -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')

View File

@ -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')

View File

@ -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')

View File

@ -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':

View File

@ -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)),

View File

@ -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]

View File

@ -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'

View File

@ -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')

View File

@ -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')

View File

@ -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')

View File

@ -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')

View File

@ -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')

View File

@ -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)

View File

@ -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')

View File

@ -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')

View File

@ -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')

View File

@ -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'))

View File

@ -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:]:

View File

@ -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')

View File

@ -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')

View File

@ -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')

View File

@ -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

View File

@ -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 @@ def url_for_version(self, version):
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'])

View File

@ -7,6 +7,7 @@
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

View File

@ -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')

View File

@ -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')

View File

@ -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')

View File

@ -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:')

Some files were not shown because too many files have changed in this diff Show More