Remove .99 from version ranges (#26422)

In most cases, .99 can be omitted thanks to #26402 .
This commit is contained in:
Harmen Stoppels
2021-10-03 15:09:02 +02:00
committed by GitHub
parent 2de116d285
commit b9e72557e8
606 changed files with 1796 additions and 1796 deletions

View File

@@ -336,7 +336,7 @@ This would be translated to:
.. code-block:: python .. code-block:: python
extends('python') extends('python')
depends_on('python@3.5:3.999', type=('build', 'run')) depends_on('python@3.5:3', type=('build', 'run'))
Many ``setup.py`` or ``setup.cfg`` files also contain information like:: Many ``setup.py`` or ``setup.cfg`` files also contain information like::
@@ -568,7 +568,7 @@ check the ``METADATA`` file for lines like::
Lines that use ``Requires-Dist`` are similar to ``install_requires``. Lines that use ``Requires-Dist`` are similar to ``install_requires``.
Lines that use ``Provides-Extra`` are similar to ``extra_requires``, Lines that use ``Provides-Extra`` are similar to ``extra_requires``,
and you can add a variant for those dependencies. The ``~=1.11.0`` and you can add a variant for those dependencies. The ``~=1.11.0``
syntax is equivalent to ``1.11.0:1.11.999``. syntax is equivalent to ``1.11.0:1.11``.
"""""""""" """"""""""
setuptools setuptools

View File

@@ -2103,7 +2103,7 @@ correct way to specify this would be:
.. code-block:: python .. code-block:: python
depends_on('python@2.6.0:2.6.999') depends_on('python@2.6.0:2.6')
A spec can contain multiple version ranges separated by commas. A spec can contain multiple version ranges separated by commas.
For example, if you need Boost 1.59.0 or newer, but there are known For example, if you need Boost 1.59.0 or newer, but there are known

View File

@@ -116,9 +116,9 @@ class IntelPackage(PackageBase):
# that satisfies self.spec will be used. # that satisfies self.spec will be used.
version_years = { version_years = {
# intel-daal is versioned 2016 and later, no divining is needed # intel-daal is versioned 2016 and later, no divining is needed
'intel-ipp@9.0:9.99': 2016, 'intel-ipp@9.0:9': 2016,
'intel-mkl@11.3.0:11.3.999': 2016, 'intel-mkl@11.3.0:11.3': 2016,
'intel-mpi@5.1:5.99': 2016, 'intel-mpi@5.1:5': 2016,
} }
# Below is the list of possible values for setting auto dispatch functions # Below is the list of possible values for setting auto dispatch functions

View File

@@ -16,6 +16,6 @@ class Openblas(Package):
version('0.2.13', 'b1190f3d3471685f17cfd1ec1d252ac9') version('0.2.13', 'b1190f3d3471685f17cfd1ec1d252ac9')
# See #20019 for this conflict # See #20019 for this conflict
conflicts('%gcc@:4.4.99', when='@0.2.14:') conflicts('%gcc@:4.4', when='@0.2.14:')
provides('blas') provides('blas')

View File

@@ -35,7 +35,7 @@ class _3dtk(CMakePackage):
generator = 'Ninja' generator = 'Ninja'
depends_on('cmake@3.5:', when='@trunk', type='build') depends_on('cmake@3.5:', when='@trunk', type='build')
depends_on('cmake@2.6.1:2.999', when='@1.2', type='build') depends_on('cmake@2.6.1:2', when='@1.2', type='build')
depends_on('ninja', type='build') depends_on('ninja', type='build')
depends_on('boost+serialization+graph+regex+filesystem+system+thread+date_time+program_options') depends_on('boost+serialization+graph+regex+filesystem+system+thread+date_time+program_options')
depends_on('suite-sparse') depends_on('suite-sparse')

View File

@@ -134,7 +134,7 @@ class Acts(CMakePackage, CudaPackage):
# Build dependencies # Build dependencies
# FIXME: Use spack's autodiff package once there is one # FIXME: Use spack's autodiff package once there is one
depends_on('boost @1.62:1.69.99 +program_options +test', when='@:0.10.3') depends_on('boost @1.62:1.69 +program_options +test', when='@:0.10.3')
depends_on('boost @1.71: +filesystem +program_options +test', when='@0.10.4:') depends_on('boost @1.71: +filesystem +program_options +test', when='@0.10.4:')
depends_on('cmake @3.14:', type='build') depends_on('cmake @3.14:', type='build')
depends_on('dd4hep @1.11:', when='+dd4hep') depends_on('dd4hep @1.11:', when='+dd4hep')

View File

@@ -77,9 +77,9 @@ class Adios(AutotoolsPackage):
depends_on('bzip2', when='+bzip2') depends_on('bzip2', when='+bzip2')
depends_on('szip', when='+szip') depends_on('szip', when='+szip')
depends_on('sz@:1.4.10', when='@:1.12.0 +sz') depends_on('sz@:1.4.10', when='@:1.12.0 +sz')
depends_on('sz@1.4.11.0:1.4.11.99', when='@1.13.0 +sz') depends_on('sz@1.4.11.0:1.4.11', when='@1.13.0 +sz')
depends_on('sz@1.4.12.3:1.4.12.99', when='@1.13.1: +sz') depends_on('sz@1.4.12.3:1.4.12', when='@1.13.1: +sz')
depends_on('zfp@0.5.1:0.5.99', when='+zfp') depends_on('zfp@0.5.1:0.5', when='+zfp')
depends_on('lz4', when='+lz4') depends_on('lz4', when='+lz4')
depends_on('c-blosc@1.12.0:', when='+blosc') depends_on('c-blosc@1.12.0:', when='+blosc')
# optional transports & file converters # optional transports & file converters

View File

@@ -29,7 +29,7 @@ class Akantu(CMakePackage):
variant('python', default=False, variant('python', default=False,
description="Activates python bindings") description="Activates python bindings")
depends_on('boost@:1.66', when='@:3.0.99') depends_on('boost@:1.66', when='@:3.0')
depends_on('boost') depends_on('boost')
depends_on('lapack') depends_on('lapack')
depends_on('cmake@3.5.1:', type='build') depends_on('cmake@3.5.1:', type='build')
@@ -49,9 +49,9 @@ class Akantu(CMakePackage):
extends('python', when='+python') extends('python', when='+python')
conflicts('%gcc@:5.3.99') conflicts('%gcc@:5.3')
conflicts('@:3.0.99 external_solvers=petsc') conflicts('@:3.0 external_solvers=petsc')
conflicts('@:3.0.99 +python') conflicts('@:3.0 +python')
def cmake_args(self): def cmake_args(self):
spec = self.spec spec = self.spec
@@ -68,7 +68,7 @@ def cmake_args(self):
'ON' if spec.satisfies('+python') else 'OFF'), 'ON' if spec.satisfies('+python') else 'OFF'),
] ]
if spec.satisfies('@:3.0.99'): if spec.satisfies('@:3.0'):
args.extend(['-DCMAKE_CXX_FLAGS=-Wno-class-memaccess', args.extend(['-DCMAKE_CXX_FLAGS=-Wno-class-memaccess',
'-DAKANTU_TRACTION_AT_SPLIT_NODE_CONTACT:BOOL=OFF']) '-DAKANTU_TRACTION_AT_SPLIT_NODE_CONTACT:BOOL=OFF'])
else: else:

View File

@@ -28,14 +28,14 @@ class Alps(CMakePackage):
depends_on('hdf5 ~mpi+hl') depends_on('hdf5 ~mpi+hl')
depends_on('lapack') depends_on('lapack')
# build fails for latest python@3.7 # build fails for latest python@3.7
depends_on('python@:3.6.99', type=('build', 'link', 'run')) depends_on('python@:3.6', type=('build', 'link', 'run'))
depends_on('py-numpy', type=('build', 'run')) depends_on('py-numpy', type=('build', 'run'))
depends_on('py-scipy', type=('build', 'run')) depends_on('py-scipy', type=('build', 'run'))
depends_on('py-matplotlib', type=('build', 'run')) depends_on('py-matplotlib', type=('build', 'run'))
# use depends_on to help with dependency resolution # use depends_on to help with dependency resolution
depends_on('py-numpy@:1.19', when='^python@:3.6.99') depends_on('py-numpy@:1.19', when='^python@:3.6')
depends_on('py-scipy@:1.5', when='^python@:3.6.99') depends_on('py-scipy@:1.5', when='^python@:3.6')
# fix for gcc@7: # fix for gcc@7:
patch('alps_newgcc.patch', when='%gcc@7:') patch('alps_newgcc.patch', when='%gcc@7:')

View File

@@ -32,8 +32,8 @@ class Alquimia(CMakePackage):
depends_on('pflotran@xsdk-0.3.0', when='@xsdk-0.3.0') depends_on('pflotran@xsdk-0.3.0', when='@xsdk-0.3.0')
depends_on('pflotran@xsdk-0.2.0', when='@xsdk-0.2.0') depends_on('pflotran@xsdk-0.2.0', when='@xsdk-0.2.0')
depends_on('pflotran@develop', when='@develop') depends_on('pflotran@develop', when='@develop')
depends_on('petsc@3.10.0:3.10.99', when='@xsdk-0.4.0') depends_on('petsc@3.10.0:3.10', when='@xsdk-0.4.0')
depends_on('petsc@3.8.0:3.8.99', when='@xsdk-0.3.0') depends_on('petsc@3.8.0:3.8', when='@xsdk-0.3.0')
depends_on('petsc@3.10:', when='@develop') depends_on('petsc@3.10:', when='@develop')
def cmake_args(self): def cmake_args(self):

View File

@@ -48,7 +48,7 @@ class Aluminum(CMakePackage, CudaPackage, ROCmPackage):
depends_on('hwloc@1.11:') depends_on('hwloc@1.11:')
depends_on('hwloc +cuda +nvml', when='+cuda') depends_on('hwloc +cuda +nvml', when='+cuda')
depends_on('hwloc@2.3.0:', when='+rocm') depends_on('hwloc@2.3.0:', when='+rocm')
depends_on('cub', when='@:0.1,0.6.0: +cuda ^cuda@:10.99') depends_on('cub', when='@:0.1,0.6.0: +cuda ^cuda@:10')
depends_on('hipcub', when='@:0.1,0.6.0: +rocm') depends_on('hipcub', when='@:0.1,0.6.0: +rocm')
conflicts('~cuda', when='+cuda_rma', msg='CUDA RMA support requires CUDA') conflicts('~cuda', when='+cuda_rma', msg='CUDA RMA support requires CUDA')
@@ -87,7 +87,7 @@ def cmake_args(self):
args.append( args.append(
'-DALUMINUM_ENABLE_MPI_CUDA:BOOL=%s' % ('+ht' in spec)) '-DALUMINUM_ENABLE_MPI_CUDA:BOOL=%s' % ('+ht' in spec))
if spec.satisfies('@:0.1,0.6.0: +cuda ^cuda@:10.99'): if spec.satisfies('@:0.1,0.6.0: +cuda ^cuda@:10'):
args.append( args.append(
'-DCUB_DIR:FILEPATH=%s' % spec['cub'].prefix) '-DCUB_DIR:FILEPATH=%s' % spec['cub'].prefix)

View File

@@ -19,7 +19,7 @@ class Ambari(PythonPackage):
version('2.7.3', sha256='30fe72e60fa6b62fe032bd193ebd0cef20b65c54b57cad92f6f44daabd3771cf') version('2.7.3', sha256='30fe72e60fa6b62fe032bd193ebd0cef20b65c54b57cad92f6f44daabd3771cf')
version('2.7.1', sha256='ea4eb28f377ce9d0b9b7648f2020dda4be974c6d9a22ebaafbf1bc97890e4e42') version('2.7.1', sha256='ea4eb28f377ce9d0b9b7648f2020dda4be974c6d9a22ebaafbf1bc97890e4e42')
depends_on('python@:2.7.999', type=('build', 'run')) depends_on('python@:2.7', type=('build', 'run'))
depends_on('py-setuptools@:44.99.99', type='build') depends_on('py-setuptools@:44', type='build')
depends_on('py-mock', type='test') depends_on('py-mock', type='test')
depends_on('py-coilmq', type=('build', 'run')) depends_on('py-coilmq', type=('build', 'run'))

View File

@@ -39,7 +39,7 @@ class Amdlibflame(LibflameBase):
version('3.0', sha256='d94e08b688539748571e6d4c1ec1ce42732eac18bd75de989234983c33f01ced') version('3.0', sha256='d94e08b688539748571e6d4c1ec1ce42732eac18bd75de989234983c33f01ced')
version('2.2', sha256='12b9c1f92d2c2fa637305aaa15cf706652406f210eaa5cbc17aaea9fcfa576dc') version('2.2', sha256='12b9c1f92d2c2fa637305aaa15cf706652406f210eaa5cbc17aaea9fcfa576dc')
patch('aocc-2.2.0.patch', when="@:2.999", level=1) patch('aocc-2.2.0.patch', when="@:2", level=1)
patch('cray-compiler-wrapper.patch') patch('cray-compiler-wrapper.patch')
provides('flame@5.2', when='@2:') provides('flame@5.2', when='@2:')

View File

@@ -39,7 +39,7 @@ class Amdlibm(SConsPackage):
patch("0001-libm-ose-Scripts-cleanup-pyc-files.patch", when="@2.2") patch("0001-libm-ose-Scripts-cleanup-pyc-files.patch", when="@2.2")
patch("0002-libm-ose-prevent-log-v3.c-from-building.patch", when="@2.2") patch("0002-libm-ose-prevent-log-v3.c-from-building.patch", when="@2.2")
conflicts("%gcc@:9.1.999", msg="Minimum required GCC version is 9.2.0") conflicts("%gcc@:9.1", msg="Minimum required GCC version is 9.2.0")
def build_args(self, spec, prefix): def build_args(self, spec, prefix):
"""Setting build arguments for amdlibm """ """Setting build arguments for amdlibm """

View File

@@ -93,7 +93,7 @@ class Amrex(CMakePackage, CudaPackage, ROCmPackage):
depends_on('sundials@5.7.0: +ARKODE +CVODE +rocm amdgpu_target=%s' % tgt, when='@21.07: +sundials +rocm amdgpu_target=%s' % tgt) depends_on('sundials@5.7.0: +ARKODE +CVODE +rocm amdgpu_target=%s' % tgt, when='@21.07: +sundials +rocm amdgpu_target=%s' % tgt)
depends_on('cuda@9.0.0:', when='+cuda') depends_on('cuda@9.0.0:', when='+cuda')
depends_on('python@2.7:', type='build', when='@:20.04') depends_on('python@2.7:', type='build', when='@:20.04')
depends_on('cmake@3.5:', type='build', when='@:18.10.99') depends_on('cmake@3.5:', type='build', when='@:18.10')
depends_on('cmake@3.13:', type='build', when='@18.11:') depends_on('cmake@3.13:', type='build', when='@18.11:')
depends_on('cmake@3.14:', type='build', when='@19.04:') depends_on('cmake@3.14:', type='build', when='@19.04:')
# cmake @3.17: is necessary to handle cuda @11: correctly # cmake @3.17: is necessary to handle cuda @11: correctly
@@ -141,7 +141,7 @@ class Amrex(CMakePackage, CudaPackage, ROCmPackage):
conflicts('cuda_arch=30', when='+cuda', msg='AMReX only supports compute capabilities >= 3.5') conflicts('cuda_arch=30', when='+cuda', msg='AMReX only supports compute capabilities >= 3.5')
conflicts('cuda_arch=32', when='+cuda', msg='AMReX only supports compute capabilities >= 3.5') conflicts('cuda_arch=32', when='+cuda', msg='AMReX only supports compute capabilities >= 3.5')
conflicts('+rocm', when='@:20.11', msg='AMReX HIP support needs AMReX newer than version 20.11') conflicts('+rocm', when='@:20.11', msg='AMReX HIP support needs AMReX newer than version 20.11')
conflicts('%rocm@4.2.0:4.2.99', when='+rocm', conflicts('%rocm@4.2.0:4.2', when='+rocm',
msg='AMReX does not support rocm-4.2 due to a compiler bug') msg='AMReX does not support rocm-4.2 due to a compiler bug')
conflicts('+cuda', when='+rocm', msg='CUDA and HIP support are exclusive') conflicts('+cuda', when='+rocm', msg='CUDA and HIP support are exclusive')

View File

@@ -23,7 +23,7 @@ class AoclSparse(CMakePackage):
version('3.0', sha256='1d04ba16e04c065051af916b1ed9afce50296edfa9b1513211a7378e1d6b952e') version('3.0', sha256='1d04ba16e04c065051af916b1ed9afce50296edfa9b1513211a7378e1d6b952e')
version('2.2', sha256='33c2ed6622cda61d2613ee63ff12c116a6cd209c62e54307b8fde986cd65f664') version('2.2', sha256='33c2ed6622cda61d2613ee63ff12c116a6cd209c62e54307b8fde986cd65f664')
conflicts("%gcc@:9.1.999", msg="Minimum required GCC version is 9.2.0") conflicts("%gcc@:9.1", msg="Minimum required GCC version is 9.2.0")
variant('build_type', default='Release', variant('build_type', default='Release',
description='CMake build type', description='CMake build type',

View File

@@ -15,7 +15,7 @@ class Aoflagger(CMakePackage):
version('2.10.0', sha256='3ec1188d37101acf2029575ebc09c50b19c158c88a12b55ac5d25a96bd8fc18d') version('2.10.0', sha256='3ec1188d37101acf2029575ebc09c50b19c158c88a12b55ac5d25a96bd8fc18d')
depends_on('casacore+python+fftw@1.9.99:') depends_on('casacore+python+fftw@1.10:')
depends_on('fftw~mpi@3.0:') depends_on('fftw~mpi@3.0:')
depends_on('boost+python@:1.66.99') depends_on('boost+python@:1.66.99')
depends_on('libxml2') depends_on('libxml2')

View File

@@ -16,7 +16,7 @@ class Ape(Package):
version('2.2.1', sha256='1bdb7f987fde81f8a5f335da6b59fa884e6d185d4a0995c90fde7c04376ce9e3') version('2.2.1', sha256='1bdb7f987fde81f8a5f335da6b59fa884e6d185d4a0995c90fde7c04376ce9e3')
depends_on('gsl') depends_on('gsl')
depends_on('libxc@:4.999', when='@2.3.0:') depends_on('libxc@:4', when='@2.3.0:')
depends_on('libxc@:2.2.2', when='@:2.2.1') depends_on('libxc@:2.2.2', when='@:2.2.1')
def install(self, spec, prefix): def install(self, spec, prefix):

View File

@@ -73,12 +73,12 @@ def configure_args(self):
args.append('--without-pgsql') args.append('--without-pgsql')
if '+sqlite' in spec: if '+sqlite' in spec:
if spec.satisfies('^sqlite@3.0:3.999'): if spec.satisfies('^sqlite@3.0:3'):
args.extend([ args.extend([
'--with-sqlite3={0}'.format(spec['sqlite'].prefix), '--with-sqlite3={0}'.format(spec['sqlite'].prefix),
'--without-sqlite2', '--without-sqlite2',
]) ])
elif spec.satisfies('^sqlite@2.0:2.999'): elif spec.satisfies('^sqlite@2.0:2'):
args.extend([ args.extend([
'--with-sqlite2={0}'.format(spec['sqlite'].prefix), '--with-sqlite2={0}'.format(spec['sqlite'].prefix),
'--without-sqlite3', '--without-sqlite3',

View File

@@ -94,7 +94,7 @@ class Ascent(CMakePackage, CudaPackage):
########################################################################### ###########################################################################
# Certain CMake versions have been found to break for our use cases # Certain CMake versions have been found to break for our use cases
depends_on("cmake@3.14.1:3.14.99,3.18.2:", type='build') depends_on("cmake@3.14.1:3.14,3.18.2:", type='build')
depends_on("conduit~python", when="~python") depends_on("conduit~python", when="~python")
depends_on("conduit+python", when="+python") depends_on("conduit+python", when="+python")
depends_on("conduit+mpi", when="+mpi") depends_on("conduit+mpi", when="+mpi")

View File

@@ -28,8 +28,8 @@ class Asciidoc(AutotoolsPackage):
depends_on('libxslt', type=('build', 'run')) depends_on('libxslt', type=('build', 'run'))
depends_on('docbook-xml', type=('build', 'run')) depends_on('docbook-xml', type=('build', 'run'))
depends_on('docbook-xsl', type=('build', 'run')) depends_on('docbook-xsl', type=('build', 'run'))
depends_on('python@2.3.0:2.7.99', when='@:8.6.9', type=('build', 'run')) depends_on('python@2.3.0:2.7', when='@:8.6.9', type=('build', 'run'))
depends_on('python@3.5:', when='@9.0.2:', type=('build', 'run')) depends_on('python@3.5:', when='@9.0.2:', type=('build', 'run'))
@when('@:8.6.9') @when('@:8.6.9')
def install(self, spec, prefix): def install(self, spec, prefix):

View File

@@ -44,7 +44,7 @@ class AsdfCxx(CMakePackage):
depends_on('python', type=('build', 'run'), when='+python') depends_on('python', type=('build', 'run'), when='+python')
# An error in the cmake script requires swig all the time, not only when # An error in the cmake script requires swig all the time, not only when
# Python bindings are used # Python bindings are used
depends_on('swig @3.0.0:3.999.999', type='build') depends_on('swig @3.0.0:3', type='build')
# Neither earlier nor later versions of yaml-cpp work # Neither earlier nor later versions of yaml-cpp work
depends_on('yaml-cpp @0.6.3') depends_on('yaml-cpp @0.6.3')
depends_on('zlib') depends_on('zlib')

View File

@@ -21,7 +21,7 @@ class Awscli(PythonPackage):
depends_on('py-botocore@1.12.169', when='@1.16.179', type=('build', 'run')) depends_on('py-botocore@1.12.169', when='@1.16.179', type=('build', 'run'))
depends_on('py-docutils@0.10:0.15', type=('build', 'run')) depends_on('py-docutils@0.10:0.15', type=('build', 'run'))
depends_on('py-rsa@3.1.2:3.5.0', type=('build', 'run')) depends_on('py-rsa@3.1.2:3.5.0', type=('build', 'run'))
depends_on('py-s3transfer@0.2.0:0.2.999', type=('build', 'run')) depends_on('py-s3transfer@0.2.0:0.2', type=('build', 'run'))
depends_on('py-argparse@1.1:', when='^python@:2.6', type=('build', 'run')) depends_on('py-argparse@1.1:', when='^python@:2.6', type=('build', 'run'))
depends_on('py-pyyaml@3.10:3.13', when='^python@:2.6,3.0:3.3', type=('build', 'run')) depends_on('py-pyyaml@3.10:3.13', when='^python@:2.6,3.0:3.3', type=('build', 'run'))
depends_on('py-pyyaml@3.10:5.2', when='^python@3.4:', type=('build', 'run')) depends_on('py-pyyaml@3.10:5.2', when='^python@3.4:', type=('build', 'run'))

View File

@@ -95,7 +95,7 @@ class Axom(CachedCMakePackage, CudaPackage):
depends_on("conduit~hdf5", when="~hdf5") depends_on("conduit~hdf5", when="~hdf5")
# HDF5 needs to be the same as Conduit's # HDF5 needs to be the same as Conduit's
depends_on("hdf5@1.8.19:1.8.999~cxx~fortran", when="+hdf5") depends_on("hdf5@1.8.19:1.8~cxx~fortran", when="+hdf5")
depends_on("lua", when="+lua") depends_on("lua", when="+lua")

View File

@@ -54,8 +54,8 @@ class Binutils(AutotoolsPackage, GNUMirrorPackage):
# Prior to 2.30, gold did not distribute the generated files and # Prior to 2.30, gold did not distribute the generated files and
# thus needs bison, even for a one-time build. # thus needs bison, even for a one-time build.
depends_on('m4', type='build', when='@:2.29.99 +gold') depends_on('m4', type='build', when='@:2.29 +gold')
depends_on('bison', type='build', when='@:2.29.99 +gold') depends_on('bison', type='build', when='@:2.29 +gold')
# 2.34 needs makeinfo due to a bug, see: # 2.34 needs makeinfo due to a bug, see:
# https://sourceware.org/bugzilla/show_bug.cgi?id=25491 # https://sourceware.org/bugzilla/show_bug.cgi?id=25491

View File

@@ -58,8 +58,8 @@ class Bison(AutotoolsPackage, GNUMirrorPackage):
patch('pgi.patch', when='@3.0.4') patch('pgi.patch', when='@3.0.4')
# The NVIDIA compilers do not currently support some GNU builtins. # The NVIDIA compilers do not currently support some GNU builtins.
# Detect this case and use the fallback path. # Detect this case and use the fallback path.
patch('nvhpc-3.6.patch', when='@3.6.0:3.6.99 %nvhpc') patch('nvhpc-3.6.patch', when='@3.6.0:3.6 %nvhpc')
patch('nvhpc-3.7.patch', when='@3.7.0:3.7.99 %nvhpc') patch('nvhpc-3.7.patch', when='@3.7.0:3.7 %nvhpc')
conflicts('%intel@:14', when='@3.4.2:', conflicts('%intel@:14', when='@3.4.2:',
msg="Intel 14 has immature C11 support") msg="Intel 14 has immature C11 support")

View File

@@ -21,7 +21,7 @@ class BlasrLibcpp(Package):
version('5.3.1', sha256='45a673255bfe7e29ed1f5bdb6410aa45cb6b907400d038c3da9daf1058b09156') version('5.3.1', sha256='45a673255bfe7e29ed1f5bdb6410aa45cb6b907400d038c3da9daf1058b09156')
depends_on('pbbam') depends_on('pbbam')
depends_on('hdf5+cxx@1.8.12:1.8.99') depends_on('hdf5+cxx@1.8.12:1.8')
# maximum version is 1.8.20 currently. There doesn't appear to be a # maximum version is 1.8.20 currently. There doesn't appear to be a
# major version 1.9 and the 1.10.1 version doesn't build correctly. # major version 1.9 and the 1.10.1 version doesn't build correctly.
# https://github.com/PacificBiosciences/blasr/issues/355 # https://github.com/PacificBiosciences/blasr/issues/355

View File

@@ -17,7 +17,7 @@ class Blasr(Package):
version('5.3.1', sha256='ff7da5a03096294572e6c64340354da5c5ee1c86c277e7b899f2c170c1ac4049') version('5.3.1', sha256='ff7da5a03096294572e6c64340354da5c5ee1c86c277e7b899f2c170c1ac4049')
depends_on('ncurses') depends_on('ncurses')
depends_on('hdf5+cxx@1.8.12:1.8.99') depends_on('hdf5+cxx@1.8.12:1.8')
depends_on('htslib') depends_on('htslib')
depends_on('zlib') depends_on('zlib')
depends_on('boost') depends_on('boost')

View File

@@ -15,7 +15,7 @@ class Blitz(AutotoolsPackage):
version('1.0.1', sha256='b62fc3f07b64b264307b01fec5e4f2793e09a68dcb5378984aedbc2e4b3adcef') version('1.0.1', sha256='b62fc3f07b64b264307b01fec5e4f2793e09a68dcb5378984aedbc2e4b3adcef')
version('1.0.0', sha256='79c06ea9a0585ba0e290c8140300e3ad19491c45c1d90feb52819abc3b58a0c1') version('1.0.0', sha256='79c06ea9a0585ba0e290c8140300e3ad19491c45c1d90feb52819abc3b58a0c1')
depends_on('python@:2.7.999', type='build', when='@:1.0.1') depends_on('python@:2.7', type='build', when='@:1.0.1')
depends_on('python@3:', type='build', when='@1.0.2:') depends_on('python@3:', type='build', when='@1.0.2:')
build_targets = ['lib'] build_targets = ['lib']

View File

@@ -176,19 +176,19 @@ def libs(self):
depends_on('py-numpy', when='+numpy', type=('build', 'run')) depends_on('py-numpy', when='+numpy', type=('build', 'run'))
# Coroutine, Context, Fiber, etc., are not straightforward. # Coroutine, Context, Fiber, etc., are not straightforward.
conflicts('+context', when='@:1.50.99') # Context since 1.51.0. conflicts('+context', when='@:1.50') # Context since 1.51.0.
conflicts('cxxstd=98', when='+context') # Context requires >=C++11. conflicts('cxxstd=98', when='+context') # Context requires >=C++11.
conflicts('+coroutine', when='@:1.52.99') # Context since 1.53.0. conflicts('+coroutine', when='@:1.52') # Context since 1.53.0.
conflicts('~context', when='+coroutine') # Coroutine requires Context. conflicts('~context', when='+coroutine') # Coroutine requires Context.
conflicts('+fiber', when='@:1.61.99') # Fiber since 1.62.0. conflicts('+fiber', when='@:1.61') # Fiber since 1.62.0.
conflicts('cxxstd=98', when='+fiber') # Fiber requires >=C++11. conflicts('cxxstd=98', when='+fiber') # Fiber requires >=C++11.
conflicts('~context', when='+fiber') # Fiber requires Context. conflicts('~context', when='+fiber') # Fiber requires Context.
# C++20/2a is not support by Boost < 1.73.0 # C++20/2a is not support by Boost < 1.73.0
conflicts('cxxstd=2a', when='@:1.72.99') conflicts('cxxstd=2a', when='@:1.72')
# C++17 is not supported by Boost<1.63.0. # C++17 is not supported by Boost<1.63.0.
conflicts('cxxstd=17', when='@:1.62.99') conflicts('cxxstd=17', when='@:1.62')
conflicts('+taggedlayout', when='+versionedlayout') conflicts('+taggedlayout', when='+versionedlayout')
conflicts('+numpy', when='~python') conflicts('+numpy', when='~python')
@@ -197,7 +197,7 @@ def libs(self):
conflicts('cxxstd=98', when='+mpi+python @1.72.0') conflicts('cxxstd=98', when='+mpi+python @1.72.0')
# Container's Extended Allocators were not added until 1.56.0 # Container's Extended Allocators were not added until 1.56.0
conflicts('+container', when='@:1.55.99') conflicts('+container', when='@:1.55')
# Boost.System till 1.76 (included) was relying on mutex, which was not # Boost.System till 1.76 (included) was relying on mutex, which was not
# detected correctly on Darwin platform when using GCC # detected correctly on Darwin platform when using GCC
@@ -220,19 +220,19 @@ def libs(self):
patch('xl_1_62_0_le.patch', when='@1.62.0%xl') patch('xl_1_62_0_le.patch', when='@1.62.0%xl')
# Patch fix from https://svn.boost.org/trac/boost/ticket/10125 # Patch fix from https://svn.boost.org/trac/boost/ticket/10125
patch('call_once_variadic.patch', when='@1.54.0:1.55.9999%gcc@5.0:') patch('call_once_variadic.patch', when='@1.54.0:1.55%gcc@5.0:')
# Patch fix for PGI compiler # Patch fix for PGI compiler
patch('boost_1.67.0_pgi.patch', when='@1.67.0:1.68.9999%pgi') patch('boost_1.67.0_pgi.patch', when='@1.67.0:1.68%pgi')
patch('boost_1.63.0_pgi.patch', when='@1.63.0%pgi') patch('boost_1.63.0_pgi.patch', when='@1.63.0%pgi')
patch('boost_1.63.0_pgi_17.4_workaround.patch', when='@1.63.0%pgi@17.4') patch('boost_1.63.0_pgi_17.4_workaround.patch', when='@1.63.0%pgi@17.4')
# Patch to override the PGI toolset when using the NVIDIA compilers # Patch to override the PGI toolset when using the NVIDIA compilers
patch('nvhpc-1.74.patch', when='@1.74.0:1.75.9999%nvhpc') patch('nvhpc-1.74.patch', when='@1.74.0:1.75%nvhpc')
patch('nvhpc-1.76.patch', when='@1.76.0:1.76.9999%nvhpc') patch('nvhpc-1.76.patch', when='@1.76.0:1.76%nvhpc')
# Patch to workaround compiler bug # Patch to workaround compiler bug
patch('nvhpc-find_address.patch', when='@1.75.0:1.76.999%nvhpc') patch('nvhpc-find_address.patch', when='@1.75.0:1.76%nvhpc')
# Fix for version comparison on newer Clang on darwin # Fix for version comparison on newer Clang on darwin
# See: https://github.com/boostorg/build/issues/440 # See: https://github.com/boostorg/build/issues/440
@@ -276,11 +276,11 @@ def libs(self):
# Support bzip2 and gzip in other directory # Support bzip2 and gzip in other directory
# See https://github.com/boostorg/build/pull/154 # See https://github.com/boostorg/build/pull/154
patch('boost_154.patch', when='@1.56.0:1.63.99') patch('boost_154.patch', when='@1.56.0:1.63')
# Backport Python3 import problem # Backport Python3 import problem
# See https://github.com/boostorg/python/pull/218 # See https://github.com/boostorg/python/pull/218
patch('boost_218.patch', when='@1.63.0:1.67.99') patch('boost_218.patch', when='@1.63.0:1.67')
# Fix B2 bootstrap toolset during installation # Fix B2 bootstrap toolset during installation
# See https://github.com/spack/spack/issues/20757 # See https://github.com/spack/spack/issues/20757

View File

@@ -48,7 +48,7 @@ class Bowtie(MakefilePackage):
# correspond to 'aarch64' architecture # correspond to 'aarch64' architecture
# reference: https://github.com/BenLangmead/bowtie/pull/13 # reference: https://github.com/BenLangmead/bowtie/pull/13
patch('for_aarch64.patch', when='@1.2:1.2.999 target=aarch64:') patch('for_aarch64.patch', when='@1.2.0:1.2 target=aarch64:')
# measures for narrowing error # measures for narrowing error
patch('fix_narrowing_err.patch', when='@1.2.1:1.2.3') patch('fix_narrowing_err.patch', when='@1.2.1:1.2.3')

View File

@@ -67,26 +67,26 @@ class Caliper(CMakePackage, CudaPackage):
variant('fortran', default=False, variant('fortran', default=False,
description='Enable Fortran support') description='Enable Fortran support')
depends_on('adiak@0.1:0.99', when='@2.2: +adiak') depends_on('adiak@0.1:0', when='@2.2: +adiak')
depends_on('papi@5.3:5.99', when='@:2.2 +papi') depends_on('papi@5.3:5', when='@:2.2 +papi')
depends_on('papi@5.3:6.99', when='@2.3: +papi') depends_on('papi@5.3:6', when='@2.3: +papi')
depends_on('libpfm4@4.8:4.99', when='+libpfm') depends_on('libpfm4@4.8:4', when='+libpfm')
depends_on('mpi', when='+mpi') depends_on('mpi', when='+mpi')
depends_on('unwind@1.2:1.99', when='+libunwind') depends_on('unwind@1.2:1', when='+libunwind')
depends_on('elfutils', when='+libdw') depends_on('elfutils', when='+libdw')
depends_on('sosflow@spack', when='@1.0:1.99+sosflow') depends_on('sosflow@spack', when='@1.0:1+sosflow')
depends_on('cmake', type='build') depends_on('cmake', type='build')
depends_on('python', type='build') depends_on('python', type='build')
# sosflow support not yet in 2.0 # sosflow support not yet in 2.0
conflicts('+sosflow', '@2.0.0:2.5.99') conflicts('+sosflow', '@2.0.0:2.5')
conflicts('+adiak', '@:2.1.99') conflicts('+adiak', '@:2.1')
conflicts('+libdw', '@:2.4.99') conflicts('+libdw', '@:2.4')
patch('for_aarch64.patch', when='target=aarch64:') patch('for_aarch64.patch', when='target=aarch64:')

View File

@@ -43,8 +43,8 @@ class Cantera(SConsPackage):
depends_on('py-numpy', when='+python', type=('build', 'run')) depends_on('py-numpy', when='+python', type=('build', 'run'))
depends_on('py-scipy', when='+python', type=('build', 'run')) depends_on('py-scipy', when='+python', type=('build', 'run'))
depends_on('py-3to2', when='+python', type=('build', 'run')) depends_on('py-3to2', when='+python', type=('build', 'run'))
depends_on('py-unittest2', when='+python^python@2.6.0:2.6.999', type=('build', 'run')) depends_on('py-unittest2', when='+python^python@2.6.0:2.6', type=('build', 'run'))
depends_on('py-unittest2py3k', when='+python^python@3.1.0:3.1.999', type=('build', 'run')) depends_on('py-unittest2py3k', when='+python^python@3.1.0:3.1', type=('build', 'run'))
# Matlab toolbox dependencies # Matlab toolbox dependencies
extends('matlab', when='+matlab') extends('matlab', when='+matlab')

View File

@@ -99,15 +99,15 @@ def cmake_args(self):
args.append(self.define('BUILD_TESTING', self.run_tests)) args.append(self.define('BUILD_TESTING', self.run_tests))
return args return args
@when('@:1.6.99') @when('@:1.6')
def cmake(self, spec, prefix): def cmake(self, spec, prefix):
pass pass
@when('@:1.6.99') @when('@:1.6')
def build(self, spec, prefix): def build(self, spec, prefix):
pass pass
@when('@:1.6.99') @when('@:1.6')
def install(self, spec, prefix): def install(self, spec, prefix):
mkdirp(prefix.include) mkdirp(prefix.include)
install(join_path('single_include', 'catch.hpp'), prefix.include) install(join_path('single_include', 'catch.hpp'), prefix.include)

View File

@@ -39,25 +39,25 @@ class Ccache(CMakePackage):
depends_on('zstd', when='@4.0:') depends_on('zstd', when='@4.0:')
depends_on('gperf', when='@:3.99') depends_on('gperf', when='@:3')
depends_on('hiredis@0.13.3:', when='@4.4:') depends_on('hiredis@0.13.3:', when='@4.4:')
depends_on('libxslt', when='@:3.99') depends_on('libxslt', when='@:3')
depends_on('zlib', when='@:3.99') depends_on('zlib', when='@:3')
conflicts('%gcc@:5', when='@4.4:') conflicts('%gcc@:5', when='@4.4:')
conflicts('%clang@:4', when='@4.4:') conflicts('%clang@:4', when='@4.4:')
# Before 4.0 this was an Autotools package # Before 4.0 this was an Autotools package
@when('@:3.99') @when('@:3')
def cmake(self, spec, prefix): def cmake(self, spec, prefix):
configure_args = ["--prefix=" + prefix] configure_args = ["--prefix=" + prefix]
configure(*configure_args) configure(*configure_args)
@when('@:3.99') @when('@:3')
def build(self, spec, prefix): def build(self, spec, prefix):
make() make()
@when('@:3.99') @when('@:3')
def install(self, spec, prefix): def install(self, spec, prefix):
make("install") make("install")

View File

@@ -90,11 +90,11 @@ class Ceed(BundlePackage, CudaPackage, ROCmPackage):
# Nek5000, GSLIB, Nekbone, and NekCEM # Nek5000, GSLIB, Nekbone, and NekCEM
# ceed-3.0 and ceed-4.0 # ceed-3.0 and ceed-4.0
depends_on('nek5000@19.0', when='@3.0.0:4.99+nek') depends_on('nek5000@19.0', when='@3.0.0:4+nek')
depends_on('nektools@19.0%gcc', when='@3.0.0:4.99+nek') depends_on('nektools@19.0%gcc', when='@3.0.0:4+nek')
depends_on('gslib@1.0.6', when='@3.0.0:4.99+nek') depends_on('gslib@1.0.6', when='@3.0.0:4+nek')
depends_on('nekbone@17.0', when='@3.0.0:4.99+nek') depends_on('nekbone@17.0', when='@3.0.0:4+nek')
depends_on('nekcem@c8db04b', when='@3.0.0:4.99+nek') depends_on('nekcem@c8db04b', when='@3.0.0:4+nek')
# ceed-2.0 # ceed-2.0
depends_on('nek5000@17.0', when='@2.0.0+nek') depends_on('nek5000@17.0', when='@2.0.0+nek')
depends_on('nektools@17.0%gcc', when='@2.0.0+nek') depends_on('nektools@17.0%gcc', when='@2.0.0+nek')
@@ -110,28 +110,28 @@ class Ceed(BundlePackage, CudaPackage, ROCmPackage):
# PETSc # PETSc
# ceed 4.0 # ceed 4.0
depends_on('petsc@3.15.0:3.15.99', when='@4.0.0:4.99.99+petsc') depends_on('petsc@3.15.0:3.15', when='@4.0.0:4+petsc')
for arch in CudaPackage.cuda_arch_values: for arch in CudaPackage.cuda_arch_values:
depends_on('petsc+cuda cuda_arch={0}'.format(arch), depends_on('petsc+cuda cuda_arch={0}'.format(arch),
when='@4.0.0+petsc+cuda cuda_arch={0}'.format(arch)) when='@4.0.0+petsc+cuda cuda_arch={0}'.format(arch))
for target in ROCmPackage.amdgpu_targets: for target in ROCmPackage.amdgpu_targets:
depends_on('petsc@3.15.0:3.15.99+rocm amdgpu_target={0}'.format(target), depends_on('petsc@3.15.0:3.15+rocm amdgpu_target={0}'.format(target),
when='@4.0.0:4.99.99+petsc+rocm amdgpu_target={0}'.format(target)) when='@4.0.0:4+petsc+rocm amdgpu_target={0}'.format(target))
depends_on('petsc@3.15.0:3.15.99~hdf5~superlu-dist', depends_on('petsc@3.15.0:3.15~hdf5~superlu-dist',
when='@4.0.0+petsc+quickbuild') when='@4.0.0+petsc+quickbuild')
depends_on('petsc@3.15.0:3.15.99+mpi+double~int64', when='@4.0.0:4.99.99+petsc~mfem') depends_on('petsc@3.15.0:3.15+mpi+double~int64', when='@4.0.0:4+petsc~mfem')
# ceed-3.0 # ceed-3.0
depends_on('petsc+cuda', when='@3.0.0+petsc+cuda') depends_on('petsc+cuda', when='@3.0.0+petsc+cuda')
# For a +quickbuild we disable hdf5, and superlu-dist in PETSc. # For a +quickbuild we disable hdf5, and superlu-dist in PETSc.
depends_on('petsc@3.13.0:3.13.99~hdf5~superlu-dist', depends_on('petsc@3.13.0:3.13~hdf5~superlu-dist',
when='@3.0.0+petsc+quickbuild') when='@3.0.0+petsc+quickbuild')
depends_on('petsc@3.13.0:3.13.99+mpi+double~int64', when='@3.0.0+petsc~mfem') depends_on('petsc@3.13.0:3.13+mpi+double~int64', when='@3.0.0+petsc~mfem')
# Coax concretizer to use version of hypre required by transitive # Coax concretizer to use version of hypre required by transitive
# dependencies (mfem, petsc) # dependencies (mfem, petsc)
depends_on('hypre@:2.18.2', when='@3.0.0+mfem') depends_on('hypre@:2.18.2', when='@3.0.0+mfem')
# The mfem petsc examples need the petsc variants +hypre, +suite-sparse, # The mfem petsc examples need the petsc variants +hypre, +suite-sparse,
# and +mumps: # and +mumps:
depends_on('petsc@3.13.0:3.13.99+mpi+hypre+suite-sparse+mumps+double~int64', depends_on('petsc@3.13.0:3.13+mpi+hypre+suite-sparse+mumps+double~int64',
when='@3.0.0+petsc+mfem') when='@3.0.0+petsc+mfem')
# ceed-2.0 # ceed-2.0
# For a +quickbuild we disable hdf5, and superlu-dist in PETSc. # For a +quickbuild we disable hdf5, and superlu-dist in PETSc.

View File

@@ -32,7 +32,7 @@ class Cereal(CMakePackage):
patch("Boost2.patch", when="@1.2.2:") patch("Boost2.patch", when="@1.2.2:")
patch("pointers.patch") patch("pointers.patch")
# fixed in HEAD but not released yet # fixed in HEAD but not released yet
patch("LockGuard-default-ctor.patch", when="@:1.3.999") patch("LockGuard-default-ctor.patch", when="@:1.3")
depends_on('cmake@2.6.2:', type='build') depends_on('cmake@2.6.2:', type='build')

View File

@@ -44,7 +44,7 @@ class Cgns(CMakePackage):
variant('mem_debug', default=False, description='Enable memory debugging option') variant('mem_debug', default=False, description='Enable memory debugging option')
depends_on('cmake@3.8:', when='@4.2:', type='build') depends_on('cmake@3.8:', when='@4.2:', type='build')
depends_on('cmake@2.8:', when='@:4.1.99', type='build') depends_on('cmake@2.8:', when='@:4.1', type='build')
depends_on('hdf5~mpi', when='+hdf5~mpi') depends_on('hdf5~mpi', when='+hdf5~mpi')
depends_on('hdf5+mpi', when='+hdf5+mpi') depends_on('hdf5+mpi', when='+hdf5+mpi')
depends_on('mpi', when='+mpi') depends_on('mpi', when='+mpi')

View File

@@ -124,7 +124,7 @@ class Charmpp(Package):
conflicts("~tracing", "+papi") conflicts("~tracing", "+papi")
conflicts("backend=multicore", "+smp") conflicts("backend=multicore", "+smp")
conflicts("backend=ucx", when="@:6.9.99") conflicts("backend=ucx", when="@:6.9")
@property @property
def charmarch(self): def charmarch(self):

View File

@@ -32,7 +32,7 @@ class ClingoBootstrap(Clingo):
conflicts('%{0}'.format(compiler_spec), when='platform=cray', conflicts('%{0}'.format(compiler_spec), when='platform=cray',
msg='GCC is required to bootstrap clingo on Cray') msg='GCC is required to bootstrap clingo on Cray')
conflicts( conflicts(
'%gcc@:5.99.99', msg='C++14 support is required to bootstrap clingo' '%gcc@:5', msg='C++14 support is required to bootstrap clingo'
) )
# On Darwin we bootstrap with Apple Clang # On Darwin we bootstrap with Apple Clang

View File

@@ -167,15 +167,15 @@ class Cmake(Package):
depends_on('xz', when='~ownlibs') depends_on('xz', when='~ownlibs')
depends_on('libarchive@3.1.0:', when='~ownlibs') depends_on('libarchive@3.1.0:', when='~ownlibs')
depends_on('libarchive@3.3.3:', when='@3.15.0:~ownlibs') depends_on('libarchive@3.3.3:', when='@3.15.0:~ownlibs')
depends_on('libuv@1.0.0:1.10.99', when='@3.7.0:3.10.3~ownlibs') depends_on('libuv@1.0.0:1.10', when='@3.7.0:3.10.3~ownlibs')
depends_on('libuv@1.10.0:1.10.99', when='@3.11.0:3.11.99~ownlibs') depends_on('libuv@1.10.0:1.10', when='@3.11.0:3.11~ownlibs')
depends_on('libuv@1.10.0:', when='@3.12.0:~ownlibs') depends_on('libuv@1.10.0:', when='@3.12.0:~ownlibs')
depends_on('rhash', when='@3.8.0:~ownlibs') depends_on('rhash', when='@3.8.0:~ownlibs')
depends_on('qt', when='+qt') depends_on('qt', when='+qt')
depends_on('python@2.7.11:', when='+doc', type='build') depends_on('python@2.7.11:', when='+doc', type='build')
depends_on('py-sphinx', when='+doc', type='build') depends_on('py-sphinx', when='+doc', type='build')
depends_on('openssl', when='+openssl+ownlibs') depends_on('openssl', when='+openssl+ownlibs')
depends_on('openssl@:1.0.99', when='@:3.6.9+openssl+ownlibs') depends_on('openssl@:1.0', when='@:3.6.9+openssl+ownlibs')
depends_on('ncurses', when='+ncurses') depends_on('ncurses', when='+ncurses')
# Cannot build with Intel, should be fixed in 3.6.2 # Cannot build with Intel, should be fixed in 3.6.2
@@ -201,14 +201,14 @@ class Cmake(Package):
# Remove -A from the C++ flags we use when CXX_EXTENSIONS is OFF # Remove -A from the C++ flags we use when CXX_EXTENSIONS is OFF
# Should be fixed in 3.19. # Should be fixed in 3.19.
# https://gitlab.kitware.com/cmake/cmake/-/merge_requests/5025 # https://gitlab.kitware.com/cmake/cmake/-/merge_requests/5025
patch('pgi-cxx-ansi.patch', when='@3.15:3.18.99') patch('pgi-cxx-ansi.patch', when='@3.15:3.18')
# Adds CCE v11+ fortran preprocessing definition. # Adds CCE v11+ fortran preprocessing definition.
# requires Cmake 3.19+ # requires Cmake 3.19+
# https://gitlab.kitware.com/cmake/cmake/-/merge_requests/5882 # https://gitlab.kitware.com/cmake/cmake/-/merge_requests/5882
patch('5882-enable-cce-fortran-preprocessing.patch', patch('5882-enable-cce-fortran-preprocessing.patch',
sha256='b48396c0e4f61756248156b6cebe9bc0d7a22228639b47b5aa77c9330588ce88', sha256='b48396c0e4f61756248156b6cebe9bc0d7a22228639b47b5aa77c9330588ce88',
when='@3.19.0:3.19.99') when='@3.19.0:3.19')
conflicts('+qt', when='^qt@5.4.0') # qt-5.4.0 has broken CMake modules conflicts('+qt', when='^qt@5.4.0') # qt-5.4.0 has broken CMake modules

View File

@@ -35,7 +35,7 @@ class Comgr(CMakePackage):
# /opt/rocm, and this breaks the build when /opt/rocm exists. # /opt/rocm, and this breaks the build when /opt/rocm exists.
patch('hip-tests.patch', when='@:4.2.0') patch('hip-tests.patch', when='@:4.2.0')
depends_on('cmake@3.2.0:', type='build', when='@:3.8.99') depends_on('cmake@3.2.0:', type='build', when='@:3.8')
depends_on('cmake@3.13.4:', type='build', when='@3.9.0:') depends_on('cmake@3.13.4:', type='build', when='@3.9.0:')
depends_on('zlib', type='link') depends_on('zlib', type='link')

View File

@@ -118,8 +118,8 @@ class Conduit(CMakePackage):
# #
# Use HDF5 1.8, for wider output compatibly # Use HDF5 1.8, for wider output compatibly
# variants reflect we are not using hdf5's mpi or fortran features. # variants reflect we are not using hdf5's mpi or fortran features.
depends_on("hdf5@1.8.19:1.8.999~cxx", when="+hdf5+hdf5_compat+shared") depends_on("hdf5@1.8.19:1.8~cxx", when="+hdf5+hdf5_compat+shared")
depends_on("hdf5@1.8.19:1.8.999~shared~cxx", when="+hdf5+hdf5_compat~shared") depends_on("hdf5@1.8.19:1.8~shared~cxx", when="+hdf5+hdf5_compat~shared")
depends_on("hdf5~cxx", when="+hdf5~hdf5_compat+shared") depends_on("hdf5~cxx", when="+hdf5~hdf5_compat+shared")
depends_on("hdf5~shared~cxx", when="+hdf5~hdf5_compat~shared") depends_on("hdf5~shared~cxx", when="+hdf5~hdf5_compat~shared")
# we need to hand this to conduit so it can properly # we need to hand this to conduit so it can properly

View File

@@ -66,7 +66,7 @@ class Converge(Package):
# $ spack spec converge@2.4.10 +mpi ^openmpi@:1.10 # $ spack spec converge@2.4.10 +mpi ^openmpi@:1.10
# #
# TODO: Add version ranges for other MPI libraries # TODO: Add version ranges for other MPI libraries
depends_on('openmpi@1.10.0:1.10.999', when='@2.4.0:2.4.999+mpi^openmpi') depends_on('openmpi@1.10.0:1.10', when='@2.4.0:2.4+mpi^openmpi')
depends_on('openmpi@1.5:1.8', when='@2.2:2.3+mpi^openmpi') depends_on('openmpi@1.5:1.8', when='@2.2:2.3+mpi^openmpi')
depends_on('openmpi@:1.4', when='@:2.1+mpi^openmpi') depends_on('openmpi@:1.4', when='@:2.1+mpi^openmpi')

View File

@@ -43,7 +43,7 @@ def url_for_version(self, version):
depends_on('py-pandas', type=('build', 'run'), when='+python') depends_on('py-pandas', type=('build', 'run'), when='+python')
depends_on('py-scipy', type=('build', 'run'), when='+python') depends_on('py-scipy', type=('build', 'run'), when='+python')
depends_on('py-six', type=('build', 'run'), when='+python') depends_on('py-six', type=('build', 'run'), when='+python')
depends_on('python @2.7:2.999,3.4:', type=('build', 'run'), when='+python') depends_on('python @2.7:2,3.4:', type=('build', 'run'), when='+python')
patch('Makefile.patch') patch('Makefile.patch')
patch('errorstop.patch') patch('errorstop.patch')

View File

@@ -26,7 +26,7 @@ class Couchdb(AutotoolsPackage):
depends_on('gmake', type='build') depends_on('gmake', type='build')
depends_on('help2man', type='build') depends_on('help2man', type='build')
depends_on('python', type=('build', 'run')) depends_on('python', type=('build', 'run'))
depends_on('erlang@:22.99', type=('build', 'run')) depends_on('erlang@:22', type=('build', 'run'))
def setup_build_environment(self, env): def setup_build_environment(self, env):
env.set('CPATH', self.spec['mozjs'].prefix.include.js) env.set('CPATH', self.spec['mozjs'].prefix.include.js)

View File

@@ -98,10 +98,10 @@ class Cp2k(MakefilePackage, CudaPackage):
with when('+libxc'): with when('+libxc'):
depends_on('pkgconfig', type='build', when='@7.0:') depends_on('pkgconfig', type='build', when='@7.0:')
depends_on('libxc@2.2.2:3.99.0', when='@:5.5999', type='build') depends_on('libxc@2.2.2:3', when='@:5', type='build')
depends_on('libxc@4.0.3:4.99.0', when='@6.0:6.9', type='build') depends_on('libxc@4.0.3:4', when='@6.0:6.9', type='build')
depends_on('libxc@4.0.3:4.99.0', when='@7.0:8.1') depends_on('libxc@4.0.3:4', when='@7.0:8.1')
depends_on('libxc@5.1.3:5.1.99', when='@8.2:') depends_on('libxc@5.1.3:5.1', when='@8.2:')
with when('+mpi'): with when('+mpi'):
depends_on('mpi@2:') depends_on('mpi@2:')
@@ -112,14 +112,14 @@ class Cp2k(MakefilePackage, CudaPackage):
depends_on('cosma+cuda', when='+cuda') depends_on('cosma+cuda', when='+cuda')
conflicts('~mpi') conflicts('~mpi')
# COSMA support was introduced in 8+ # COSMA support was introduced in 8+
conflicts('@:7.999') conflicts('@:7')
with when('+elpa'): with when('+elpa'):
conflicts('~mpi', msg='elpa requires MPI') conflicts('~mpi', msg='elpa requires MPI')
depends_on('elpa+openmp', when='+openmp') depends_on('elpa+openmp', when='+openmp')
depends_on('elpa~openmp', when='~openmp') depends_on('elpa~openmp', when='~openmp')
depends_on('elpa@2011.12:2016.13', when='@:5.999') depends_on('elpa@2011.12:2016.13', when='@:5')
depends_on('elpa@2011.12:2017.11', when='@6.0:6.999') depends_on('elpa@2011.12:2017.11', when='@6.0:6')
depends_on('elpa@2018.05:2020.11.001', when='@7.0:8.2') depends_on('elpa@2018.05:2020.11.001', when='@7.0:8.2')
depends_on('elpa@2021.05:', when='@8.3:') depends_on('elpa@2021.05:', when='@8.3:')
@@ -132,7 +132,7 @@ class Cp2k(MakefilePackage, CudaPackage):
# dynamically, therefore can't set this as pure build-type dependency. # dynamically, therefore can't set this as pure build-type dependency.
with when('+pexsi'): with when('+pexsi'):
conflicts('~mpi', msg='pexsi requires MPI') conflicts('~mpi', msg='pexsi requires MPI')
depends_on('pexsi+fortran@0.9.0:0.9.999', when='@:4.999') depends_on('pexsi+fortran@0.9.0:0.9', when='@:4')
depends_on('pexsi+fortran@0.10.0:', when='@5.0:') depends_on('pexsi+fortran@0.10.0:', when='@5.0:')
# only OpenMP should be consistently used, all other common things # only OpenMP should be consistently used, all other common things
@@ -142,18 +142,18 @@ class Cp2k(MakefilePackage, CudaPackage):
depends_on('sirius+fortran+shared') depends_on('sirius+fortran+shared')
depends_on('sirius+openmp', when='+openmp') depends_on('sirius+openmp', when='+openmp')
depends_on('sirius~openmp', when='~openmp') depends_on('sirius~openmp', when='~openmp')
depends_on('sirius@:6.999', when='@:7.999') depends_on('sirius@:6', when='@:7')
depends_on('sirius@7:7.0.999', when='@8:8.2') depends_on('sirius@7.0.0:7.0', when='@8:8.2')
depends_on('sirius@7.2:', when='@8.3:') depends_on('sirius@7.2:', when='@8.3:')
conflicts('~mpi') conflicts('~mpi')
# sirius support was introduced in 7+ # sirius support was introduced in 7+
conflicts('@:6.999') conflicts('@:6')
with when('+libvori'): with when('+libvori'):
depends_on('libvori@201219:', when='@8.1', type='build') depends_on('libvori@201219:', when='@8.1', type='build')
depends_on('libvori@210412:', when='@8.2:', type='build') depends_on('libvori@210412:', when='@8.2:', type='build')
# libvori support was introduced in 8+ # libvori support was introduced in 8+
conflicts('@:7.999') conflicts('@:7')
# the bundled libcusmm uses numpy in the parameter prediction (v7+) # the bundled libcusmm uses numpy in the parameter prediction (v7+)
# which is written using Python 3 # which is written using Python 3
@@ -464,10 +464,10 @@ def edit(self, spec, prefix):
.format(elpa_suffix=elpa_suffix, .format(elpa_suffix=elpa_suffix,
dso_suffix=dso_suffix)))) dso_suffix=dso_suffix))))
if spec.satisfies('@:4.999'): if spec.satisfies('@:4'):
if elpa.satisfies('@:2014.5.999'): if elpa.satisfies('@:2014.5'):
cppflags.append('-D__ELPA') cppflags.append('-D__ELPA')
elif elpa.satisfies('@2014.6:2015.10.999'): elif elpa.satisfies('@2014.6:2015.10'):
cppflags.append('-D__ELPA2') cppflags.append('-D__ELPA2')
else: else:
cppflags.append('-D__ELPA3') cppflags.append('-D__ELPA3')
@@ -616,7 +616,7 @@ def fflags(var, lst):
def build_directory(self): def build_directory(self):
build_dir = self.stage.source_path build_dir = self.stage.source_path
if self.spec.satisfies('@:6.9999'): if self.spec.satisfies('@:6'):
# prior to version 7.1 was the Makefile located in makefiles/ # prior to version 7.1 was the Makefile located in makefiles/
build_dir = join_path(build_dir, 'makefiles') build_dir = join_path(build_dir, 'makefiles')

View File

@@ -33,7 +33,7 @@ def flag_handler(self, name, flags):
spec = self.spec spec = self.spec
if name == 'cflags': if name == 'cflags':
if '%intel@:17.999' in spec: if '%intel@:17' in spec:
flags.append('-no-gcc') flags.append('-no-gcc')
elif '%clang' in spec or '%fj' in spec: elif '%clang' in spec or '%fj' in spec:

View File

@@ -22,7 +22,7 @@ class Creduce(CMakePackage):
depends_on('flex') depends_on('flex')
depends_on('libxml2') depends_on('libxml2')
depends_on('llvm@8.0.0', when='@:2.10.999') depends_on('llvm@8.0.0', when='@:2.10')
depends_on('perl') depends_on('perl')
depends_on('perl-exporter-lite') depends_on('perl-exporter-lite')
depends_on('perl-file-which') depends_on('perl-file-which')

View File

@@ -30,7 +30,7 @@ class Cube(AutotoolsPackage):
variant('gui', default=True, description='Build Cube GUI') variant('gui', default=True, description='Build Cube GUI')
patch('qt-version.patch', when='@4.3.0:4.3.999 +gui') patch('qt-version.patch', when='@4.3.0:4.3 +gui')
depends_on('cubelib@4.6', when='@4.6') depends_on('cubelib@4.6', when='@4.6')
depends_on('cubelib@4.5', when='@4.5') depends_on('cubelib@4.5', when='@4.5')
@@ -45,7 +45,7 @@ class Cube(AutotoolsPackage):
depends_on('zlib') depends_on('zlib')
depends_on('qt@5:', when='@4.3.0: +gui') depends_on('qt@5:', when='@4.3.0: +gui')
depends_on('qt@4.8:', when='@4.2.0:4.2.999 +gui') depends_on('qt@4.8:', when='@4.2.0:4.2 +gui')
conflicts('~gui', when='@4.4:') conflicts('~gui', when='@4.4:')

View File

@@ -205,7 +205,7 @@ class Cudnn(Package):
if pkg: if pkg:
version(long_ver, sha256=pkg) version(long_ver, sha256=pkg)
# Add constraints matching CUDA version to cuDNN version # Add constraints matching CUDA version to cuDNN version
cuda_req = 'cuda@{0}.0:{0}.999'.format(cuda_ver) cuda_req = 'cuda@{0}.0:{0}'.format(cuda_ver)
cudnn_ver_req = '@{0}'.format(long_ver) cudnn_ver_req = '@{0}'.format(long_ver)
depends_on(cuda_req, when=cudnn_ver_req) depends_on(cuda_req, when=cudnn_ver_req)

View File

@@ -74,7 +74,7 @@ class Curl(AutotoolsPackage):
variant('ldap', default=False, description='enable ldap support') variant('ldap', default=False, description='enable ldap support')
variant('libidn2', default=False, description='enable libidn2 support') variant('libidn2', default=False, description='enable libidn2 support')
conflicts('+libssh', when='@:7.57.99') conflicts('+libssh', when='@:7.57')
# on OSX and --with-ssh the configure steps fails with # on OSX and --with-ssh the configure steps fails with
# one or more libs available at link-time are not available run-time # one or more libs available at link-time are not available run-time
# unless the libssh are installed externally (e.g. via homebrew), even # unless the libssh are installed externally (e.g. via homebrew), even

View File

@@ -15,7 +15,7 @@ class DamaskGrid(CMakePackage):
version('3.0.0-alpha4', sha256='0bb8bde43b27d852b1fb6e359a7157354544557ad83d87987b03f5d629ce5493') version('3.0.0-alpha4', sha256='0bb8bde43b27d852b1fb6e359a7157354544557ad83d87987b03f5d629ce5493')
depends_on('cmake@3.10:', type='build') depends_on('cmake@3.10:', type='build')
depends_on('petsc+fftw@3.14.0:3.14.99,3.15.1:3.15.99') depends_on('petsc+fftw@3.14.0:3.14,3.15.1:3.15')
depends_on('hdf5+fortran') depends_on('hdf5+fortran')
patch('CMakeDebugRelease.patch', when='@3.0.0-alpha4') patch('CMakeDebugRelease.patch', when='@3.0.0-alpha4')

View File

@@ -15,7 +15,7 @@ class DamaskMesh(CMakePackage):
version('3.0.0-alpha4', sha256='0bb8bde43b27d852b1fb6e359a7157354544557ad83d87987b03f5d629ce5493') version('3.0.0-alpha4', sha256='0bb8bde43b27d852b1fb6e359a7157354544557ad83d87987b03f5d629ce5493')
depends_on('cmake@3.10:', type='build') depends_on('cmake@3.10:', type='build')
depends_on('petsc@3.14.0:3.14.99,3.15.1:3.15.99') depends_on('petsc@3.14.0:3.14,3.15.1:3.15')
depends_on('hdf5+fortran') depends_on('hdf5+fortran')
patch('CMakeDebugRelease.patch', when='@3.0.0-alpha4') patch('CMakeDebugRelease.patch', when='@3.0.0-alpha4')

View File

@@ -146,7 +146,7 @@ class Dealii(CMakePackage, CudaPackage):
depends_on('boost cxxstd=11', when='cxxstd=11') depends_on('boost cxxstd=11', when='cxxstd=11')
depends_on('boost cxxstd=14', when='cxxstd=14') depends_on('boost cxxstd=14', when='cxxstd=14')
depends_on('boost cxxstd=17', when='cxxstd=17') depends_on('boost cxxstd=17', when='cxxstd=17')
depends_on('bzip2', when='@:8.99') depends_on('bzip2', when='@:8')
depends_on('lapack') depends_on('lapack')
depends_on('ninja', type='build') depends_on('ninja', type='build')
depends_on('suite-sparse') depends_on('suite-sparse')
@@ -157,7 +157,7 @@ class Dealii(CMakePackage, CudaPackage):
depends_on('cmake@3.9:', when='+cuda', type='build') depends_on('cmake@3.9:', when='+cuda', type='build')
# Older version of deal.II do not build with Cmake 3.10, see # Older version of deal.II do not build with Cmake 3.10, see
# https://github.com/dealii/dealii/issues/5510 # https://github.com/dealii/dealii/issues/5510
depends_on('cmake@:3.9.99', when='@:8.99', type='build') depends_on('cmake@:3.9', when='@:8', type='build')
depends_on('mpi', when='+mpi') depends_on('mpi', when='+mpi')
depends_on('python', when='@8.5.0:+python') depends_on('python', when='@8.5.0:+python')
@@ -347,7 +347,7 @@ def cmake_args(self):
self.define('DEAL_II_ALLOW_BUNDLED', False) self.define('DEAL_II_ALLOW_BUNDLED', False)
]) ])
if spec.satisfies('@:8.99'): if spec.satisfies('@:8'):
options.extend([ options.extend([
# Cmake may still pick up system's bzip2, fix this: # Cmake may still pick up system's bzip2, fix this:
self.define('BZIP2_FOUND', True), self.define('BZIP2_FOUND', True),

View File

@@ -62,9 +62,9 @@ class Dihydrogen(CMakePackage, CudaPackage, ROCmPackage):
depends_on('catch2', type='test') depends_on('catch2', type='test')
# Specify the correct version of Aluminum # Specify the correct version of Aluminum
depends_on('aluminum@0.4:0.4.99', when='@0.1:0.1.99 +al') depends_on('aluminum@0.4.0:0.4', when='@0.1 +al')
depends_on('aluminum@0.5.0:0.5.99', when='@0.2.0 +al') depends_on('aluminum@0.5.0:0.5', when='@0.2.0 +al')
depends_on('aluminum@0.7.0:0.7.99', when='@0.2.1 +al') depends_on('aluminum@0.7.0:0.7', when='@0.2.1 +al')
depends_on('aluminum@0.7.0:', when='@:0.0,0.2.1: +al') depends_on('aluminum@0.7.0:', when='@:0.0,0.2.1: +al')
# Add Aluminum variants # Add Aluminum variants
@@ -83,7 +83,7 @@ class Dihydrogen(CMakePackage, CudaPackage, ROCmPackage):
for when in ['+cuda', '+distconv']: for when in ['+cuda', '+distconv']:
depends_on('cuda', when=when) depends_on('cuda', when=when)
depends_on('cudnn', when=when) depends_on('cudnn', when=when)
depends_on('cub', when='^cuda@:10.99') depends_on('cub', when='^cuda@:10')
# Note that #1712 forces us to enumerate the different blas variants # Note that #1712 forces us to enumerate the different blas variants
depends_on('openblas', when='blas=openblas') depends_on('openblas', when='blas=openblas')
@@ -172,7 +172,7 @@ def cmake_args(self):
args.append('-DcuDNN_DIR={0}'.format( args.append('-DcuDNN_DIR={0}'.format(
spec['cudnn'].prefix)) spec['cudnn'].prefix))
if spec.satisfies('^cuda@:10.99'): if spec.satisfies('^cuda@:10'):
if '+cuda' in spec or '+distconv' in spec: if '+cuda' in spec or '+distconv' in spec:
args.append('-DCUB_DIR={0}'.format( args.append('-DCUB_DIR={0}'.format(
spec['cub'].prefix)) spec['cub'].prefix))

View File

@@ -49,18 +49,18 @@ class Draco(CMakePackage):
variant('qt', default=False, description='Enable Qt support') variant('qt', default=False, description='Enable Qt support')
variant('superlu_dist', default=True, description='Enable SuperLU-DIST support') variant('superlu_dist', default=True, description='Enable SuperLU-DIST support')
depends_on('cmake@3.9:', when='@:6.99', type='build') depends_on('cmake@3.9:', when='@:6', type='build')
depends_on('cmake@3.11:', when='@7.0.0:7.1.99', type='build') depends_on('cmake@3.11:', when='@7.0.0:7.1', type='build')
depends_on('cmake@3.14:', when='@7.2.0:7.6.99', type='build') depends_on('cmake@3.14:', when='@7.2.0:7.6', type='build')
depends_on('cmake@3.17:', when='@7.7:', type='build') depends_on('cmake@3.17:', when='@7.7:', type='build')
depends_on('cmake@3.18:', when='@7.9:', type='build') depends_on('cmake@3.18:', when='@7.9:', type='build')
depends_on('gsl@:2.5.99', when='@:7.10.99') depends_on('gsl@:2.5', when='@:7.10')
depends_on('gsl@2.6:', when='@7.11.0:') depends_on('gsl@2.6:', when='@7.11.0:')
depends_on('mpi@3:', type=('build', 'link', 'run')) depends_on('mpi@3:', type=('build', 'link', 'run'))
depends_on('numdiff', type='build') depends_on('numdiff', type='build')
depends_on('random123@1.09', when='@:7.6.99') depends_on('random123@1.09', when='@:7.6')
depends_on('random123', when='@7.7.0:') depends_on('random123', when='@7.7.0:')
depends_on('python@2.7:', when='@:7.6.99', type=('build', 'run', 'test')) depends_on('python@2.7:', when='@:7.6', type=('build', 'run', 'test'))
depends_on('python@3.5:', when='@7.7.0:', type=('build', 'run', 'test')) depends_on('python@3.5:', when='@7.7.0:', type=('build', 'run', 'test'))
# Optional dependencies # Optional dependencies
@@ -73,17 +73,17 @@ class Draco(CMakePackage):
depends_on('parmetis', when='+parmetis') depends_on('parmetis', when='+parmetis')
depends_on('qt', when='+qt', depends_on('qt', when='+qt',
type=('build', 'link', 'run')) type=('build', 'link', 'run'))
depends_on('superlu-dist@:5.99', when='@:7.6.99+superlu_dist') depends_on('superlu-dist@:5', when='@:7.6+superlu_dist')
depends_on('py-matplotlib', when='+pythontools', type=('run')) depends_on('py-matplotlib', when='+pythontools', type=('run'))
conflicts('+cuda', when='@:7.6.99') conflicts('+cuda', when='@:7.6')
conflicts('+caliper', when='@:7.7.99') conflicts('+caliper', when='@:7.7')
# Fix python discovery. # Fix python discovery.
patch('d710.patch', when='@7.1.0^python@3:') patch('d710.patch', when='@7.1.0^python@3:')
patch('d710-python2.patch', when='@7.1.0^python@2.7:2.99') patch('d710-python2.patch', when='@7.1.0^python@2.7:2')
patch('d730.patch', when='@7.3.0:7.3.99') patch('d730.patch', when='@7.3.0:7.3')
patch('d740.patch', when='@7.4.0:7.4.99') patch('d740.patch', when='@7.4.0:7.4')
patch('d760-cray.patch', when='@7.6.0') patch('d760-cray.patch', when='@7.6.0')
patch('d770-nocuda.patch', when='@7.7.0') patch('d770-nocuda.patch', when='@7.7.0')

View File

@@ -44,7 +44,7 @@ class Dyninst(CMakePackage):
boost_libs = '+atomic+chrono+date_time+filesystem+system+thread+timer' boost_libs = '+atomic+chrono+date_time+filesystem+system+thread+timer'
depends_on('boost@1.61.0:' + boost_libs, when='@10.1.0:') depends_on('boost@1.61.0:' + boost_libs, when='@10.1.0:')
depends_on('boost@1.61.0:1.69.99' + boost_libs, when='@:10.0.99') depends_on('boost@1.61.0:1.69' + boost_libs, when='@:10.0')
depends_on('boost@1.67.0:' + boost_libs, when='@11.0.0:') depends_on('boost@1.67.0:' + boost_libs, when='@11.0.0:')
depends_on('libiberty+pic') depends_on('libiberty+pic')
@@ -54,22 +54,22 @@ class Dyninst(CMakePackage):
# NB: Parallel DWARF parsing in Dyninst 10.2.0 requires a thread- # NB: Parallel DWARF parsing in Dyninst 10.2.0 requires a thread-
# safe libdw # safe libdw
depends_on('elfutils@0.178:', type='link', when='@10.2.0:') depends_on('elfutils@0.178:', type='link', when='@10.2.0:')
depends_on('elfutils', type='link', when='@9.3.0:10.1.99') depends_on('elfutils', type='link', when='@9.3.0:10.1')
depends_on('libelf', type='link', when='@:9.2.99') depends_on('libelf', type='link', when='@:9.2')
# Dyninst uses libdw from elfutils starting with 10.0, and used # Dyninst uses libdw from elfutils starting with 10.0, and used
# libdwarf before that. # libdwarf before that.
depends_on('libdwarf', when='@:9.99.99') depends_on('libdwarf', when='@:9')
depends_on('tbb@2018.6:', when='@10.0.0:') depends_on('tbb@2018.6:', when='@10.0.0:')
depends_on('cmake@3.4.0:', type='build', when='@10.1.0:') depends_on('cmake@3.4.0:', type='build', when='@10.1.0:')
depends_on('cmake@3.0.0:', type='build', when='@10.0.0:10.0.99') depends_on('cmake@3.0.0:', type='build', when='@10.0.0:10.0')
depends_on('cmake@2.8:', type='build', when='@:9.99.99') depends_on('cmake@2.8:', type='build', when='@:9')
patch('stat_dysect.patch', when='+stat_dysect') patch('stat_dysect.patch', when='+stat_dysect')
patch('stackanalysis_h.patch', when='@9.2.0') patch('stackanalysis_h.patch', when='@9.2.0')
patch('v9.3.2-auto.patch', when='@9.3.2 %gcc@:4.7.99') patch('v9.3.2-auto.patch', when='@9.3.2 %gcc@:4.7')
patch('tribool.patch', when='@9.3.0:10.0.0 ^boost@1.69:') patch('tribool.patch', when='@9.3.0:10.0.0 ^boost@1.69:')
# No Mac support (including apple-clang) # No Mac support (including apple-clang)
@@ -86,12 +86,12 @@ class Dyninst(CMakePackage):
conflicts('%xl_r') conflicts('%xl_r')
# Version 11.0 requires a C++11-compliant ABI # Version 11.0 requires a C++11-compliant ABI
conflicts('%gcc@:5.99.99', when='@11.0.0:') conflicts('%gcc@:5', when='@11.0.0:')
# Versions 9.3.x used cotire, but have no knob to turn it off. # Versions 9.3.x used cotire, but have no knob to turn it off.
# Cotire has no real use for one-time builds and can break # Cotire has no real use for one-time builds and can break
# parallel builds with both static and shared libs. # parallel builds with both static and shared libs.
@when('@9.3.0:9.3.99') @when('@9.3.0:9.3')
def patch(self): def patch(self):
filter_file('USE_COTIRE true', 'USE_COTIRE false', filter_file('USE_COTIRE true', 'USE_COTIRE false',
'cmake/shared.cmake') 'cmake/shared.cmake')
@@ -126,7 +126,7 @@ def cmake_args(self):
return args return args
# Old style cmake args, up through 10.0. # Old style cmake args, up through 10.0.
@when('@:10.0.99') @when('@:10.0')
def cmake_args(self): def cmake_args(self):
spec = self.spec spec = self.spec

View File

@@ -45,9 +45,9 @@ class Eccodes(CMakePackage):
depends_on('netcdf-c', when='+netcdf') depends_on('netcdf-c', when='+netcdf')
# Cannot be built with openjpeg@2.0.x. # Cannot be built with openjpeg@2.0.x.
depends_on('openjpeg@1.5.0:1.5.999,2.1.0:2.3.999', when='jp2k=openjpeg') depends_on('openjpeg@1.5.0:1.5,2.1.0:2.3', when='jp2k=openjpeg')
# Additional constraint for older versions. # Additional constraint for older versions.
depends_on('openjpeg@:2.1.999', when='@:2.16 jp2k=openjpeg') depends_on('openjpeg@:2.1', when='@:2.16 jp2k=openjpeg')
depends_on('jasper', when='jp2k=jasper') depends_on('jasper', when='jp2k=jasper')
depends_on('libpng', when='+png') depends_on('libpng', when='+png')
depends_on('libaec', when='+aec') depends_on('libaec', when='+aec')
@@ -56,7 +56,7 @@ class Eccodes(CMakePackage):
# The interface is available only for Python 2. # The interface is available only for Python 2.
# Python 3 interface is available as a separate packages: # Python 3 interface is available as a separate packages:
# https://confluence.ecmwf.int/display/ECC/Python+3+interface+for+ecCodes # https://confluence.ecmwf.int/display/ECC/Python+3+interface+for+ecCodes
depends_on('python@2.6:2.999', when='+python', depends_on('python@2.6:2', when='+python',
type=('build', 'link', 'run')) type=('build', 'link', 'run'))
depends_on('py-numpy', when='+python', type=('build', 'run')) depends_on('py-numpy', when='+python', type=('build', 'run'))
extends('python', when='+python') extends('python', when='+python')

View File

@@ -31,7 +31,7 @@ class Edm4hep(CMakePackage):
depends_on('root@6.08:') depends_on('root@6.08:')
depends_on('podio@0.13:') depends_on('podio@0.13:')
depends_on('hepmc@:2.99.99', type='test') depends_on('hepmc@:2', type='test')
depends_on('heppdt', type='test') depends_on('heppdt', type='test')
def cmake_args(self): def cmake_args(self):

View File

@@ -44,9 +44,9 @@ class Elpa(AutotoolsPackage, CudaPackage, ROCmPackage):
patch('python_shebang.patch', when='@:2020.05.001') patch('python_shebang.patch', when='@:2020.05.001')
# fails to build due to broken type-bound procedures in OMP parallel regions # fails to build due to broken type-bound procedures in OMP parallel regions
conflicts('+openmp', when='@2021.05.001: %gcc@:7.999', conflicts('+openmp', when='@2021.05.001: %gcc@:7',
msg='ELPA-2021.05.001+ requires GCC-8+ for OpenMP support') msg='ELPA-2021.05.001+ requires GCC-8+ for OpenMP support')
conflicts('+rocm', when='@:2020.99', conflicts('+rocm', when='@:2020',
msg='ROCm support was introduced in ELPA 2021.05.001') msg='ROCm support was introduced in ELPA 2021.05.001')
conflicts('+mpi', when='+rocm', conflicts('+mpi', when='+rocm',
msg='ROCm support and MPI are not yet compatible') msg='ROCm support and MPI are not yet compatible')

View File

@@ -59,7 +59,7 @@ class Emacs(AutotoolsPackage, GNUMirrorPackage):
depends_on('gcc@11: +strip languages=jit', when="+native") depends_on('gcc@11: +strip languages=jit', when="+native")
conflicts('@:26.3', when='platform=darwin os=catalina') conflicts('@:26.3', when='platform=darwin os=catalina')
conflicts('+native', when='@:27.99.99', msg="native compilation require @master") conflicts('+native', when='@:27', msg="native compilation require @master")
@when('platform=darwin') @when('platform=darwin')
def setup_build_environment(self, env): def setup_build_environment(self, env):

View File

@@ -51,7 +51,7 @@ def cmake_args(self):
self.define('EMBREE_ISA_AVX512SKX', True), self.define('EMBREE_ISA_AVX512SKX', True),
] ]
if spec.satisfies('%gcc@:7.99'): if spec.satisfies('%gcc@:7'):
# remove unsupported -mprefer-vector-width=256, otherwise copied # remove unsupported -mprefer-vector-width=256, otherwise copied
# from common/cmake/gnu.cmake # from common/cmake/gnu.cmake
args.append('-DFLAGS_AVX512SKX=-mavx512f -mavx512dq -mavx512cd' args.append('-DFLAGS_AVX512SKX=-mavx512f -mavx512dq -mavx512cd'

View File

@@ -47,25 +47,25 @@ class Esmf(MakefilePackage):
depends_on('perl', type='test') depends_on('perl', type='test')
# Make esmf build with newer intel versions # Make esmf build with newer intel versions
patch('intel.patch', when='@:7.0.99 %intel@17:') patch('intel.patch', when='@:7.0 %intel@17:')
# Make esmf build with newer gcc versions # Make esmf build with newer gcc versions
# https://sourceforge.net/p/esmf/esmf/ci/3706bf758012daebadef83d6575c477aeff9c89b/ # https://sourceforge.net/p/esmf/esmf/ci/3706bf758012daebadef83d6575c477aeff9c89b/
patch('gcc.patch', when='@:7.0.99 %gcc@6:') patch('gcc.patch', when='@:7.0 %gcc@6:')
# Fix undefined reference errors with mvapich2 # Fix undefined reference errors with mvapich2
# https://sourceforge.net/p/esmf/esmf/ci/34de0ccf556ba75d35c9687dae5d9f666a1b2a18/ # https://sourceforge.net/p/esmf/esmf/ci/34de0ccf556ba75d35c9687dae5d9f666a1b2a18/
patch('mvapich2.patch', when='@:7.0.99') patch('mvapich2.patch', when='@:7.0')
# Allow different directories for creation and # Allow different directories for creation and
# installation of dynamic libraries on OSX: # installation of dynamic libraries on OSX:
patch('darwin_dylib_install_name.patch', when='platform=darwin @:7.0.99') patch('darwin_dylib_install_name.patch', when='platform=darwin @:7.0')
# Missing include file for newer gcc compilers # Missing include file for newer gcc compilers
# https://trac.macports.org/ticket/57493 # https://trac.macports.org/ticket/57493
patch('cstddef.patch', when='@7.1.0r %gcc@8:') patch('cstddef.patch', when='@7.1.0r %gcc@8:')
# Make script from mvapich2.patch executable # Make script from mvapich2.patch executable
@when('@:7.0.99') @when('@:7.0')
@run_before('build') @run_before('build')
def chmod_scripts(self): def chmod_scripts(self):
chmod = which('chmod') chmod = which('chmod')

View File

@@ -41,7 +41,7 @@ class Evtgen(CMakePackage):
"evtgen with pythia bindings results in a circular dependency " "evtgen with pythia bindings results in a circular dependency "
"that cannot be resolved at the moment! " "that cannot be resolved at the moment! "
"Use evtgen+pythia8^pythia8~evtgen.") "Use evtgen+pythia8^pythia8~evtgen.")
conflicts('+hepmc3', when='@:01.99.99', conflicts('+hepmc3', when='@:01',
msg='hepmc3 support was added in 02.00.00') msg='hepmc3 support was added in 02.00.00')
def cmake_args(self): def cmake_args(self):
@@ -67,7 +67,7 @@ def configure(self, spec, prefix):
with working_dir(self.build_directory, create=True): with working_dir(self.build_directory, create=True):
inspect.getmodule(self).configure(*options) inspect.getmodule(self).configure(*options)
@when('@:01.99.99') @when('@:01')
def configure_args(self): def configure_args(self):
args = [] args = []
@@ -81,11 +81,11 @@ def configure_args(self):
return args return args
@when('@:01.99.99') @when('@:01')
def cmake(self, spec, prefix): def cmake(self, spec, prefix):
pass pass
@when('@:01.99.99') @when('@:01')
def build(self, spec, prefix): def build(self, spec, prefix):
self.configure(spec, prefix) self.configure(spec, prefix)
# avoid parallel compilation errors # avoid parallel compilation errors
@@ -94,7 +94,7 @@ def build(self, spec, prefix):
make('lib_shared') make('lib_shared')
make('all') make('all')
@when('@:01.99.99') @when('@:01')
def install(self, spec, prefix): def install(self, spec, prefix):
with working_dir(self.build_directory): with working_dir(self.build_directory):
make('install') make('install')

View File

@@ -42,14 +42,14 @@ class Fairlogger(CMakePackage):
variant('pretty', variant('pretty',
default=False, default=False,
description='Use BOOST_PRETTY_FUNCTION macro (Supported by 1.4+).') description='Use BOOST_PRETTY_FUNCTION macro (Supported by 1.4+).')
conflicts('+pretty', when='@:1.3.99') conflicts('+pretty', when='@:1.3')
depends_on('cmake@3.9.4:', type='build') depends_on('cmake@3.9.4:', type='build')
depends_on('git', type='build', when='@develop') depends_on('git', type='build', when='@develop')
depends_on('boost', when='+pretty') depends_on('boost', when='+pretty')
conflicts('^boost@1.70:', when='^cmake@:3.14') conflicts('^boost@1.70:', when='^cmake@:3.14')
depends_on('fmt@5.3.0:5.99', when='@1.6.0:1.6.1') depends_on('fmt@5.3.0:5', when='@1.6.0:1.6.1')
depends_on('fmt@5.3.0:', when='@1.6.2:') depends_on('fmt@5.3.0:', when='@1.6.2:')
def patch(self): def patch(self):
@@ -71,6 +71,6 @@ def cmake_args(self):
args.append(self.define_from_variant('USE_BOOST_PRETTY_FUNCTION', 'pretty')) args.append(self.define_from_variant('USE_BOOST_PRETTY_FUNCTION', 'pretty'))
if self.spec.satisfies('@1.6:'): if self.spec.satisfies('@1.6:'):
args.append('-DUSE_EXTERNAL_FMT=ON') args.append('-DUSE_EXTERNAL_FMT=ON')
if self.spec.satisfies('^boost@:1.69.99'): if self.spec.satisfies('^boost@:1.69'):
args.append('-DBoost_NO_BOOST_CMAKE=ON') args.append('-DBoost_NO_BOOST_CMAKE=ON')
return args return args

View File

@@ -102,7 +102,7 @@ class Fenics(CMakePackage):
depends_on('zlib', when='+zlib') depends_on('zlib', when='+zlib')
depends_on('boost+filesystem+program_options+system+iostreams+timer+regex+chrono') 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.99') depends_on('boost+filesystem+program_options+system+iostreams+timer+regex+chrono@1.68.0', when='@:2018')
depends_on('mpi', when='+mpi') depends_on('mpi', when='+mpi')
depends_on('hdf5+hl+fortran', when='+hdf5+petsc') depends_on('hdf5+hl+fortran', when='+hdf5+petsc')

View File

@@ -38,7 +38,7 @@ class Ferret(Package):
# Make Java dependency optional with older versions of Ferret # Make Java dependency optional with older versions of Ferret
patch('https://github.com/NOAA-PMEL/Ferret/commit/c7eb70a0b17045c8ca7207d586bfea77a5340668.patch', patch('https://github.com/NOAA-PMEL/Ferret/commit/c7eb70a0b17045c8ca7207d586bfea77a5340668.patch',
sha256='5bd581db4578c013faed375844b206fbe71f93fe9ce60f8f9f41d64abc6a5972', sha256='5bd581db4578c013faed375844b206fbe71f93fe9ce60f8f9f41d64abc6a5972',
level=1, working_dir='FERRET', when='@:6.99') level=1, working_dir='FERRET', when='@:6')
resource(name='datasets', resource(name='datasets',
url='https://github.com/NOAA-PMEL/FerretDatasets/archive/v7.6.tar.gz', url='https://github.com/NOAA-PMEL/FerretDatasets/archive/v7.6.tar.gz',

View File

@@ -93,19 +93,19 @@ class Ffmpeg(AutotoolsPackage):
depends_on('xz', when='+lzma') depends_on('xz', when='+lzma')
# TODO: enable when libxml2 header issue is resolved # TODO: enable when libxml2 header issue is resolved
# conflicts('+libxml2', when='@:3.999') # conflicts('+libxml2', when='@:3')
# See: https://www.ffmpeg.org/index.html#news (search AV1) # See: https://www.ffmpeg.org/index.html#news (search AV1)
conflicts('+libaom', when='@:3.999') conflicts('+libaom', when='@:3')
# All of the following constraints were sourced from the official 'ffmpeg' # All of the following constraints were sourced from the official 'ffmpeg'
# change log, which can be found here: # change log, which can be found here:
# https://raw.githubusercontent.com/FFmpeg/FFmpeg/release/4.0/Changelog # https://raw.githubusercontent.com/FFmpeg/FFmpeg/release/4.0/Changelog
conflicts('+sdl2', when='@:3.1.999') conflicts('+sdl2', when='@:3.1')
conflicts('+libsnappy', when='@:2.7.999') conflicts('+libsnappy', when='@:2.7')
conflicts('+X', when='@:2.4.999') conflicts('+X', when='@:2.4')
conflicts('+lzma', when='@2.3.999:') conflicts('+lzma', when='@2.3:')
conflicts('+libwebp', when='@2.1.999:') conflicts('+libwebp', when='@2.1:')
conflicts('+libssh', when='@2.0.999:') conflicts('+libssh', when='@2.1:')
conflicts('+libzmq', when='@:1.999.999') conflicts('+libzmq', when='@:1')
conflicts('%nvhpc') conflicts('%nvhpc')
@property @property

View File

@@ -29,7 +29,7 @@ class FftwBase(AutotoolsPackage):
depends_on('llvm-openmp', when='%apple-clang +openmp') depends_on('llvm-openmp', when='%apple-clang +openmp')
# https://github.com/FFTW/fftw3/commit/902d0982522cdf6f0acd60f01f59203824e8e6f3 # https://github.com/FFTW/fftw3/commit/902d0982522cdf6f0acd60f01f59203824e8e6f3
conflicts('%gcc@8:8.9999', when="@3.3.7") conflicts('%gcc@8.0:8', when="@3.3.7")
conflicts('precision=long_double', when='@2.1.5', conflicts('precision=long_double', when='@2.1.5',
msg='Long double precision is not supported in FFTW 2') msg='Long double precision is not supported in FFTW 2')
conflicts('precision=quad', when='@2.1.5', conflicts('precision=quad', when='@2.1.5',

View File

@@ -23,7 +23,7 @@ class Fides(CMakePackage):
variant('vtk-m', default=True, description="build VTK-m support") variant('vtk-m', default=True, description="build VTK-m support")
# Certain CMake versions have been found to break for our use cases # Certain CMake versions have been found to break for our use cases
depends_on("cmake@3.14.1:3.14.99,3.18.2:", type='build') depends_on("cmake@3.14.1:3.14,3.18.2:", type='build')
depends_on("mpi", when="+mpi") depends_on("mpi", when="+mpi")
depends_on('adios2~zfp', when='+adios2') depends_on('adios2~zfp', when='+adios2')

View File

@@ -50,7 +50,7 @@ def url_for_version(self, version):
# Detect this case and use the fallback path. # Detect this case and use the fallback path.
patch('nvhpc.patch', when='@4.6.0 %nvhpc') patch('nvhpc.patch', when='@4.6.0 %nvhpc')
# Workaround bug where __LONG_WIDTH__ is not defined # Workaround bug where __LONG_WIDTH__ is not defined
patch('nvhpc-long-width.patch', when='@4.8.0:4.8.99 %nvhpc') patch('nvhpc-long-width.patch', when='@4.8.0:4.8 %nvhpc')
build_directory = 'spack-build' build_directory = 'spack-build'

View File

@@ -95,7 +95,7 @@ class Flecsi(CMakePackage, CudaPackage):
depends_on('python@3.0:', when='+tutorial @:1.9') depends_on('python@3.0:', when='+tutorial @:1.9')
depends_on('doxygen', when='+doxygen @:1.9') depends_on('doxygen', when='+doxygen @:1.9')
depends_on('llvm', when='+flecstan @:1.9') depends_on('llvm', when='+flecstan @:1.9')
depends_on('pfunit@3.0:3.99', when='@:1.9') depends_on('pfunit@3.0:3', when='@:1.9')
depends_on('py-gcovr', when='+coverage @:1.9') depends_on('py-gcovr', when='+coverage @:1.9')
# FleCSI@2.x # FleCSI@2.x

View File

@@ -43,14 +43,14 @@ class FluxCore(AutotoolsPackage):
depends_on("libzmq@4.0.4:") depends_on("libzmq@4.0.4:")
depends_on("czmq@3.0.1:") depends_on("czmq@3.0.1:")
depends_on("hwloc@1.11.1:1.99", when="@:0.17.0") depends_on("hwloc@1.11.1:1", when="@:0.17.0")
depends_on("hwloc@1.11.1:", when="@0.17.0:") depends_on("hwloc@1.11.1:", when="@0.17.0:")
depends_on("hwloc +cuda", when='+cuda') depends_on("hwloc +cuda", when='+cuda')
# Provide version hints for lua so that the concretizer succeeds when no # Provide version hints for lua so that the concretizer succeeds when no
# explicit flux-core version is given. See issue #10000 for details # explicit flux-core version is given. See issue #10000 for details
depends_on("lua", type=('build', 'run', 'link')) depends_on("lua", type=('build', 'run', 'link'))
depends_on("lua@5.1:5.2.99", when="@:0.17.0") depends_on("lua@5.1:5.2", when="@:0.17.0")
depends_on("lua@5.1:5.3.99", when="@0.18.0:,master") depends_on("lua@5.1:5.3", when="@0.18.0:,master")
depends_on("lua-luaposix") depends_on("lua-luaposix")
# `link` dependency on python due to Flux's `pymod` module # `link` dependency on python due to Flux's `pymod` module
depends_on("python@3.6:", type=('build', 'run', 'link')) depends_on("python@3.6:", type=('build', 'run', 'link'))
@@ -180,7 +180,7 @@ def flag_handler(self, name, flags):
if name == 'cflags': if name == 'cflags':
# https://github.com/flux-framework/flux-core/issues/3482 # https://github.com/flux-framework/flux-core/issues/3482
if self.spec.satisfies('%gcc@10:') and \ if self.spec.satisfies('%gcc@10:') and \
self.spec.satisfies('@0.23.0:0.23.99'): self.spec.satisfies('@0.23.0:0.23'):
if flags is None: if flags is None:
flags = [] flags = []
flags.append('-Wno-error=stringop-truncation') flags.append('-Wno-error=stringop-truncation')

View File

@@ -46,9 +46,9 @@ class FluxSched(AutotoolsPackage):
depends_on("flux-core", type=('build', 'link', 'run')) depends_on("flux-core", type=('build', 'link', 'run'))
depends_on("flux-core+cuda", when='+cuda', type=('build', 'run', 'link')) depends_on("flux-core+cuda", when='+cuda', type=('build', 'run', 'link'))
depends_on("flux-core@0.16.0:0.16.99", when='@0.8.0', type=('build', 'run', 'link')) depends_on("flux-core@0.16.0:0.16", when='@0.8.0', type=('build', 'run', 'link'))
depends_on("flux-core@0.22.0", when='@0.14.0', type=('build', 'run', 'link')) depends_on("flux-core@0.22.0", when='@0.14.0', type=('build', 'run', 'link'))
depends_on("flux-core@0.23.0:0.25.99", when='@0.15.0', type=('build', 'run', 'link')) depends_on("flux-core@0.23.0:0.25", when='@0.15.0', type=('build', 'run', 'link'))
depends_on("flux-core@0.26.0:", when='@0.16.0', type=('build', 'run', 'link')) depends_on("flux-core@0.26.0:", when='@0.16.0', type=('build', 'run', 'link'))
depends_on("flux-core@0.28.0:", when='@0.17.0', type=('build', 'run', 'link')) depends_on("flux-core@0.28.0:", when='@0.17.0', type=('build', 'run', 'link'))
depends_on("flux-core@master", when='@master', type=('build', 'run', 'link')) depends_on("flux-core@master", when='@master', type=('build', 'run', 'link'))

View File

@@ -42,8 +42,8 @@ class Fmt(CMakePackage):
# Supported compilers/standards are detailed here: # Supported compilers/standards are detailed here:
# http://fmtlib.net/latest/index.html#portability # http://fmtlib.net/latest/index.html#portability
conflicts('%gcc@:4.3.999', when='@5:') conflicts('%gcc@:4.3', when='@5:')
conflicts('%llvm@:2.8.999', when='@5:') conflicts('%llvm@:2.8', when='@5:')
# 5 and above require C++11 # 5 and above require C++11
conflicts('cxxstd=98', when='@5:') conflicts('cxxstd=98', when='@5:')
# 5.0.0 enables C++14 auto return types in C++11 mode # 5.0.0 enables C++14 auto return types in C++11 mode

View File

@@ -19,7 +19,7 @@ class Fstrack(MakefilePackage):
variant('flow', default=True, description='Build the flow tracker') variant('flow', default=True, description='Build the flow tracker')
depends_on('gmt@4.0:4.999', when='+flow') depends_on('gmt@4.0:4', when='+flow')
depends_on('netcdf-c', when='+flow') depends_on('netcdf-c', when='+flow')
parallel = False parallel = False

View File

@@ -25,7 +25,7 @@ class Ganglia(AutotoolsPackage):
depends_on('libtool', type='build') depends_on('libtool', type='build')
depends_on('apr') depends_on('apr')
depends_on('libconfuse') depends_on('libconfuse')
depends_on('python@:2.7.999') depends_on('python@:2.7')
depends_on('pcre') depends_on('pcre')
depends_on('libtirpc') depends_on('libtirpc')
depends_on('expat') depends_on('expat')

View File

@@ -36,9 +36,9 @@ class Gaudi(CMakePackage):
description='Build with Intel VTune profiler support') description='Build with Intel VTune profiler support')
# only build subdirectory GaudiExamples when +optional # only build subdirectory GaudiExamples when +optional
patch("build_testing.patch", when="@:34.99") patch("build_testing.patch", when="@:34")
# fixes for the cmake config which could not find newer boost versions # fixes for the cmake config which could not find newer boost versions
patch("link_target_fixes.patch", when="@33.0:34.99") patch("link_target_fixes.patch", when="@33.0:34")
patch("link_target_fixes32.patch", when="@:32.2") patch("link_target_fixes32.patch", when="@:32.2")
# These dependencies are needed for a minimal Gaudi build # These dependencies are needed for a minimal Gaudi build
@@ -52,9 +52,9 @@ class Gaudi(CMakePackage):
depends_on('uuid') depends_on('uuid')
depends_on('nlohmann-json', when="@35.0:") depends_on('nlohmann-json', when="@35.0:")
depends_on('python', type=('build', 'run')) depends_on('python', type=('build', 'run'))
depends_on('python@:3.7.99', when='@32.2:34.99', type=('build', 'run')) depends_on('python@:3.7', when='@32.2:34', type=('build', 'run'))
depends_on('python@:2.99.99', when='@:32.1', type=('build', 'run')) depends_on('python@:2', when='@:32.1', type=('build', 'run'))
depends_on('py-setuptools@:45.99.99', when='^python@:2.7.99', type='build') depends_on('py-setuptools@:45', when='^python@:2.7', type='build')
depends_on('py-six', type=('build', 'run')) depends_on('py-six', type=('build', 'run'))
depends_on('py-xenv@1:', when='@:34.9', type=('build', 'run')) depends_on('py-xenv@1:', when='@:34.9', type=('build', 'run'))
depends_on('range-v3') depends_on('range-v3')
@@ -71,15 +71,15 @@ class Gaudi(CMakePackage):
depends_on('gperftools', when='+optional') depends_on('gperftools', when='+optional')
depends_on('gdb', when='+optional') depends_on('gdb', when='+optional')
depends_on('gsl', when='+optional') depends_on('gsl', when='+optional')
depends_on('heppdt@:2.99.99', when='+optional') depends_on('heppdt@:2', when='+optional')
depends_on('jemalloc', when='+optional') depends_on('jemalloc', when='+optional')
depends_on('libpng', when='+optional') depends_on('libpng', when='+optional')
depends_on('libunwind', when='+optional') depends_on('libunwind', when='+optional')
depends_on('py-networkx@:2.2', when='+optional ^python@:2.7.99') depends_on('py-networkx@:2.2', when='+optional ^python@:2.7')
depends_on('py-networkx', when='+optional ^python@3.0.0:') depends_on('py-networkx', when='+optional ^python@3.0.0:')
depends_on('py-setuptools', when='+optional') depends_on('py-setuptools', when='+optional')
depends_on('py-nose', when='+optional') depends_on('py-nose', when='+optional')
depends_on('relax', when='@:33.99 +optional') depends_on('relax', when='@:33 +optional')
depends_on('xerces-c', when='+optional') depends_on('xerces-c', when='+optional')
# NOTE: pocl cannot be added as a minimal OpenCL implementation because # NOTE: pocl cannot be added as a minimal OpenCL implementation because
# ROOT does not like being exposed to LLVM symbols. # ROOT does not like being exposed to LLVM symbols.
@@ -105,7 +105,7 @@ def cmake_args(self):
self.define("GAUDI_USE_INTELAMPLIFIER", False), self.define("GAUDI_USE_INTELAMPLIFIER", False),
self.define("GAUDI_USE_GPERFTOOLS", False), ] self.define("GAUDI_USE_GPERFTOOLS", False), ]
# this is not really used in spack builds, but needs to be set # this is not really used in spack builds, but needs to be set
if self.spec.version < Version('34.99'): if self.spec.version < Version('34'):
args.append("-DHOST_BINARY_TAG=x86_64-linux-gcc9-opt") args.append("-DHOST_BINARY_TAG=x86_64-linux-gcc9-opt")
return args return args

View File

@@ -40,11 +40,11 @@ class GaussianView(Package):
description='Use gaussian-src instead of gaussian (prebuilt binary)' description='Use gaussian-src instead of gaussian (prebuilt binary)'
) )
depends_on('gaussian@16-B.01', type='run', when='@:6.0.99') depends_on('gaussian@16-B.01', type='run', when='@:6.0')
depends_on('gaussian@16-C.01', type='run', when='~gaussian-src@6.1:') depends_on('gaussian@16-C.01', type='run', when='~gaussian-src@6.1:')
depends_on('gaussian-src@16-C.01', type='run', when='+gaussian-src@6.1:') depends_on('gaussian-src@16-C.01', type='run', when='+gaussian-src@6.1:')
conflicts('+gaussian-src', when='@:6.0.99') conflicts('+gaussian-src', when='@:6.0')
depends_on('libx11', type=('run', 'link')) depends_on('libx11', type=('run', 'link'))
depends_on('libxext', type=('run', 'link')) depends_on('libxext', type=('run', 'link'))
@@ -101,7 +101,7 @@ def caveats(self):
https://spack.readthedocs.io/en/latest/build_settings.html#package-permissions""" https://spack.readthedocs.io/en/latest/build_settings.html#package-permissions"""
.format(perm_script_path)) .format(perm_script_path))
@when('@:6.0.99') @when('@:6.0')
def setup_run_environment(self, env): def setup_run_environment(self, env):
env.set('GV_DIR', self.prefix) env.set('GV_DIR', self.prefix)

View File

@@ -107,7 +107,7 @@ class Gdal(AutotoolsPackage):
# Required dependencies # Required dependencies
depends_on('libtiff@3.6.0:') # 3.9.0+ needed to pass testsuite depends_on('libtiff@3.6.0:') # 3.9.0+ needed to pass testsuite
depends_on('libgeotiff@1.2.1:1.4', when='@:2.4.0') depends_on('libgeotiff@1.2.1:1.4', when='@:2.4.0')
depends_on('libgeotiff@1.2.1:1.5', when='@2.4.1:2.4.99') depends_on('libgeotiff@1.2.1:1.5', when='@2.4.1:2.4')
depends_on('libgeotiff@1.5:', when='@3.0.0:') depends_on('libgeotiff@1.5:', when='@3.0.0:')
depends_on('json-c') depends_on('json-c')
depends_on('json-c@0.12.1', when='@:2.2') depends_on('json-c@0.12.1', when='@:2.2')
@@ -145,9 +145,9 @@ class Gdal(AutotoolsPackage):
depends_on('poppler@:0.63', when='@:2.3 +poppler') depends_on('poppler@:0.63', when='@:2.3 +poppler')
depends_on('poppler@:0.71', when='@:2.4 +poppler') depends_on('poppler@:0.71', when='@:2.4 +poppler')
depends_on('poppler@0.24:', when='@3: +poppler') depends_on('poppler@0.24:', when='@3: +poppler')
depends_on('proj@:4', when='+proj @2.3.0:2.3.999') depends_on('proj@:4', when='+proj @2.3.0:2.3')
depends_on('proj@:5', when='+proj @2.4.0:2.4.999') depends_on('proj@:5', when='+proj @2.4.0:2.4')
depends_on('proj@:6', when='+proj @2.5:2.999') depends_on('proj@:6', when='+proj @2.5:2')
depends_on('proj@6:', when='+proj @3:') depends_on('proj@6:', when='+proj @3:')
depends_on('perl', type=('build', 'run'), when='+perl') depends_on('perl', type=('build', 'run'), when='+perl')
# see gdal_version_and_min_supported_python_version # see gdal_version_and_min_supported_python_version
@@ -164,7 +164,7 @@ class Gdal(AutotoolsPackage):
depends_on('java@4:', type=('build', 'link', 'run'), when='@:2.0+java') depends_on('java@4:', type=('build', 'link', 'run'), when='@:2.0+java')
depends_on('ant', type='build', when='+java') depends_on('ant', type='build', when='+java')
depends_on('swig', type='build', when='+java') depends_on('swig', type='build', when='+java')
depends_on('jackcess@1.2.0:1.2.999', type='run', when='+mdb') depends_on('jackcess@1.2.0:1.2', type='run', when='+mdb')
depends_on('armadillo', when='+armadillo') depends_on('armadillo', when='+armadillo')
depends_on('cryptopp', when='+cryptopp @2.1:') depends_on('cryptopp', when='+cryptopp @2.1:')
depends_on('openssl', when='+crypto @2.3:') depends_on('openssl', when='+crypto @2.3:')

View File

@@ -37,77 +37,77 @@ class Geant4Data(BundlePackage):
# they generally don't change on the patch level # they generally don't change on the patch level
# Can move to declaring on a dataset basis if needed # Can move to declaring on a dataset basis if needed
# geant4@10.7.X # geant4@10.7.X
depends_on("g4ndl@4.6", when='@10.7.0:10.7.9999') depends_on("g4ndl@4.6", when='@10.7.0:10.7')
depends_on("g4emlow@7.13", when='@10.7.0:10.7.9999') depends_on("g4emlow@7.13", when='@10.7.0:10.7')
depends_on("g4photonevaporation@5.7", when='@10.7.0:10.7.9999') depends_on("g4photonevaporation@5.7", when='@10.7.0:10.7')
depends_on("g4radioactivedecay@5.6", when='@10.7.0:10.7.9999') depends_on("g4radioactivedecay@5.6", when='@10.7.0:10.7')
depends_on("g4particlexs@3.1.1", when='@10.7.1:10.7.9999') depends_on("g4particlexs@3.1.1", when='@10.7.1:10.7')
depends_on("g4particlexs@3.1", when='@10.7.0') depends_on("g4particlexs@3.1", when='@10.7.0')
depends_on("g4pii@1.3", when='@10.7.0:10.7.9999') depends_on("g4pii@1.3", when='@10.7.0:10.7')
depends_on("g4realsurface@2.2", when='@10.7.0:10.7.9999') depends_on("g4realsurface@2.2", when='@10.7.0:10.7')
depends_on("g4saiddata@2.0", when='@10.7.0:10.7.9999') depends_on("g4saiddata@2.0", when='@10.7.0:10.7')
depends_on("g4abla@3.1", when='@10.7.0:10.7.9999') depends_on("g4abla@3.1", when='@10.7.0:10.7')
depends_on("g4incl@1.0", when='@10.7.0:10.7.9999') depends_on("g4incl@1.0", when='@10.7.0:10.7')
depends_on("g4ensdfstate@2.3", when='@10.7.0:10.7.9999') depends_on("g4ensdfstate@2.3", when='@10.7.0:10.7')
# geant4@10.6.X # geant4@10.6.X
depends_on("g4ndl@4.6", when='@10.6.0:10.6.9999') depends_on("g4ndl@4.6", when='@10.6.0:10.6')
depends_on("g4emlow@7.9", when='@10.6.0') depends_on("g4emlow@7.9", when='@10.6.0')
depends_on("g4emlow@7.9.1", when='@10.6.1:10.6.9999') depends_on("g4emlow@7.9.1", when='@10.6.1:10.6')
depends_on("g4photonevaporation@5.5", when='@10.6.0:10.6.9999') depends_on("g4photonevaporation@5.5", when='@10.6.0:10.6')
depends_on("g4radioactivedecay@5.4", when='@10.6.0:10.6.9999') depends_on("g4radioactivedecay@5.4", when='@10.6.0:10.6')
depends_on("g4particlexs@2.1", when='@10.6.0:10.6.9999') depends_on("g4particlexs@2.1", when='@10.6.0:10.6')
depends_on("g4pii@1.3", when='@10.6.0:10.6.9999') depends_on("g4pii@1.3", when='@10.6.0:10.6')
depends_on("g4realsurface@2.1.1", when='@10.6.0:10.6.9999') depends_on("g4realsurface@2.1.1", when='@10.6.0:10.6')
depends_on("g4saiddata@2.0", when='@10.6.0:10.6.9999') depends_on("g4saiddata@2.0", when='@10.6.0:10.6')
depends_on("g4abla@3.1", when='@10.6.0:10.6.9999') depends_on("g4abla@3.1", when='@10.6.0:10.6')
depends_on("g4incl@1.0", when='@10.6.0:10.6.9999') depends_on("g4incl@1.0", when='@10.6.0:10.6')
depends_on("g4ensdfstate@2.2", when='@10.6.0:10.6.9999') depends_on("g4ensdfstate@2.2", when='@10.6.0:10.6')
# geant4@10.5.X # geant4@10.5.X
depends_on("g4ndl@4.5", when='@10.5.0:10.5.9999') depends_on("g4ndl@4.5", when='@10.5.0:10.5')
depends_on("g4emlow@7.7", when='@10.5.0:10.5.9999') depends_on("g4emlow@7.7", when='@10.5.0:10.5')
depends_on("g4photonevaporation@5.3", when='@10.5.0:10.5.9999') depends_on("g4photonevaporation@5.3", when='@10.5.0:10.5')
depends_on("g4radioactivedecay@5.3", when='@10.5.0:10.5.9999') depends_on("g4radioactivedecay@5.3", when='@10.5.0:10.5')
depends_on("g4particlexs@1.1", when='@10.5.0:10.5.9999') depends_on("g4particlexs@1.1", when='@10.5.0:10.5')
depends_on("g4pii@1.3", when='@10.5.0:10.5.9999') depends_on("g4pii@1.3", when='@10.5.0:10.5')
depends_on("g4realsurface@2.1.1", when='@10.5.0:10.5.9999') depends_on("g4realsurface@2.1.1", when='@10.5.0:10.5')
depends_on("g4saiddata@2.0", when='@10.5.0:10.5.9999') depends_on("g4saiddata@2.0", when='@10.5.0:10.5')
depends_on("g4abla@3.1", when='@10.5.0:10.5.9999') depends_on("g4abla@3.1", when='@10.5.0:10.5')
depends_on("g4incl@1.0", when='@10.5.0:10.5.9999') depends_on("g4incl@1.0", when='@10.5.0:10.5')
depends_on("g4ensdfstate@2.2", when='@10.5.0:10.5.9999') depends_on("g4ensdfstate@2.2", when='@10.5.0:10.5')
# geant4@10.4.X # geant4@10.4.X
depends_on("g4ndl@4.5", when='@10.4.0:10.4.9999') depends_on("g4ndl@4.5", when='@10.4.0:10.4')
depends_on("g4emlow@7.3", when='@10.4.0:10.4.9999') depends_on("g4emlow@7.3", when='@10.4.0:10.4')
depends_on("g4photonevaporation@5.2", when='@10.4.0:10.4.9999') depends_on("g4photonevaporation@5.2", when='@10.4.0:10.4')
depends_on("g4radioactivedecay@5.2", when='@10.4.0:10.4.9999') depends_on("g4radioactivedecay@5.2", when='@10.4.0:10.4')
depends_on("g4neutronxs@1.4", when='@10.4.0:10.4.9999') depends_on("g4neutronxs@1.4", when='@10.4.0:10.4')
depends_on("g4pii@1.3", when='@10.4.0:10.4.9999') depends_on("g4pii@1.3", when='@10.4.0:10.4')
depends_on("g4realsurface@2.1.1", when='@10.4.2:10.4.9999') depends_on("g4realsurface@2.1.1", when='@10.4.2:10.4')
depends_on("g4realsurface@2.1", when='@10.4.0:10.4.1') depends_on("g4realsurface@2.1", when='@10.4.0:10.4.1')
depends_on("g4saiddata@1.1", when='@10.4.0:10.4.9999') depends_on("g4saiddata@1.1", when='@10.4.0:10.4')
depends_on("g4abla@3.1", when='@10.4.0:10.4.9999') depends_on("g4abla@3.1", when='@10.4.0:10.4')
depends_on("g4ensdfstate@2.2", when='@10.4.0:10.4.9999') depends_on("g4ensdfstate@2.2", when='@10.4.0:10.4')
# geant4@10.3.X # geant4@10.3.X
depends_on("g4ndl@4.5", when='@10.3.0:10.3.9999') depends_on("g4ndl@4.5", when='@10.3.0:10.3')
depends_on("g4emlow@6.50", when='@10.3.0:10.3.9999') depends_on("g4emlow@6.50", when='@10.3.0:10.3')
depends_on("g4photonevaporation@4.3.2", when='@10.3.1:10.3.9999') depends_on("g4photonevaporation@4.3.2", when='@10.3.1:10.3')
depends_on("g4photonevaporation@4.3", when='@10.3.0') depends_on("g4photonevaporation@4.3", when='@10.3.0')
depends_on("g4radioactivedecay@5.1.1", when='@10.3.1:10.3.9999') depends_on("g4radioactivedecay@5.1.1", when='@10.3.1:10.3')
depends_on("g4radioactivedecay@5.1", when='@10.3.0') depends_on("g4radioactivedecay@5.1", when='@10.3.0')
depends_on("g4neutronxs@1.4", when='@10.3.0:10.3.9999') depends_on("g4neutronxs@1.4", when='@10.3.0:10.3')
depends_on("g4pii@1.3", when='@10.3.0:10.3.9999') depends_on("g4pii@1.3", when='@10.3.0:10.3')
depends_on("g4realsurface@1.0", when='@10.3.0:10.3.9999') depends_on("g4realsurface@1.0", when='@10.3.0:10.3')
depends_on("g4saiddata@1.1", when='@10.3.0:10.3.9999') depends_on("g4saiddata@1.1", when='@10.3.0:10.3')
depends_on("g4abla@3.0", when='@10.3.0:10.3.9999') depends_on("g4abla@3.0", when='@10.3.0:10.3')
depends_on("g4ensdfstate@2.1", when='@10.3.0:10.3.9999') depends_on("g4ensdfstate@2.1", when='@10.3.0:10.3')
def install(self, spec, prefix): def install(self, spec, prefix):
spec = self.spec spec = self.spec

View File

@@ -76,7 +76,7 @@ class Geant4(CMakePackage):
when='@10.7.0: cxxstd=' + std) when='@10.7.0: cxxstd=' + std)
depends_on('clhep@2.3.3.0: cxxstd=' + std, depends_on('clhep@2.3.3.0: cxxstd=' + std,
when='@10.3.3:10.6.99 cxxstd=' + std) when='@10.3.3:10.6 cxxstd=' + std)
# Spack only supports Xerces-c 3 and above, so no version req # Spack only supports Xerces-c 3 and above, so no version req
depends_on('xerces-c netaccessor=curl cxxstd=' + std, when='cxxstd=' + std) depends_on('xerces-c netaccessor=curl cxxstd=' + std, when='cxxstd=' + std)
@@ -85,13 +85,13 @@ class Geant4(CMakePackage):
depends_on('vecgeom@1.1.8 cxxstd=' + std, depends_on('vecgeom@1.1.8 cxxstd=' + std,
when='@10.7.0: +vecgeom cxxstd=' + std) when='@10.7.0: +vecgeom cxxstd=' + std)
depends_on('vecgeom@1.1.5 cxxstd=' + std, depends_on('vecgeom@1.1.5 cxxstd=' + std,
when='@10.6.0:10.6.99 +vecgeom cxxstd=' + std) when='@10.6.0:10.6 +vecgeom cxxstd=' + std)
depends_on('vecgeom@1.1.0 cxxstd=' + std, depends_on('vecgeom@1.1.0 cxxstd=' + std,
when='@10.5.0:10.5.99 +vecgeom cxxstd=' + std) when='@10.5.0:10.5 +vecgeom cxxstd=' + std)
depends_on('vecgeom@0.5.2 cxxstd=' + std, depends_on('vecgeom@0.5.2 cxxstd=' + std,
when='@10.4.0:10.4.99 +vecgeom cxxstd=' + std) when='@10.4.0:10.4 +vecgeom cxxstd=' + std)
depends_on('vecgeom@0.3rc cxxstd=' + std, depends_on('vecgeom@0.3rc cxxstd=' + std,
when='@10.3.0:10.3.99 +vecgeom cxxstd=' + std) when='@10.3.0:10.3 +vecgeom cxxstd=' + std)
# Boost.python, conflict handled earlier # Boost.python, conflict handled earlier
depends_on('boost@1.70: +python cxxstd=' + std, depends_on('boost@1.70: +python cxxstd=' + std,
@@ -110,7 +110,7 @@ class Geant4(CMakePackage):
# CLHEP. # CLHEP.
patch('CLHEP-10.03.03.patch', level=1, when='@10.3.3') patch('CLHEP-10.03.03.patch', level=1, when='@10.3.3')
# These patches can be applied independent of the cxxstd value? # These patches can be applied independent of the cxxstd value?
patch('cxx17.patch', when='@:10.3.99 cxxstd=17') patch('cxx17.patch', when='@:10.3 cxxstd=17')
patch('cxx17_geant4_10_0.patch', level=1, when='@10.4.0 cxxstd=17') patch('cxx17_geant4_10_0.patch', level=1, when='@10.4.0 cxxstd=17')
patch('geant4-10.4.3-cxx17-removed-features.patch', patch('geant4-10.4.3-cxx17-removed-features.patch',
level=1, when='@10.4.3 cxxstd=17') level=1, when='@10.4.3 cxxstd=17')
@@ -131,7 +131,7 @@ def cmake_args(self):
# Don't install the package cache file as Spack will set # Don't install the package cache file as Spack will set
# up CMAKE_PREFIX_PATH etc for the dependencies # up CMAKE_PREFIX_PATH etc for the dependencies
if spec.version > Version('10.5.99'): if spec.version >= Version('10.6'):
options.append('-DGEANT4_INSTALL_PACKAGE_CACHE=OFF') options.append('-DGEANT4_INSTALL_PACKAGE_CACHE=OFF')
# Multithreading # Multithreading

View File

@@ -39,6 +39,6 @@ class Gitconddb(CMakePackage):
depends_on('libgit2') depends_on('libgit2')
# Known conflicts on C++17 compatibility (aggressive for now) # Known conflicts on C++17 compatibility (aggressive for now)
conflicts('%gcc@:7.9.999', msg="GitCondDB requires GCC 8 or newer for C++17 support") conflicts('%gcc@:7.9', msg="GitCondDB requires GCC 8 or newer for C++17 support")
conflicts('%apple-clang', when="@:0.1.99", msg="No Darwin support for clang in older versions") conflicts('%apple-clang', when="@:0.1", msg="No Darwin support for clang in older versions")
conflicts('%clang platform=darwin', when="@:0.1.99", msg="No Darwin support for clang in older versions") conflicts('%clang platform=darwin', when="@:0.1", msg="No Darwin support for clang in older versions")

View File

@@ -76,7 +76,7 @@ class Glib(Package):
patch('g_date_strftime.patch', when='@2.42.1') patch('g_date_strftime.patch', when='@2.42.1')
# Clang doesn't seem to acknowledge the pragma lines to disable the -Werror # Clang doesn't seem to acknowledge the pragma lines to disable the -Werror
# around a legitimate usage. # around a legitimate usage.
patch('no-Werror=format-security.patch', when='@:2.57.99') patch('no-Werror=format-security.patch', when='@:2.57')
# Patch to prevent compiler errors in kernels older than 2.6.35 # Patch to prevent compiler errors in kernels older than 2.6.35
patch('old-kernels.patch', when='@2.56.0:2.56.1 os=rhel6') patch('old-kernels.patch', when='@2.56.0:2.56.1 os=rhel6')
patch('old-kernels.patch', when='@2.56.0:2.56.1 os=centos6') patch('old-kernels.patch', when='@2.56.0:2.56.1 os=centos6')
@@ -187,7 +187,7 @@ def configure_args(self):
args.append('GTKDOC_REBASE={0}'.format(true)) args.append('GTKDOC_REBASE={0}'.format(true))
return args return args
@when('@:2.57.99') @when('@:2.57')
def install(self, spec, prefix): def install(self, spec, prefix):
configure('--prefix={0}'.format(prefix), *self.configure_args()) configure('--prefix={0}'.format(prefix), *self.configure_args())
make() make()
@@ -266,7 +266,7 @@ def gettext_libdir(self):
# the gettext library directory. The patch below explitly adds the # the gettext library directory. The patch below explitly adds the
# appropriate -L path. # appropriate -L path.
spec = self.spec spec = self.spec
if spec.satisfies('@2:2.99'): if spec.satisfies('@2.0:2'):
pattern = 'Libs:' pattern = 'Libs:'
repl = 'Libs: -L{0} -Wl,-rpath={0} '.format( repl = 'Libs: -L{0} -Wl,-rpath={0} '.format(
spec['gettext'].libs.directories[0]) spec['gettext'].libs.directories[0])

View File

@@ -45,7 +45,7 @@ class Gnupg(AutotoolsPackage):
@run_after('install') @run_after('install')
def add_gpg2_symlink(self): def add_gpg2_symlink(self):
if self.spec.satisfies("@2.0:2.999"): if self.spec.satisfies("@2.0:2"):
symlink('gpg', self.prefix.bin.gpg2) symlink('gpg', self.prefix.bin.gpg2)
def configure_args(self): def configure_args(self):

View File

@@ -29,7 +29,7 @@ class Gnuradio(CMakePackage):
depends_on('swig@3.0.8:', type='build') depends_on('swig@3.0.8:', type='build')
depends_on('log4cpp@1.0:') depends_on('log4cpp@1.0:')
# https://github.com/gnuradio/gnuradio/pull/3566 # https://github.com/gnuradio/gnuradio/pull/3566
depends_on('boost@1.53:1.72.999') depends_on('boost@1.53:1.72')
depends_on('py-numpy', type=('build', 'run')) depends_on('py-numpy', type=('build', 'run'))
depends_on('py-click', type=('build', 'run')) depends_on('py-click', type=('build', 'run'))
depends_on('py-pyyaml', type=('build', 'run')) depends_on('py-pyyaml', type=('build', 'run'))

View File

@@ -38,7 +38,7 @@ class Gnutls(AutotoolsPackage):
depends_on('guile', when='+guile') depends_on('guile', when='+guile')
depends_on('nettle@:2.9', when='@3.3.9') depends_on('nettle@:2.9', when='@3.3.9')
depends_on('nettle', when='@3.5:') depends_on('nettle', when='@3.5:')
depends_on('libidn2@:2.0.99', when='@:3.5.99') depends_on('libidn2@:2.0', when='@:3.5')
depends_on('libidn2') depends_on('libidn2')
depends_on('zlib', when='+zlib') depends_on('zlib', when='+zlib')
depends_on('gettext') depends_on('gettext')

View File

@@ -27,7 +27,7 @@ class Gpdb(AutotoolsPackage):
version('5.23.0', sha256='b06a797eb941362d5473b84d5def349b5ce12ce87ab116bea7c74ad193738ae9') version('5.23.0', sha256='b06a797eb941362d5473b84d5def349b5ce12ce87ab116bea7c74ad193738ae9')
depends_on('zstd') depends_on('zstd')
depends_on('py-setuptools@:44.99.99') depends_on('py-setuptools@:44')
depends_on('apr') depends_on('apr')
depends_on('libevent') depends_on('libevent')
depends_on('curl') depends_on('curl')

View File

@@ -23,12 +23,12 @@ class Gplates(CMakePackage):
depends_on('cmake@2.8.8:', type='build') depends_on('cmake@2.8.8:', type='build')
depends_on('ninja', type='build') depends_on('ninja', type='build')
# Qt 5 does not support (at least) the Q_WS_* constants. # Qt 5 does not support (at least) the Q_WS_* constants.
depends_on('qt+opengl@4.4.0:4.99') depends_on('qt+opengl@4.4.0:4')
depends_on('qwt@6.0.1:') depends_on('qwt@6.0.1:')
depends_on('glu') depends_on('glu')
depends_on('glew') depends_on('glew')
# GDAL's OGRSFDriverRegistrar is not compatible anymore starting with 2.0. # GDAL's OGRSFDriverRegistrar is not compatible anymore starting with 2.0.
depends_on('gdal@1.3.2:1.99') depends_on('gdal@1.3.2:1')
depends_on('cgal@3.5:') depends_on('cgal@3.5:')
# The latest release of gplates came out before PROJ.6 was released, # The latest release of gplates came out before PROJ.6 was released,
# so I'm assuming it's not supported. # so I'm assuming it's not supported.
@@ -36,7 +36,7 @@ class Gplates(CMakePackage):
# Boost's Python library has a different name starting with 1.67. # Boost's Python library has a different name starting with 1.67.
# There were changes to Boost's optional in 1.61 that make the build fail. # 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('boost+python@1.34:1.60')
depends_on('python@2:2.99') depends_on('python@2.0:2')
# When built in parallel, headers are not generated before they are used # When built in parallel, headers are not generated before they are used
# (specifically, ViewportWindowUi.h) with the Makefiles generator. # (specifically, ViewportWindowUi.h) with the Makefiles generator.

View File

@@ -28,7 +28,7 @@ class Grace(AutotoolsPackage):
depends_on('motif') depends_on('motif')
depends_on('jpeg') depends_on('jpeg')
depends_on('libpng') depends_on('libpng')
depends_on('fftw@2:2.999') depends_on('fftw@2.0:2')
depends_on('netcdf-c') depends_on('netcdf-c')
def patch(self): def patch(self):

View File

@@ -94,7 +94,7 @@ class Grass(AutotoolsPackage):
depends_on('opencl', when='+opencl') depends_on('opencl', when='+opencl')
depends_on('bzip2', when='+bzlib') depends_on('bzip2', when='+bzlib')
depends_on('zstd', when='+zstd') depends_on('zstd', when='+zstd')
depends_on('gdal@:3.2.999', when='+gdal') depends_on('gdal@:3.2', when='+gdal')
depends_on('liblas', when='+liblas') depends_on('liblas', when='+liblas')
depends_on('wxwidgets', when='+wxwidgets') depends_on('wxwidgets', when='+wxwidgets')
depends_on('py-wxpython@2.8.10.1:', when='+wxwidgets', type=('build', 'run')) depends_on('py-wxpython@2.8.10.1:', when='+wxwidgets', type=('build', 'run'))

View File

@@ -53,11 +53,11 @@ class GribApi(CMakePackage):
# depends_on('valgrind', type='test', when='+test') # depends_on('valgrind', type='test', when='+test')
depends_on('netcdf-c', when='+netcdf') depends_on('netcdf-c', when='+netcdf')
depends_on('openjpeg@1.5.0:1.5.999', when='jp2k=openjpeg') depends_on('openjpeg@1.5.0:1.5', when='jp2k=openjpeg')
depends_on('jasper', when='jp2k=jasper') depends_on('jasper', when='jp2k=jasper')
depends_on('libpng', when='+png') depends_on('libpng', when='+png')
depends_on('libaec', when='+aec') depends_on('libaec', when='+aec')
depends_on('python@2.5:2.999', when='+python', depends_on('python@2.5:2', when='+python',
type=('build', 'link', 'run')) type=('build', 'link', 'run'))
depends_on('py-numpy', when='+python+numpy', type=('build', 'run')) depends_on('py-numpy', when='+python+numpy', type=('build', 'run'))
extends('python', when='+python') extends('python', when='+python')

View File

@@ -58,7 +58,7 @@ class GromacsChainCoordinate(CMakePackage):
depends_on('mpi', when='+mpi') depends_on('mpi', when='+mpi')
depends_on('fftw-api@3') depends_on('fftw-api@3')
depends_on('cmake@3.16.0:3.99.99', type='build') depends_on('cmake@3.16.0:3', type='build')
depends_on('cuda', when='+cuda') depends_on('cuda', when='+cuda')
depends_on('sycl', when='+sycl') depends_on('sycl', when='+sycl')
depends_on('lapack', when='+lapack') depends_on('lapack', when='+lapack')

View File

@@ -131,34 +131,34 @@ class Gromacs(CMakePackage):
depends_on('plumed@2.5.3:2.6.0~mpi', when='@2019.4+plumed~mpi') depends_on('plumed@2.5.3:2.6.0~mpi', when='@2019.4+plumed~mpi')
depends_on('plumed@2.5.2+mpi', when='@2019.2+plumed+mpi') depends_on('plumed@2.5.2+mpi', when='@2019.2+plumed+mpi')
depends_on('plumed@2.5.2~mpi', when='@2019.2+plumed~mpi') depends_on('plumed@2.5.2~mpi', when='@2019.2+plumed~mpi')
depends_on('plumed@2.5.3:2.6.99+mpi', when='@2018.8+plumed+mpi') depends_on('plumed@2.5.3:2.6+mpi', when='@2018.8+plumed+mpi')
depends_on('plumed@2.5.3:2.6.99~mpi', when='@2018.8+plumed~mpi') depends_on('plumed@2.5.3:2.6~mpi', when='@2018.8+plumed~mpi')
depends_on('plumed@2.5.1:2.5.2+mpi', when='@2018.6+plumed+mpi') depends_on('plumed@2.5.1:2.5.2+mpi', when='@2018.6+plumed+mpi')
depends_on('plumed@2.5.1:2.5.2~mpi', when='@2018.6+plumed~mpi') depends_on('plumed@2.5.1:2.5.2~mpi', when='@2018.6+plumed~mpi')
depends_on('plumed@2.5.0+mpi', when='@2018.4+plumed+mpi') depends_on('plumed@2.5.0+mpi', when='@2018.4+plumed+mpi')
depends_on('plumed@2.5.0~mpi', when='@2018.4+plumed~mpi') depends_on('plumed@2.5.0~mpi', when='@2018.4+plumed~mpi')
depends_on('plumed@2.5.1:2.5.99+mpi', when='@2016.6+plumed+mpi') depends_on('plumed@2.5.1:2.5+mpi', when='@2016.6+plumed+mpi')
depends_on('plumed@2.5.1:2.5.99~mpi', when='@2016.6+plumed~mpi') depends_on('plumed@2.5.1:2.5~mpi', when='@2016.6+plumed~mpi')
depends_on('plumed@2.5.0+mpi', when='@2016.5+plumed+mpi') depends_on('plumed@2.5.0+mpi', when='@2016.5+plumed+mpi')
depends_on('plumed@2.5.0~mpi', when='@2016.5+plumed~mpi') depends_on('plumed@2.5.0~mpi', when='@2016.5+plumed~mpi')
depends_on('fftw-api@3') depends_on('fftw-api@3')
depends_on('cmake@2.8.8:3.99.99', type='build') depends_on('cmake@2.8.8:3', type='build')
depends_on('cmake@3.4.3:3.99.99', type='build', when='@2018:') depends_on('cmake@3.4.3:3', type='build', when='@2018:')
depends_on('cmake@3.9.6:3.99.99', type='build', when='@2020') depends_on('cmake@3.9.6:3', type='build', when='@2020')
depends_on('cmake@3.13.0:3.99.99', type='build', when='@2021:') depends_on('cmake@3.13.0:3', type='build', when='@2021:')
depends_on('cmake@3.16.0:3.99.99', type='build', when='@master') depends_on('cmake@3.16.0:3', type='build', when='@master')
depends_on('cmake@3.16.0:3.99.99', type='build', when='%fj') depends_on('cmake@3.16.0:3', type='build', when='%fj')
depends_on('cuda', when='+cuda') depends_on('cuda', when='+cuda')
depends_on('sycl', when='+sycl') depends_on('sycl', when='+sycl')
depends_on('lapack', when='+lapack') depends_on('lapack', when='+lapack')
depends_on('blas', when='+blas') depends_on('blas', when='+blas')
depends_on('hwloc@1:1.999', when='+hwloc@2016:2018.999') depends_on('hwloc@1.0:1', when='+hwloc@2016:2018')
depends_on('hwloc', when='+hwloc@2019:') depends_on('hwloc', when='+hwloc@2019:')
patch('gmxDetectCpu-cmake-3.14.patch', when='@2018:2019.3^cmake@3.14.0:') patch('gmxDetectCpu-cmake-3.14.patch', when='@2018:2019.3^cmake@3.14.0:')
patch('gmxDetectSimd-cmake-3.14.patch', when='@5.0:2017.99^cmake@3.14.0:') patch('gmxDetectSimd-cmake-3.14.patch', when='@5.0:2017^cmake@3.14.0:')
filter_compiler_wrappers( filter_compiler_wrappers(
'*.cmake', '*.cmake',
@@ -198,7 +198,7 @@ def patch(self):
filter_file(r'-gencode;arch=compute_20,code=compute_20;?', '', filter_file(r'-gencode;arch=compute_20,code=compute_20;?', '',
'cmake/gmxManageNvccConfig.cmake') 'cmake/gmxManageNvccConfig.cmake')
if self.spec.satisfies('@4.6:5.0.999^cuda@9:'): if self.spec.satisfies('@4.6:5.0^cuda@9:'):
filter_file(r'-gencode;arch=compute_20,code=sm_21;?', '', filter_file(r'-gencode;arch=compute_20,code=sm_21;?', '',
'cmake/gmxManageNvccConfig.cmake') 'cmake/gmxManageNvccConfig.cmake')

View File

@@ -30,10 +30,10 @@ class Gsl(AutotoolsPackage, GNUMirrorPackage):
variant('external-cblas', default=False, description='Build against external blas') variant('external-cblas', default=False, description='Build against external blas')
# from https://dev.gentoo.org/~mgorny/dist/gsl-2.3-cblas.patch.bz2 # from https://dev.gentoo.org/~mgorny/dist/gsl-2.3-cblas.patch.bz2
patch('gsl-2.3-cblas.patch', when="@2.3:2.5.99+external-cblas") patch('gsl-2.3-cblas.patch', when="@2.3:2.5+external-cblas")
patch('gsl-2.6-cblas.patch', when="@2.6: +external-cblas") patch('gsl-2.6-cblas.patch', when="@2.6: +external-cblas")
conflicts('+external-cblas', when="@:2.2.99") conflicts('+external-cblas', when="@:2.2")
depends_on('m4', type='build', when='+external-cblas') depends_on('m4', type='build', when='+external-cblas')
depends_on('autoconf', type='build', when='+external-cblas') depends_on('autoconf', type='build', when='+external-cblas')

View File

@@ -49,7 +49,7 @@ class Gtkplus(MesonPackage):
depends_on('gettext', when='@3:') depends_on('gettext', when='@3:')
depends_on('cups', when='+cups') depends_on('cups', when='+cups')
patch('no-demos.patch', when='@2:2.99') patch('no-demos.patch', when='@2.0:2')
def url_for_version(self, version): def url_for_version(self, version):
url = 'https://download.gnome.org/sources/gtk+/{0}/gtk+-{1}.tar.xz' url = 'https://download.gnome.org/sources/gtk+/{0}/gtk+-{1}.tar.xz'

View File

@@ -16,7 +16,7 @@ class H5bench(CMakePackage):
depends_on('cmake@3.10:', type='build') depends_on('cmake@3.10:', type='build')
depends_on('mpi') depends_on('mpi')
depends_on('hdf5+mpi@1.12.0:1.99.99,develop-1.12:') depends_on('hdf5+mpi@1.12.0:1,develop-1.12:')
@run_after('install') @run_after('install')
def install_config(self): def install_config(self):

View File

@@ -16,7 +16,7 @@ class Hc(MakefilePackage):
version('1.0.7', sha256='7499ea76ac4739a9c0941bd57d124fb681fd387c8d716ebb358e6af3395103ed') version('1.0.7', sha256='7499ea76ac4739a9c0941bd57d124fb681fd387c8d716ebb358e6af3395103ed')
depends_on('gmt@4.2.1:4.999') depends_on('gmt@4.2.1:4')
depends_on('netcdf-c') depends_on('netcdf-c')
# Build phase fails in parallel with the following error messages: # Build phase fails in parallel with the following error messages:

View File

@@ -93,13 +93,13 @@ class Hdf5(CMakePackage):
# The compiler wrappers (h5cc, h5fc, etc.) run 'pkg-config'. # The compiler wrappers (h5cc, h5fc, etc.) run 'pkg-config'.
depends_on('pkgconfig', type='run') depends_on('pkgconfig', type='run')
conflicts('api=v114', when='@1.6:1.12.99', conflicts('api=v114', when='@1.6:1.12',
msg='v114 is not compatible with this release') msg='v114 is not compatible with this release')
conflicts('api=v112', when='@1.6:1.10.99', conflicts('api=v112', when='@1.6:1.10',
msg='v112 is not compatible with this release') msg='v112 is not compatible with this release')
conflicts('api=v110', when='@1.6:1.8.99', conflicts('api=v110', when='@1.6:1.8',
msg='v110 is not compatible with this release') msg='v110 is not compatible with this release')
conflicts('api=v18', when='@1.6:1.6.99', conflicts('api=v18', when='@1.6.0:1.6',
msg='v18 is not compatible with this release') msg='v18 is not compatible with this release')
# The Java wrappers and associated libhdf5_java library # The Java wrappers and associated libhdf5_java library
@@ -395,9 +395,9 @@ def ensure_parallel_compiler_wrappers(self):
# 1.10.6 and 1.12.0. The current develop versions do not produce 'h5pfc' # 1.10.6 and 1.12.0. The current develop versions do not produce 'h5pfc'
# at all. Here, we make sure that 'h5pfc' is available when Fortran and # at all. Here, we make sure that 'h5pfc' is available when Fortran and
# MPI support are enabled (only for versions that generate 'h5fc'). # MPI support are enabled (only for versions that generate 'h5fc').
if self.spec.satisfies('@1.8.22:1.8.999,' if self.spec.satisfies('@1.8.22:1.8,'
'1.10.6:1.10.999,' '1.10.6:1.10,'
'1.12.0:1.12.999,' '1.12.0:1.12,'
'develop:' 'develop:'
'+fortran+mpi'): '+fortran+mpi'):
with working_dir(self.prefix.bin): with working_dir(self.prefix.bin):

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