spack/var/spack/repos/builtin/packages/vecgeom/package.py
Todd Gamblin 62927654dd checksums: use sha256 checksums everywhere
We'd like to use a consistent checksum scheme everywhere so that we can:

    a) incorporate archive checksums into our specs and have a
       consistent hashing algorithm across all specs.

    b) index mirrors with a consistent type of checksum, and not one that
       is dependent on how spack packages are written.

- [x] convert existing md5, sha224, sha512, sha1 checksums to sha256
2019-10-12 07:19:43 -07:00

53 lines
1.9 KiB
Python

# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
import platform
class Vecgeom(CMakePackage):
"""The vectorized geometry library for particle-detector simulation
(toolkits)."""
homepage = "https://gitlab.cern.ch/VecGeom/VecGeom"
url = "https://gitlab.cern.ch/api/v4/projects/VecGeom%2FVecGeom/repository/archive.tar.gz?sha=v0.3.rc"
version('01.00.00', git='https://gitlab.cern.ch/VecGeom/VecGeom.git', tag='v01.00.00')
version('00.05.00', git='https://gitlab.cern.ch/VecGeom/VecGeom.git', tag='v00.05.00', preferred=True)
version('0.3.rc', sha256='a87a9ea4ab126b59ff9c79182bc0911ead3d76dd197194742e2a35ccd341299d')
variant('cxxstd',
default='17',
values=('11', '14', '17'),
multi=False,
description='Use the specified C++ standard when building.')
variant('vector',
default='native',
values=('sse3', 'sse4.2', 'native'),
multi=False,
description='Specify the instruction set for vectorization.')
depends_on('cmake@3.5:', type='build')
def cmake_args(self):
options = [
'-DBACKEND=Scalar',
'-DGEANT4=OFF',
'-DUSOLIDS=ON',
'-DUSOLIDS_VECGEOM=ON',
'-DROOT=OFF',
'-DNO_SPECIALIZATION=ON',
'-DCMAKE_VERBOSE_MAKEFILE=TRUE']
options.append('-DCMAKE_CXX_STANDARD={0}'.
format(self.spec.variants['cxxstd'].value))
arch = platform.machine()
if arch == 'x86_64':
options.append('-DVECGEOM_VECTOR={0}'.
format(self.spec.variants['vector'].value))
else:
options.append('-DVECGEOM_VECTOR=' + arch)
return options