spack/var/spack/repos/builtin/packages/pumi/package.py
Mark C. Miller 64fb2f22b4 Adding FASTMath uber package and missing FASTMath packages (#4120)
* adding 0.5.1 and variant for uint8 bit stream word type

* Revisions as per davydden

* fixing style (flake8) issues

* - switched to derive from MakefilePackage
- fixed typo in variant check
- Confirmed installs correctly with bswtuint8 variant

* added build method; changed zfp_incdir to incdir

* * Adding uber fastmath package to support 'spack install fastmath'
* Adding dims variant boxlib to control compile-time spatial dimension count
* Explicitly disabling many parts of moab to get lib to build. Don't need tools yet.
* Add logic to spack/setup-env to not refer to $SYS_TYPE if its not defined.

* adding mesquite package

* * Added Chombo (still working on Fortran name mangling)
* Made mesquite depend on mpi
* Fixed use of boxlib's dims numerical variant

* adding PUMI

* flake8 compliance

* adding phasta

* fixing flake8 issues

* undue $SYS_TYPE protection change

* fixing install step for fastmath uber package; resolve issues requested by adamjstewart in PR

* revisions as per adamjstewart

* re-enabling trilinos and phasta dependencies

* all changes requested modulu values= and assert statement

* fixing cmake_args usage in pumi; fixing lib installs for chombo

* first pass at numerical variant

* fixing dims variant as per @adamjstewart

* fixing func/var name collision

* fixing means of disabling -Werror

* fix name collision for cmake_args var/func

* fixing chombo homepage/url; make FASTMath use chombo#3.2; remove extraneous comment about boxlib dim

* remove dummy fastmath package; switch to @BarrySmith soln for install of dummy bundle

* fix flake8 import os issue

* remove extraneous comment

* adding url for fastmath scidac site

* final fixes as per @adamjstewart

* adding 1 dims option for boxlib

* switching make(all) to gmake(all)
2017-05-09 18:26:57 -05:00

66 lines
2.7 KiB
Python

##############################################################################
# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
#
# This file is part of Spack.
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License (as
# published by the Free Software Foundation) version 2.1, February 1999.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
# conditions of the GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
import sys
class Pumi(CMakePackage):
"""SCOREC RPI's Parallel Unstructured Mesh Infrastructure (PUMI).
An efficient distributed mesh data structure and methods to support
parallel adaptive analysis including general mesh-based operations,
such as mesh entity creation/deletion, adjacency and geometric
classification, iterators, arbitrary (field) data attachable to mesh
entities, efficient communication involving entities duplicated
across multiple tasks, migration of mesh entities between tasks,
and dynamic load balancing."""
homepage = "https://www.scorec.rpi.edu/pumi"
url = "https://github.com/SCOREC/core.git"
version('0.0.1', git='https://github.com/SCOREC/core.git',
commit='0c315e82b3f2478dc18bdd6cfa89f1cddb85cd6a')
version('develop', git='https://github.com/SCOREC/core.git',
branch='master')
if sys.platform == 'darwin':
patch('phiotimer.cc.darwin.patch', level=0) # !clock_gettime
variant('zoltan', default=False, description='Enable Zoltan Features')
depends_on('mpi')
depends_on('zoltan', when='+zoltan')
def cmake_args(self):
spec = self.spec
args = [
'-DSCOREC_CXX_WARNINGS=OFF',
'-DENABLE_ZOLTAN=%s' % ('ON' if '+zoltan' in spec else 'OFF'),
'-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc,
'-DCMAKE_CXX_COMPILER=%s' % spec['mpi'].mpicxx,
]
return args