spack/var/spack/repos/builtin/packages/pdc/package.py
Houjun Tang 69464bf36f
pdc: add new package (#24762)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-07-28 18:31:25 +02:00

43 lines
1.5 KiB
Python

# Copyright 2013-2021 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 *
class Pdc(CMakePackage):
"""Proactive Data Containers (PDC) software provides an object-centric
API and a runtime system with a set of data object management services.
These services allow placing data in the memory and storage hierarchy,
performing data movement asynchronously, and providing scalable
metadata operations to find data objects."""
homepage = "https://pdc.readthedocs.io/en/latest/"
url = "https://github.com/hpc-io/pdc/archive/refs/tags/0.1.tar.gz"
maintainers = ['houjun', 'sbyna']
version('0.1', sha256='01b4207ecf71594a7f339c315f2869b3fa8fbd34b085963dc4c1bdc5b66bb93e')
conflicts('%clang')
depends_on('libfabric')
depends_on('mercury')
depends_on('mpi')
root_cmakelists_dir = 'src'
def cmake_args(self):
args = [
self.define('MPI_C_COMPILER', self.spec['mpi'].mpicc),
self.define('BUILD_MPI_TESTING', 'ON'),
self.define('BUILD_SHARED_LIBS', 'ON'),
self.define('BUILD_TESTING', 'ON'),
self.define('PDC_ENABLE_MPI', 'ON'),
self.define('CMAKE_C_COMPILER', self.spec['mpi'].mpicc)
]
if self.spec.satisfies('platform=cray'):
args.append("-DRANKSTR_LINK_STATIC=ON")
return args