Merge branch 'develop' into features/shared

This commit is contained in:
Carson Woods
2019-11-21 12:52:24 -07:00
59 changed files with 1003 additions and 179 deletions

View File

@@ -19,6 +19,9 @@ class Aluminum(CMakePackage):
git = "https://github.com/LLNL/Aluminum.git"
version('master', branch='master')
version('0.3.3', sha256='26e7f263f53c6c6ee0fe216e981a558dfdd7ec997d0dd2a24285a609a6c68f3b')
version('0.3.2', sha256='09b6d1bcc02ac54ba269b1123eee7be20f0104b93596956c014b794ba96b037f')
version('0.2.1-1', sha256='066b750e9d1134871709a3e2414b96b166e0e24773efc7d512df2f1d96ee8eef')
version('0.2.1', sha256='3d5d15853cccc718f60df68205e56a2831de65be4d96e7f7e8497097e7905f89')
version('0.2', sha256='fc8f06c6d8faab17a2aedd408d3fe924043bf857da1094d5553f35c4d2af893b')
version('0.1', sha256='3880b736866e439dd94e6a61eeeb5bb2abccebbac82b82d52033bc6c94950bdb')

View File

@@ -0,0 +1,63 @@
diff -ur spack-src.org/FCluster/FCluster.c spack-src/FCluster/FCluster.c
--- spack-src.org/FCluster/FCluster.c 2013-08-01 23:37:40.000000000 +0900
+++ spack-src/FCluster/FCluster.c 2019-11-15 16:24:19.912747987 +0900
@@ -750,7 +750,7 @@
return atResult;
}
-int outputCluster(t_Params *ptParams, t_Node* tree, char **aszID, int nN)
+void outputCluster(t_Params *ptParams, t_Node* tree, char **aszID, int nN)
{
int i = 0, j = 0, k = 0, l = 0;
int nNodes = nN - 1;
diff -ur spack-src.org/FCluster/FCluster.h spack-src/FCluster/FCluster.h
--- spack-src.org/FCluster/FCluster.h 2013-08-01 23:37:40.000000000 +0900
+++ spack-src/FCluster/FCluster.h 2019-11-15 16:24:30.453873139 +0900
@@ -71,7 +71,7 @@
void readDistanceMatrix(char ***paszID, char *szDistFile, float *** paafDist, int *pnN, t_Params *ptParams, float** pafW);
-int outputCluster(t_Params *ptParams, t_Node* tree, char **aszID, int nN);
+void outputCluster(t_Params *ptParams, t_Node* tree, char **aszID, int nN);
void scaleDistances(float **aafDist, int nN);
diff -ur spack-src.org/SplitClusterEven/SplitClusterEven.c spack-src/SplitClusterEven/SplitClusterEven.c
--- spack-src.org/SplitClusterEven/SplitClusterEven.c 2013-08-01 23:37:39.000000000 +0900
+++ spack-src/SplitClusterEven/SplitClusterEven.c 2019-11-15 16:41:40.142569105 +0900
@@ -366,7 +366,7 @@
}
-double maxDepth(t_Node* ptTree, double* pdDepth)
+void maxDepth(t_Node* ptTree, double* pdDepth)
{
double dOldDepth = *pdDepth;
@@ -378,7 +378,7 @@
return;
}
-double setDepth(t_Node* ptTree, double dDepth)
+void setDepth(t_Node* ptTree, double dDepth)
{
double dOldDepth = dDepth;
diff -ur spack-src.org/SplitClusterEven/SplitClusterEven.h spack-src/SplitClusterEven/SplitClusterEven.h
--- spack-src.org/SplitClusterEven/SplitClusterEven.h 2013-08-01 23:37:39.000000000 +0900
+++ spack-src/SplitClusterEven/SplitClusterEven.h 2019-11-15 16:42:17.936558096 +0900
@@ -88,7 +88,7 @@
void treeSplit(t_Node* ptTree, double* pdDepth, double dSplit, t_Node **aptSplit,int* pnSplit);
-double maxDepth(t_Node* ptTree, double* pdMaxDepth);
+void maxDepth(t_Node* ptTree, double* pdMaxDepth);
void writeIndices(t_Node* ptTree, FILE* ofp);
@@ -116,4 +116,4 @@
void treeSplitEven(t_Node* ptTree, int nSplit, t_Node **aptSplit,int* pnSplit);
-double setDepth(t_Node* ptTree, double dDepth);
+void setDepth(t_Node* ptTree, double dDepth);

View File

@@ -3,7 +3,7 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
import os.path
class Ampliconnoise(MakefilePackage):
@@ -18,12 +18,14 @@ class Ampliconnoise(MakefilePackage):
depends_on('mpi@2:')
depends_on('gsl')
def setup_environment(self, spack_env, run_env):
run_env.prepend_path('PATH', self.prefix.Scripts)
run_env.set('PYRO_LOOKUP_FILE', join_path(self.prefix, 'Data',
'LookUp_E123.dat'))
run_env.set('SEQ_LOOKUP_FILE', join_path(self.prefix, 'Data',
'Tran.dat'))
patch('Fix-return-type.patch')
def setup_run_environment(self, env):
env.prepend_path('PATH', self.prefix.Scripts)
env.set('PYRO_LOOKUP_FILE', os.path.join(self.prefix, 'Data',
'LookUp_E123.dat'))
env.set('SEQ_LOOKUP_FILE', os.path.join(self.prefix, 'Data',
'Tran.dat'))
def install(self, spec, prefix):
make('install')

View File

@@ -18,8 +18,10 @@ class Argobots(AutotoolsPackage):
homepage = "http://www.argobots.org/"
url = "https://github.com/pmodels/argobots/releases/download/v1.0b1/argobots-1.0b1.tar.gz"
git = "https://github.com/pmodels/argobots.git"
maintainers = ['shintaro-iwasaki']
version("develop", branch="master")
version("master", branch="master")
version("1.0rc2", sha256="7496b8bd39930a548b01aa3b1fe8f8b582c272600ef6a05ddc4398cf21dc12a2")
version("1.0rc1", sha256="2dc4487556dce602655a6535f501136f0edc3575708029c80b1af6dccd069ce7")
version("1.0b1", sha256="480b85b0e8db288400088a57c2dc5639f556843b06b0492841920c38348a2a3e")
version("1.0a1", sha256="bef93e06026ddeba8809474923176803e64d08e1425672cd7c5b424c797d5d9d")

View File

@@ -28,13 +28,14 @@ def cmake_cache_entry(name, value, vtype=None):
return 'set({0} "{1}" CACHE {2} "")\n\n'.format(name, value, vtype)
class Ascent(Package):
class Ascent(Package, CudaPackage):
"""Ascent is an open source many-core capable lightweight in situ
visualization and analysis infrastructure for multi-physics HPC
simulations."""
homepage = "https://github.com/Alpine-DAV/ascent"
git = "https://github.com/Alpine-DAV/ascent.git"
url = "https://github.com/Alpine-DAV/ascent/releases/download/v0.5.0/ascent-v0.5.0-src-with-blt.tar.gz"
maintainers = ['cyrush']
@@ -42,6 +43,8 @@ class Ascent(Package):
branch='develop',
submodules=True)
version('0.5.0', sha256='2837b7371db3ac1bcc31a479d7cf0eb62a503cacadfa4187061502b3c4a89fa0')
###########################################################################
# package variants
###########################################################################
@@ -50,6 +53,7 @@ class Ascent(Package):
variant('test', default=True, description='Enable Ascent unit tests')
variant("mpi", default=True, description="Build Ascent MPI Support")
variant("serial", default=True, description="build serial (non-mpi) libraries")
# variants for language support
variant("python", default=True, description="Build Ascent Python support")
@@ -72,10 +76,15 @@ class Ascent(Package):
# package dependencies
###########################################################################
depends_on("cmake@3.14:", type='build')
# use cmake 3.14, newest that provides proper cuda support
# and we have seen errors with cuda in 3.15
depends_on("cmake@3.14.1:3.14.99", type='build')
depends_on("conduit~python", when="~python")
depends_on("conduit+python", when="+python+shared")
depends_on("conduit~shared~python", when="~shared")
depends_on("conduit~python~mpi", when="~python~mpi")
depends_on("conduit+python~mpi", when="+python+shared~mpi")
depends_on("conduit~shared~python~mpi", when="~shared~mpi")
#######################
# Python
@@ -85,6 +94,7 @@ class Ascent(Package):
depends_on("python+shared", when="+python+shared")
extends("python", when="+python+shared")
depends_on("py-numpy", when="+python+shared", type=('build', 'run'))
depends_on("py-pip", when="+python+shared", type=('build', 'run'))
#######################
# MPI
@@ -96,24 +106,22 @@ class Ascent(Package):
# TPLs for Runtime Features
#############################
depends_on("vtk-m", when="+vtkh")
depends_on("vtk-h@0.5.0", when="+vtkh")
depends_on("vtk-h@0.5.0~openmp", when="+vtkh~openmp")
depends_on("vtk-h@0.5.0+cuda+openmp", when="+vtkh+cuda+openmp")
depends_on("vtk-h@0.5.0+cuda~openmp", when="+vtkh+cuda~openmp")
depends_on("vtk-h@develop", when="+vtkh")
depends_on("vtk-h@develop~openmp", when="+vtkh~openmp")
depends_on("vtk-h@develop+cuda+openmp", when="+vtkh+cuda+openmp")
depends_on("vtk-h@develop+cuda~openmp", when="+vtkh+cuda~openmp")
depends_on("vtk-h@develop~shared", when="~shared+vtkh")
depends_on("vtk-h@develop~shared~openmp", when="~shared+vtkh~openmp")
depends_on("vtk-h@develop~shared+cuda", when="~shared+vtkh+cuda")
depends_on("vtk-h@develop~shared+cuda~openmp", when="~shared+vtkh+cuda~openmp")
depends_on("vtk-h@0.5.0~shared", when="~shared+vtkh")
depends_on("vtk-h@0.5.0~shared~openmp", when="~shared+vtkh~openmp")
depends_on("vtk-h@0.5.0~shared+cuda", when="~shared+vtkh+cuda")
depends_on("vtk-h@0.5.0~shared+cuda~openmp", when="~shared+vtkh+cuda~openmp")
# mfem
depends_on("mfem+shared+mpi+conduit", when="+shared+mfem+mpi")
depends_on("mfem~shared+mpi+conduit", when="~shared+mfem+mpi")
depends_on("mfem+threadsafe+shared+mpi+conduit", when="+shared+mfem+mpi")
depends_on("mfem+threadsafe~shared+mpi+conduit", when="~shared+mfem+mpi")
depends_on("mfem+shared~mpi+conduit", when="+shared+mfem~mpi")
depends_on("mfem~shared~mpi+conduit", when="~shared+mfem~mpi")
depends_on("mfem+threadsafe+shared~mpi+conduit", when="+shared+mfem~mpi")
depends_on("mfem+threadsafe~shared~mpi+conduit", when="~shared+mfem~mpi")
depends_on("adios", when="+adios")
@@ -121,6 +129,7 @@ class Ascent(Package):
# Documentation related
#######################
depends_on("py-sphinx", when="+python+doc", type='build')
depends_on("py-sphinx-rtd-theme", when="+python+doc", type='build')
def setup_build_environment(self, env):
env.set('CTEST_OUTPUT_ON_FAILURE', '1')
@@ -229,7 +238,7 @@ def create_host_config(self, spec, prefix, py_site_pkgs_dir=None):
if self.compiler.fc:
# even if this is set, it may not exist so do one more sanity check
f_compiler = which(env["SPACK_FC"])
f_compiler = env["SPACK_FC"]
#######################################################################
# By directly fetching the names of the actual compilers we appear
@@ -285,7 +294,7 @@ def create_host_config(self, spec, prefix, py_site_pkgs_dir=None):
if "+fortran" in spec and f_compiler is not None:
cfg.write(cmake_cache_entry("ENABLE_FORTRAN", "ON"))
cfg.write(cmake_cache_entry("CMAKE_Fortran_COMPILER",
f_compiler.path))
f_compiler))
else:
cfg.write("# no fortran compiler found\n\n")
cfg.write(cmake_cache_entry("ENABLE_FORTRAN", "OFF"))
@@ -348,6 +357,15 @@ def create_host_config(self, spec, prefix, py_site_pkgs_dir=None):
else:
cfg.write(cmake_cache_entry("ENABLE_DOCS", "OFF"))
#######################
# Serial
#######################
if "+serial" in spec:
cfg.write(cmake_cache_entry("ENABLE_SERIAL", "ON"))
else:
cfg.write(cmake_cache_entry("ENABLE_SERIAL", "OFF"))
#######################
# MPI
#######################
@@ -412,6 +430,13 @@ def create_host_config(self, spec, prefix, py_site_pkgs_dir=None):
cfg.write("# vtk-h from spack\n")
cfg.write(cmake_cache_entry("VTKH_DIR", spec['vtk-h'].prefix))
if "+cuda" in spec:
cfg.write(cmake_cache_entry("VTKm_ENABLE_CUDA", "ON"))
cfg.write(cmake_cache_entry("CMAKE_CUDA_HOST_COMPILER",
env["SPACK_CXX"]))
else:
cfg.write(cmake_cache_entry("VTKm_ENABLE_CUDA", "OFF"))
else:
cfg.write("# vtk-h not built by spack \n")

View File

@@ -20,8 +20,10 @@ class Bolt(CMakePackage):
homepage = "http://www.bolt-omp.org/"
url = "https://github.com/pmodels/bolt/releases/download/v1.0b1/bolt-1.0b1.tar.gz"
git = "https://github.com/pmodels/bolt.git"
maintainers = ['shintaro-iwasaki']
version("master", branch="master")
version("1.0rc3", sha256="beec522d26e74f0a562762ea5ae7805486a17b40013090ea1472f0c34c3379c8")
version("1.0rc2", sha256="662ab0bb9583e8d733e8af62a97b41828e8bfe4bd65902f1195b986901775a45")
version("1.0rc1", sha256="c08cde0695b9d1252ab152425be96eb29c70d764e3083e276c013804883a15a4")
version("1.0b1", sha256="fedba46ad2f8835dd1cec1a9a52bcc9d8923071dc40045d0360517d09cd1a57d")

View File

@@ -0,0 +1,90 @@
diff -ur spack-src.org/bppSuite/bppAncestor.cpp spack-src/bppSuite/bppAncestor.cpp
--- spack-src.org/bppSuite/bppAncestor.cpp 2019-11-18 15:59:34.786164416 +0900
+++ spack-src/bppSuite/bppAncestor.cpp 2019-11-18 16:26:25.385749490 +0900
@@ -237,7 +237,7 @@
delete tree;
double logL = tl->getValue();
- if (isinf(logL))
+ if (std::isinf(logL))
{
// This may be due to null branch lengths, leading to null likelihood!
ApplicationTools::displayWarning("!!! Warning!!! Likelihood is zero.");
@@ -251,7 +251,7 @@
tl->matchParametersValues(pl);
logL = tl->getValue();
}
- if (isinf(logL))
+ if (std::isinf(logL))
{
ApplicationTools::displayError("!!! Unexpected likelihood == 0.");
ApplicationTools::displayError("!!! Looking at each site:");
diff -ur spack-src.org/bppSuite/bppML.cpp spack-src/bppSuite/bppML.cpp
--- spack-src.org/bppSuite/bppML.cpp 2019-11-18 15:59:34.786164416 +0900
+++ spack-src/bppSuite/bppML.cpp 2019-11-18 16:29:09.373021202 +0900
@@ -425,7 +425,7 @@
//Check initial likelihood:
double logL = tl->getValue();
- if (isinf(logL))
+ if (std::isinf(logL))
{
// This may be due to null branch lengths, leading to null likelihood!
ApplicationTools::displayWarning("!!! Warning!!! Initial likelihood is zero.");
@@ -440,7 +440,7 @@
logL = tl->getValue();
}
ApplicationTools::displayResult("Initial log likelihood", TextTools::toString(-logL, 15));
- if (isinf(logL))
+ if (std::isinf(logL))
{
ApplicationTools::displayError("!!! Unexpected initial likelihood == 0.");
if (codonAlphabet)
@@ -448,7 +448,7 @@
bool f = false;
size_t s;
for (size_t i = 0; i < sites->getNumberOfSites(); i++) {
- if (isinf(tl->getLogLikelihoodForASite(i))) {
+ if (std::isinf(tl->getLogLikelihoodForASite(i))) {
const Site& site = sites->getSite(i);
s = site.size();
for (size_t j = 0; j < s; j++) {
@@ -477,7 +477,7 @@
} else {
ApplicationTools::displayBooleanResult("Saturated site removal enabled", true);
for (size_t i = sites->getNumberOfSites(); i > 0; --i) {
- if (isinf(tl->getLogLikelihoodForASite(i - 1))) {
+ if (std::isinf(tl->getLogLikelihoodForASite(i - 1))) {
ApplicationTools::displayResult("Ignore saturated site", sites->getSite(i - 1).getPosition());
sites->deleteSite(i - 1);
}
@@ -486,7 +486,7 @@
tl->setData(*sites);
tl->initialize();
logL = tl->getValue();
- if (isinf(logL)) {
+ if (std::isinf(logL)) {
throw Exception("Likelihood is still 0 after saturated sites are removed! Looks like a bug...");
}
ApplicationTools::displayResult("Initial log likelihood", TextTools::toString(-logL, 15));
diff -ur spack-src.org/bppSuite/bppMixedLikelihoods.cpp spack-src/bppSuite/bppMixedLikelihoods.cpp
--- spack-src.org/bppSuite/bppMixedLikelihoods.cpp 2019-11-18 15:59:34.786164416 +0900
+++ spack-src/bppSuite/bppMixedLikelihoods.cpp 2019-11-18 16:26:48.338168188 +0900
@@ -220,7 +220,7 @@
tl->initialize();
double logL = tl->getValue();
- if (isinf(logL))
+ if (std::isinf(logL))
{
// This may be due to null branch lengths, leading to null likelihood!
ApplicationTools::displayWarning("!!! Warning!!! Likelihood is zero.");
@@ -235,7 +235,7 @@
tl->matchParametersValues(pl);
logL = tl->getValue();
}
- if (isinf(logL))
+ if (std::isinf(logL))
{
ApplicationTools::displayError("!!! Unexpected likelihood == 0.");
ApplicationTools::displayError("!!! Looking at each site:");

View File

@@ -20,3 +20,7 @@ class BppSuite(CMakePackage):
depends_on('bpp-core')
depends_on('bpp-seq')
depends_on('bpp-phyl')
# Clarify isinf's namespace, because Fujitsu compiler can't
# resolve ambiguous of 'isinf' function.
patch('clarify_isinf.patch', when='%fj')

View File

@@ -10,10 +10,11 @@ class CAres(CMakePackage):
"""c-ares: A C library for asynchronous DNS requests"""
homepage = "https://c-ares.haxx.se"
url = "https://github.com/c-ares/c-ares/archive/cares-1_13_0.tar.gz"
url = "https://github.com/c-ares/c-ares/archive/cares-1_15_0.tar.gz"
git = "https://github.com/c-ares/c-ares.git"
version('develop', branch='master')
version('master', branch='master')
version('1.15.0', sha256='7deb7872cbd876c29036d5f37e30c4cbc3cc068d59d8b749ef85bb0736649f04')
version('1.13.0', sha256='7c48c57706a38691041920e705d2a04426ad9c68d40edd600685323f214b2d57')
def url_for_version(self, version):

View File

@@ -50,6 +50,12 @@ class CbtfKrell(CMakePackage):
# Dependencies for cbtf-krell
depends_on("cmake@3.0.2:", type='build')
# For rpcgen
depends_on("rpcsvc-proto", type='build')
# For rpc
depends_on("libtirpc", type='link')
# For binutils
depends_on("binutils")

View File

@@ -0,0 +1,40 @@
# 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 *
class Clara(CMakePackage):
"""A simple to use, composable, command line parser for C++ 11
and beyond."""
homepage = "https://github.com/catchorg/Clara"
url = "https://github.com/catchorg/Clara/archive/v1.1.5.tar.gz"
maintainers = ['bvanessen']
variant('single_header', default=True,
description='Install a single header only.')
version('1.1.5', sha256='767dc1718e53678cbea00977adcd0a8a195802a505aec3c537664cf25a173142')
version('1.1.4', sha256='ed3f9cc32e4ea6075c26caff63ee14a87e43dee1f3010c02bd041b9a0c86f72d')
version('1.1.3', sha256='a8132befb6b32bf447a74f7e758ac0b63e7bab86974aeb55ee2fd1cd77385f9e')
version('1.1.2', sha256='87c8e9440cc339c2a7b7efa0313070ff0081eca7780f098f6aff624ffa640c16')
version('1.1.1', sha256='10915a49a94d371f05af360d40e9cc9615ab86f200d261edf196a8ddd7efa7f8')
version('1.1.0', sha256='29ca29d843150aabad702356f79009f5b30dda05ac9674a064362b7edcba5477')
@when('+single_header')
def cmake(self, spec, prefix):
pass
@when('+single_header')
def build(self, spec, prefix):
pass
@when('+single_header')
def install(self, spec, prefix):
mkdirp(prefix.include)
install_tree('single_include', prefix.include)
mkdirp(join_path(prefix, 'bin'))

View File

@@ -68,7 +68,7 @@ class Conduit(Package):
variant("adios", default=False, description="Build Conduit ADIOS support")
# zfp compression
variant("zfp", default=True, description="Build Conduit ZFP support")
variant("zfp", default=False, description="Build Conduit ZFP support")
# variants for dev-tools (docs, etc)
variant("doc", default=False, description="Build Conduit's documentation")

View File

@@ -28,6 +28,8 @@ class Doxygen(CMakePackage):
description='Build with dot command support from Graphviz.')
depends_on("cmake@2.8.12:", type='build')
depends_on("python", type='build') # 2 or 3 OK; used in CMake build
depends_on("libiconv")
depends_on("flex", type='build')
# code.l just checks subminor version <=2.5.4 or >=2.5.33
# but does not recognize 2.6.x as newer...could be patched if needed

View File

@@ -12,10 +12,11 @@ class EnvironmentModules(Package):
"""
homepage = 'https://cea-hpc.github.io/modules/'
url = 'https://github.com/cea-hpc/modules/releases/download/v4.3.1/modules-4.3.1.tar.gz'
url = 'https://github.com/cea-hpc/modules/releases/download/v4.4.0/modules-4.4.0.tar.gz'
maintainers = ['xdelaruelle']
version('4.4.0', sha256='4dd55ad6cc684905e891ad1ba9e3c542e79eea0a9cd9a0e99cd77abe6ed63fab')
version('4.3.1', sha256='979efb5b3d3c8df2c3c364aaba61f97a459456fc5bbc092dfc02677da63e5654')
version('4.3.0', sha256='231f059c4109a2d3028c771f483f6c92f1f3689eb0033648ce00060dad00e103')
version('4.2.5', sha256='3375b454568e7bbec7748cd6173516ef9f30a3d8e13c3e99c02794a6a3bc3c8c')
@@ -68,6 +69,13 @@ def install(self, spec, prefix):
if '~X' in spec:
config_args = ['--without-x'] + config_args
if '@4.4.0:' in self.spec:
config_args.extend([
'--with-icase=search',
'--enable-extended-default',
'--enable-advanced-version-spec'
])
if '@4.3.0:' in self.spec:
config_args.extend([
'--enable-color'

View File

@@ -0,0 +1,34 @@
# 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 *
class FindCirc(Package):
"""Find-circ is a collection of python scripts
detecting head-to-tail spliced (back-spliced) sequencing reads,
indicative of circular RNA (circRNA) in RNA-seq data."""
homepage = "https://github.com/marvin-jens/find_circ"
url = "https://github.com/marvin-jens/find_circ/archive/v1.2.tar.gz"
version('1.2', sha256='f88bf9b5d0cc818313074982d4460c96706f555d924e2821832c3d03bf67743e')
depends_on('python@2.7:2.8', type=('build', 'run'))
depends_on('py-pysam', type=('build', 'run'))
# Higher version of py-pandas and py-numpy
# depends on python@3: which conflicts with py-rnacocktail
depends_on('py-numpy@:1.16.5', type=('build', 'run'))
def install(self, spec, prefix):
mkdir(prefix.bin)
install('cmp_bed.py', prefix.bin)
install('find_circ.py', prefix.bin)
install('maxlength.py', prefix.bin)
install('unmapped2anchors.py', prefix.bin)
install('README.md', prefix)
install('README.pdf', prefix)
install('LICENSE', prefix)
install_tree('test_data', prefix.test_data)

View File

@@ -17,13 +17,29 @@ class Flecsi(CMakePackage):
n-dimensional hashed-tree data structures, graph partitioning
interfaces,and dependency closures.
'''
homepage = 'http://flecsi.lanl.gov/'
homepage = 'http://flecsi.org/'
git = 'https://github.com/laristra/flecsi.git'
version('develop', branch='master', submodules=False, preferred=True)
version('master', branch='master', submodules=False, preferred=True)
variant('backend', default='mpi', values=('serial', 'mpi', 'legion'),
description='Backend to use for distributed memory')
variant('build_type', default='Release', values=('Debug', 'Release'),
description='The build type to build', multi=False)
variant('backend', default='mpi', values=('serial', 'mpi', 'legion', 'hpx'),
description='Backend to use for distributed memory', multi=False)
variant('minimal', default=False,
description='Disable FindPackageMetis')
variant('shared', default=True,
description='Build shared libraries')
variant('flog', default=False,
description='Enable flog testing')
variant('doxygen', default=False,
description='Enable doxygen')
variant('doc', default=False,
description='Enable documentation')
variant('coverage', default=False,
description='Enable coverage build')
variant('hdf5', default=False,
description='Enable HDF5 Support')
variant('caliper', default=False,
description='Enable Caliper Support')
variant('graphviz', default=False,
@@ -33,50 +49,97 @@ class Flecsi(CMakePackage):
variant('flecstan', default=False,
description='Build FleCSI Static Analyzer')
depends_on('cmake@3.1:', type='build')
depends_on('cmake@3.12:', type='build')
# Requires cinch > 1.0 due to cinchlog installation issue
depends_on('cinch@1.01:', type='build')
depends_on('mpi', when='backend=mpi')
depends_on('mpi', when='backend=legion')
depends_on('gasnet@2019.3.0 ~pshm', when='backend=legion')
depends_on('legion@ctrl-rep +shared +mpi', when='backend=legion')
depends_on('boost@1.59.0: cxxstd=11 +program_options')
depends_on('mpi', when='backend=hpx')
depends_on('legion@ctrl-rep +shared +mpi +hdf5', when='backend=legion +hdf5')
depends_on('legion@ctrl-rep +shared +mpi', when='backend=legion ~hdf5')
depends_on('hpx@1.3.0 cxxstd=14', when='backend=hpx')
depends_on('boost@1.70.0: cxxstd=14 +program_options')
depends_on('metis@5.1.0:')
depends_on('parmetis@4.0.3:')
depends_on('hdf5', when='+hdf5')
depends_on('caliper', when='+caliper')
depends_on('graphviz', when='+graphviz')
depends_on('python@3.0:', when='+tutorial')
depends_on('llvm', when='+flecstan')
def cmake_args(self):
options = ['-DCMAKE_BUILD_TYPE=debug']
options.append('-DCINCH_SOURCE_DIR=' + self.spec['cinch'].prefix)
conflicts('+tutorial', when='backend=hpx')
# conflicts('+hdf5', when='backend=hpx')
# conflicts('+hdf5', when='backend=mpi')
if self.spec.variants['backend'].value == 'legion':
def cmake_args(self):
spec = self.spec
options = ['-DENABLE_OPENMP=ON',
'-DCXX_CONFORMANCE_STANDARD=c++17',
'-DENABLE_METIS=ON',
'-DENABLE_PARMETIS=ON',
'-DENABLE_COLORING=ON',
'-DENABLE_DEVEL_TARGETS=ON'
]
options.append('-DCINCH_SOURCE_DIR=' + spec['cinch'].prefix)
if spec.variants['backend'].value == 'legion':
options.append('-DFLECSI_RUNTIME_MODEL=legion')
elif self.spec.variants['backend'].value == 'mpi':
options.append('-DENABLE_MPI=ON')
elif spec.variants['backend'].value == 'mpi':
options.append('-DFLECSI_RUNTIME_MODEL=mpi')
options.append('-DENABLE_MPI=ON')
elif spec.variants['backend'].value == 'hpx':
options.append('-DFLECSI_RUNTIME_MODEL=hpx')
options.append('-DENABLE_MPI=ON')
else:
options.append('-DFLECSI_RUNTIME_MODEL=serial')
options.append(
'-DENABLE_MPI=OFF',
)
options.append('-DENABLE_MPI=OFF')
if '+tutorial' in self.spec:
if '+minimal' in spec:
options.append('-DCMAKE_DISABLE_FIND_PACKAGE_METIS=ON')
else:
options.append('-DCMAKE_DISABLE_FIND_PACKAGE_METIS=OFF')
if '+shared' in spec:
options.append('-DBUILD_SHARED_LIBS=ON')
else:
options.append('-DBUILD_SHARED_LIBS=OFF')
if self.run_tests:
options.append('-DENABLE_UNIT_TESTS=ON')
else:
options.append('-DENABLE_UNIT_TESTS=OFF')
if '+hdf5' in spec and spec.variants['backend'].value == 'legion':
options.append('-DENABLE_HDF5=ON')
else:
options.append('-DENABLE_HDF5=OFF')
if '+caliper' in spec:
options.append('-DENABLE_CALIPER=ON')
else:
options.append('-DENABLE_CALIPER=OFF')
if '+tutorial' in spec:
options.append('-DENABLE_FLECSIT=ON')
options.append('-DENABLE_FLECSI_TUTORIAL=ON')
else:
options.append('-DENABLE_FLECSIT=OFF')
options.append('-DENABLE_FLECSI_TUTORIAL=OFF')
if '+caliper' in self.spec:
options.append('-DENABLE_CALIPER=ON')
else:
options.append('-DENABLE_CALIPER=OFF')
if '+flecstan' in self.spec:
if '+flecstan' in spec:
options.append('-DENABLE_FLECSTAN=ON')
else:
options.append('-DENABLE_FLECSTAN=OFF')
if '+doxygen' in spec:
options.append('-DENABLE_DOXYGEN=ON')
else:
options.append('-DENABLE_DOXYGEN=OFF')
if '+doc' in spec:
options.append('-DENABLE_DOCUMENTATION=ON')
else:
options.append('-DENABLE_DOCUMENTATION=OFF')
if '+coverage' in spec:
options.append('-DENABLE_COVERAGE_BUILD=ON')
else:
options.append('-DENABLE_COVERAGE_BUILD=OFF')
return options

View File

@@ -0,0 +1,19 @@
# 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 *
class Genrich(MakefilePackage):
"""Genrich is a peak-caller for genomic enrichment assays."""
homepage = "https://github.com/jsh58/Genrich"
url = "https://github.com/jsh58/Genrich/archive/v0.6.tar.gz"
version('0.6', sha256='4c87aca8b7789f28b0c5c2c0ccea75668f19fa6a4cb38cd3c06d80ffd98d396f')
def install(self, spec, prefix):
mkdirp(prefix.bin)
install('Genrich', prefix.bin)

View File

@@ -12,8 +12,9 @@ class Hmmer(Package):
probabilistic models called profile hidden Markov models (profile HMMs).
"""
homepage = 'http://www.hmmer.org'
url = 'http://eddylab.org/software/hmmer/hmmer-3.2.1.tar.gz'
url = 'http://eddylab.org/software/hmmer/hmmer-3.3.tar.gz'
version('3.3', sha256='0186bf40af67032666014971ed8ddc3cf2834bebc2be5b3bc0304a93e763736c')
version('3.2.1', sha256='a56129f9d786ec25265774519fc4e736bbc16e4076946dcbd7f2c16efc8e2b9c')
version('3.1b2', sha256='dd16edf4385c1df072c9e2f58c16ee1872d855a018a2ee6894205277017b5536')
version('3.0', sha256='6977e6473fcb554b1d5a86dc9edffffa53918c1bd88d7fd20d7499f1ba719e83')

View File

@@ -12,6 +12,7 @@ class Hpx(CMakePackage, CudaPackage):
homepage = "http://stellar.cct.lsu.edu/tag/hpx/"
url = "https://github.com/STEllAR-GROUP/hpx/archive/1.2.1.tar.gz"
maintainers = ['msimberg', 'albestro']
version('master', git='https://github.com/STEllAR-GROUP/hpx.git', branch='master')
version('1.3.0', sha256='cd34da674064c4cc4a331402edbd65c5a1f8058fb46003314ca18fa08423c5ad')
@@ -30,6 +31,10 @@ class Hpx(CMakePackage, CudaPackage):
values=('system', 'tcmalloc', 'jemalloc', 'tbbmalloc')
)
variant('max_cpu_count', default='64',
description='Max number of OS-threads for HPX applications',
values=lambda x: isinstance(x, str) and x.isdigit())
variant('instrumentation', values=any_combination_of(
'apex', 'google_perftools', 'papi', 'valgrind'
), description='Add support for various kind of instrumentation')
@@ -129,6 +134,11 @@ def cmake_args(self):
'ON' if '+tools' in spec else 'OFF'
))
# MAX_CPU_COUNT
args.append('-DHPX_WITH_MAX_CPU_COUNT={0}'.format(
spec.variants['max_cpu_count'].value
))
# Examples
args.append('-DHPX_WITH_EXAMPLES={0}'.format(
'ON' if '+examples' in spec else 'OFF'

View File

@@ -17,6 +17,8 @@ class Hydrogen(CMakePackage):
git = "https://github.com/LLNL/Elemental.git"
version('develop', branch='hydrogen')
version('1.2.0', sha256='8545975139582ee7bfe5d00f8d83a8697afc285bf7026b0761e9943355974806')
version('1.1.0-1', sha256='73ce05e4166853a186469269cb00a454de71e126b2019f95bbae703b65606808')
version('1.1.0', sha256='b4c12913acd01c72d31f4522266bfeb8df1d4d3b4aef02e07ccbc9a477894e71')
version('1.0.1', sha256='27cf76e1ef1d58bd8f9b1e34081a14a682b7ff082fb5d1da56713e5e0040e528')
version('1.0', sha256='d8a97de3133f2c6b6bb4b80d32b4a4cc25eb25e0df4f0cec0f8cb19bf34ece98')

View File

@@ -48,7 +48,9 @@ class Jdk(Package):
url='http://download.oracle.com/otn-pub/java/jdk/10.0.2+13/19aef61b38124481863b1413dce1855f/jdk-10.0.2_linux-x64_bin.tar.gz')
version('10.0.1_10', sha256='ae8ed645e6af38432a56a847597ac61d4283b7536688dbab44ab536199d1e5a4', curl_options=curl_options,
url='http://download.oracle.com/otn-pub/java/jdk/10.0.1+10/fb4372174a714e6b8c52526dc134031e/jdk-10.0.1_linux-x64_bin.tar.gz')
version('1.8.0_202', sha256='9a5c32411a6a06e22b69c495b7975034409fa1652d03aeb8eb5b6f59fd4594e0', curl_options=curl_options,
version('1.8.0_212-b10', sha256='3160c50aa8d8e081c8c7fe0f859ea452922eca5d2ae8f8ef22011ae87e6fedfb', curl_options=curl_options,
url='https://download.oracle.com/otn/java/jdk/8u212-b10/59066701cf1a433da9770636fbc4c9aa/jdk-8u212-linux-x64.tar.gz')
version('1.8.0_202-b08', sha256='9a5c32411a6a06e22b69c495b7975034409fa1652d03aeb8eb5b6f59fd4594e0', curl_options=curl_options,
url='https://download.oracle.com/otn-pub/java/jdk/8u202-b08/1961070e4c9b4e26a04e7f5a083f551e/jdk-8u202-linux-x64.tar.gz')
version('1.8.0_141-b15', sha256='041d5218fbea6cd7e81c8c15e51d0d32911573af2ed69e066787a8dc8a39ba4f', curl_options=curl_options,
url='http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz')
@@ -148,18 +150,18 @@ def macos_check(self):
def install(self, spec, prefix):
install_tree('.', prefix)
def setup_environment(self, spack_env, run_env):
def setup_run_environment(self, env):
"""Set JAVA_HOME."""
run_env.set('JAVA_HOME', self.home)
env.set('JAVA_HOME', self.home)
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
def setup_dependent_build_environment(self, env, dependent_spec):
"""Set JAVA_HOME and CLASSPATH.
CLASSPATH contains the installation prefix for the extension and any
other Java extensions it depends on."""
spack_env.set('JAVA_HOME', self.home)
env.set('JAVA_HOME', self.home)
class_paths = []
for d in dependent_spec.traverse(deptype=('build', 'run', 'test')):
@@ -167,14 +169,19 @@ def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
class_paths.extend(find(d.prefix, '*.jar'))
classpath = os.pathsep.join(class_paths)
spack_env.set('CLASSPATH', classpath)
env.set('CLASSPATH', classpath)
def setup_dependent_run_environment(self, env, dependent_spec):
"""Set CLASSPATH.
CLASSPATH contains the installation prefix for the extension and any
other Java extensions it depends on."""
# For runtime environment set only the path for
# dependent_spec and prepend it to CLASSPATH
if dependent_spec.package.extends(self.spec):
class_paths = find(dependent_spec.prefix, '*.jar')
classpath = os.pathsep.join(class_paths)
run_env.prepend_path('CLASSPATH', classpath)
env.prepend_path('CLASSPATH', classpath)
def setup_dependent_package(self, module, dependent_spec):
"""Allows spec['java'].home to work."""

View File

@@ -25,8 +25,11 @@ class Legion(CMakePackage):
url = "https://github.com/StanfordLegion/legion/tarball/legion-17.02.0"
git = "https://github.com/StanfordLegion/legion.git"
version('develop', branch='master')
version('ctrl-rep', commit='177584e77036c9913d8a62e33b55fa784748759c')
version('master', branch='master')
version('ctrl-rep', branch='control_replication')
version('ctrl-rep-2', commit='96682fd8aae071ecd30a3ed5f481a9d84457a4b6')
version('ctrl-rep-1', commit='a03671b21851d5f0d3f63210343cb61a630f4405')
version('ctrl-rep-0', commit='177584e77036c9913d8a62e33b55fa784748759c')
version('19.06.0', sha256='31cd97e9264c510ab83b1f9e8e1e6bf72021a0c6ee4a028966fce08736e39fbf')
version('19.04.0', sha256='279bbc8dcdab4c75be570318989a9fc9821178143e9db9c3f62e58bf9070b5ac')
version('18.12.0', sha256='71f2c409722975c0ad92f2caffcc9eaa9260f7035e2b55b731d819eb6a94016c')

View File

@@ -34,7 +34,7 @@ class Libxml2(AutotoolsPackage):
# XML Conformance Test Suites
# See http://www.w3.org/XML/Test/ for information
resource(name='xmlts', url='http://www.w3.org/XML/Test/xmlts20080827.tar.gz',
resource(name='xmlts', url='https://www.w3.org/XML/Test/xmlts20080827.tar.gz',
sha256='96151685cec997e1f9f3387e3626d61e6284d4d6e66e0e440c209286c03e9cc7')
@property

View File

@@ -17,13 +17,15 @@ class Metis(Package):
multilevel recursive-bisection, multilevel k-way, and multi-constraint
partitioning schemes."""
homepage = "http://glaros.dtc.umn.edu/gkhome/metis/metis/overview"
url = "http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/metis-5.1.0.tar.gz"
list_url = "http://glaros.dtc.umn.edu/gkhome/fsroot/sw/metis/OLD"
#
# the previous metis website http://glaros.dtc.umn.edu/gkhome/metis/metis
# no longer exists. This is a github mirror that provides metis 5.1.0
#
homepage = "https://github.com/scivision/METIS/"
url = "https://github.com/scivision/METIS/raw/master/metis-5.1.0.tar.gz"
version('5.1.0', sha256='76faebe03f6c963127dbb73c13eab58c9a3faeae48779f049066a21c087c5db2')
version('5.0.2', sha256='f79790676ca2ce3dfa9d5e2d74801e91d92415664ede2c2fc18fc49d4a161981')
version('4.0.3', sha256='5efa35de80703c1b2c4d0de080fafbcf4e0d363a21149a1ad2f96e0144841a55')
variant('shared', default=True, description='Enables the build of shared libraries.')
variant('gdb', default=False, description='Enables gdb support (version 5+).')
@@ -50,13 +52,6 @@ class Metis(Package):
patch('install_gklib_defs_rename.patch', when='@5:')
patch('gklib_nomisleadingindentation_warning.patch', when='@5: %gcc@6:')
def url_for_version(self, version):
url = "http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis"
if version < Version('4.0.3'):
url += "/OLD"
url += "/metis-{0}.tar.gz".format(version)
return url
@when('@5:')
def patch(self):
source_path = self.stage.source_path

View File

@@ -439,8 +439,35 @@ def find_optional_library(name, prefix):
hdf5 = conduit['hdf5']
headers += find_headers('hdf5', hdf5.prefix.include)
libs += hdf5.libs
##################
# cyrush note:
##################
# spack's HeaderList is applying too much magic, undermining us:
#
# It applies a regex to strip back to the last "include" dir
# in the path. In our case we need to pass the following
# as part of the CONDUIT_OPT flags:
#
# -I<install_path>/include/conduit
#
# I tried several ways to present this path to the HeaderList,
# but the regex always kills the trailing conduit dir
# breaking build.
#
# To resolve the issue, we simply join our own string with
# the headers results (which are important b/c they handle
# hdf5 paths when enabled).
##################
# construct proper include path
conduit_include_path = conduit.prefix.include.conduit
# add this path to the found flags
conduit_opt_flags = "-I{0} {1}".format(conduit_include_path,
headers.cpp_flags)
options += [
'CONDUIT_OPT=%s' % headers.cpp_flags,
'CONDUIT_OPT=%s' % conduit_opt_flags,
'CONDUIT_LIB=%s' % ld_flags_from_library_list(libs)]
make('config', *options, parallel=False)

View File

@@ -0,0 +1,37 @@
# 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 *
class Mg(Package):
"""Mg is intended to be a small, fast, and portable editor for people
who can't (or don't want to) run emacs for one reason or another,
or are not familiar with the vi editor. It is compatible with
emacs because there shouldn't be any reason to learn more editor
types than emacs or vi."""
homepage = "https://github.com/ibara/mg"
url = "https://github.com/ibara/mg/archive/mg-6.6.tar.gz"
version('6.6', sha256='e8440353da1a52ec7d40fb88d4f145da49c320b5ba31daf895b0b0db5ccd0632')
depends_on('ncurses')
phases = ['configure', 'build', 'install']
def configure(self, spec, prefix):
configure = Executable('./configure')
args = [
'--mandir={0}'.format(self.prefix.man),
'--prefix={0}'.format(self.prefix),
]
configure(*args)
def build(self, spec, prefix):
make()
def install(self, spec, prefix):
make('install')

View File

@@ -0,0 +1,16 @@
# 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 *
class Miranda(AutotoolsPackage):
"""miRanda is an algorithm for finding genomic targets for microRNAs."""
homepage = "http://www.microrna.org/microrna/getDownloads.do"
url = "http://cbio.mskcc.org/microrna_data/miRanda-aug2010.tar.gz"
version('3.3a', sha256='a671da562cf4636ef5085b27349df2df2f335774663fd423deb08f31212ec778',
url='http://cbio.mskcc.org/microrna_data/miRanda-aug2010.tar.gz')

View File

@@ -19,6 +19,7 @@ class Mpich(AutotoolsPackage):
list_depth = 1
version('develop', submodules=True)
version('3.3.2', sha256='4bfaf8837a54771d3e4922c84071ef80ffebddbb6971a006038d91ee7ef959b9')
version('3.3.1', sha256='fe551ef29c8eea8978f679484441ed8bb1d943f6ad25b63c235d4b9243d551e5')
version('3.3', sha256='329ee02fe6c3d101b6b30a7b6fb97ddf6e82b28844306771fa9dd8845108fa0b')
version('3.2.1', sha256='5db53bf2edfaa2238eb6a0a5bc3d2c2ccbfbb1badd79b664a1a919d2ce2330f1')

View File

@@ -15,6 +15,7 @@ class OpenpmdApi(CMakePackage):
maintainers = ['ax3l']
version('develop', branch='dev')
version('0.10.0', tag='0.10.0-alpha')
variant('shared', default=True,
description='Build a shared version of the library')

View File

@@ -165,12 +165,13 @@ def install_cpanm(self):
make()
make('install')
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
def setup_dependent_build_environment(self, env, dependent_spec):
"""Set PATH and PERL5LIB to include the extension and
any other perl extensions it depends on,
assuming they were installed with INSTALL_BASE defined."""
perl_lib_dirs = []
perl_bin_dirs = []
perl_lib_dirs = [join_path(self.spec.prefix.lib,
str(self.spec.version))]
perl_bin_dirs = [self.spec.prefix.bin]
for d in dependent_spec.traverse(
deptype=('build', 'run'), deptype_query='run'):
if d.package.extends(self.spec):
@@ -178,12 +179,29 @@ def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
perl_bin_dirs.append(d.prefix.bin)
if perl_bin_dirs:
perl_bin_path = ':'.join(perl_bin_dirs)
spack_env.prepend_path('PATH', perl_bin_path)
run_env.prepend_path('PATH', perl_bin_path)
env.prepend_path('PATH', perl_bin_path)
if perl_lib_dirs:
perl_lib_path = ':'.join(perl_lib_dirs)
spack_env.prepend_path('PERL5LIB', perl_lib_path)
run_env.prepend_path('PERL5LIB', perl_lib_path)
env.prepend_path('PERL5LIB', perl_lib_path)
def setup_dependent_run_environment(self, env, dependent_spec):
"""Set PATH and PERL5LIB to include the extension and
any other perl extensions it depends on,
assuming they were installed with INSTALL_BASE defined."""
perl_lib_dirs = [join_path(self.spec.prefix.lib,
str(self.spec.version))]
perl_bin_dirs = [self.spec.prefix.bin]
for d in dependent_spec.traverse(
deptype=('run',), deptype_query='run'):
if d.package.extends(self.spec):
perl_lib_dirs.append(d.prefix.lib.perl5)
perl_bin_dirs.append(d.prefix.bin)
if perl_bin_dirs:
perl_bin_path = ':'.join(perl_bin_dirs)
env.prepend_path('PATH', perl_bin_path)
if perl_lib_dirs:
perl_lib_path = ':'.join(perl_lib_dirs)
env.prepend_path('PERL5LIB', perl_lib_path)
def setup_dependent_package(self, module, dependent_spec):
"""Called before perl modules' install() methods.

View File

@@ -13,6 +13,6 @@ class PyGast(PythonPackage):
url = "https://pypi.io/packages/source/g/gast/gast-0.3.2.tar.gz"
version('0.3.2', sha256='5c7617f1f6c8b8b426819642b16b9016727ddaecd16af9a07753e537eba8a3a5')
version('0.2.0', sha256='7068908321ecd2774f145193c4b34a11305bd104b4551b09273dfd1d6a374930')
depends_on('py-setuptools', type='build')
depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))

View File

@@ -0,0 +1,18 @@
# 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 *
class PyGooglePasta(PythonPackage):
"""pasta is an AST-based Python refactoring library."""
homepage = "https://github.com/google/pasta"
url = "https://pypi.io/packages/source/g/google-pasta/google-pasta-0.1.8.tar.gz"
version('0.1.8', sha256='713813a9f7d6589e5defdaf21e80e4392eb124662f8bd829acd51a4f8735c0cb')
depends_on('py-setuptools', type='build')
depends_on('py-six', type=('build', 'run'))

View File

@@ -0,0 +1,30 @@
# 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 *
class PyGrpcio(PythonPackage):
"""HTTP/2-based RPC framework."""
homepage = "https://grpc.io/"
url = "https://pypi.io/packages/source/g/grpcio/grpcio-1.25.0.tar.gz"
version('1.25.0', sha256='c948c034d8997526011960db54f512756fb0b4be1b81140a15b4ef094c6594a4')
depends_on('py-setuptools', type='build')
depends_on('py-six@1.5.2:', type=('build', 'run'))
depends_on('py-futures@2.2.0:', when='^python@:3.1', type=('build', 'run'))
depends_on('py-enum34@1.0.4:', when='^python@:3.3', type=('build', 'run'))
depends_on('py-cython@0.23:', type='build')
depends_on('openssl')
depends_on('zlib')
depends_on('c-ares')
def setup_build_environment(self, env):
env.set('GRPC_PYTHON_BUILD_WITH_CYTHON', True)
env.set('GRPC_PYTHON_BUILD_SYSTEM_OPENSSL', True)
env.set('GRPC_PYTHON_BUILD_SYSTEM_ZLIB', True)
env.set('GRPC_PYTHON_BUILD_SYSTEM_CARES', True)

View File

@@ -20,7 +20,7 @@ class PyNumexpr3(PythonPackage):
homepage = "https://github.com/pydata/numexpr/tree/numexpr-3.0"
url = "https://pypi.io/packages/source/n/numexpr3/numexpr3-3.0.1a1.tar.gz"
version('3.0.1.a1', sha256sum='de06f1b4206704b5bc19ea09b5c94350b97c211c26bc866f275252a8461b87e6')
version('3.0.1a1', sha256='de06f1b4206704b5bc19ea09b5c94350b97c211c26bc866f275252a8461b87e6')
# TODO: Add CMake build system for better control of passing flags related
# to CPU ISA.

View File

@@ -15,23 +15,27 @@ class PyProtobuf(PythonPackage):
and using a variety of languages."""
homepage = 'https://developers.google.com/protocol-buffers/'
url = 'https://pypi.io/packages/source/p/protobuf/protobuf-3.0.0b2.tar.gz'
url = 'https://pypi.io/packages/source/p/protobuf/protobuf-3.7.1.tar.gz'
variant('cpp', default=False,
description='Enable the cpp implementation')
version('3.7.1', sha256='21e395d7959551e759d604940a115c51c6347d90a475c9baf471a1a86b5604a9')
version('3.6.1', sha256='1489b376b0f364bcc6f89519718c057eb191d7ad6f1b395ffd93d1aa45587811')
version('3.5.2.post1', sha256='3b60685732bd0cbdc802dfcb6071efbcf5d927ce3127c13c33ea1a8efae3aa76')
version('3.6.0', sha256='a37836aa47d1b81c2db1a6b7a5e79926062b5d76bd962115a0e615551be2b48d')
version('3.5.2', sha256='09879a295fd7234e523b62066223b128c5a8a88f682e3aff62fb115e4a0d8be0')
version('3.5.1', sha256='95b78959572de7d7fafa3acb718ed71f482932ddddddbd29ba8319c10639d863')
version('3.0.0b2', sha256='d5b560bbc4b7d97cc2455c05cad9299d9db02d7bd11193b05684e3a86303c229')
version('3.4.0', sha256='ef02609ef445987976a3a26bff77119c518e0915c96661c3a3b17856d0ef6374')
version('3.3.0', sha256='1cbcee2c45773f57cb6de7ee0eceb97f92b9b69c0178305509b162c0160c1f04')
version('2.6.1', sha256='8faca1fb462ee1be58d00f5efb4ca4f64bde92187fe61fde32615bbee7b3e745')
version('2.5.0', sha256='58292c459598c9297258bf57acc055f701c727f0154a86af8c0947dde37d8172')
version('2.4.1', sha256='df30b98acb6ef892da8b4776175510cff2131908fd0526b6bad960c55a830a1b')
version('2.3.0', sha256='374bb047874a506507912c3717d0ce62affbaa9a22bcb494d63d60326a0867b5')
depends_on('py-setuptools', type='build')
depends_on('py-setuptools', type=('build', 'run'))
depends_on('py-six@1.9:', when='@3:', type=('build', 'run'))
depends_on('py-ordereddict', when='@3: ^python@:2', type=('build', 'run'))
depends_on('py-unittest2', when='@3: ^python@:2', type=('build', 'run'))
depends_on('protobuf', when='+cpp')
@when('+cpp')

View File

@@ -0,0 +1,25 @@
# 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 *
class PyRnacocktail(PythonPackage):
"""RNACocktail: A comprehensive framework
for accurate and efficient RNA-Seq analysis."""
homepage = "http://bioinform.github.io/rnacocktail/"
url = "https://github.com/bioinform/rnacocktail/archive/v0.2.2.tar.gz"
version('0.2.2', sha256='34aa0d1d7bd9d80303fe7dac5acc0519f7c1ed986397692588343d82ce45c7a5')
depends_on('python@2.7:2.8', type=('build', 'run'))
depends_on('py-setuptools', type='build')
depends_on('py-pybedtools', type=('build', 'run'))
depends_on('py-pysam', type=('build', 'run'))
# Higher version of py-pandas and py-numpy
# depends on python@3: which conflicts with py-rnacocktail
depends_on('py-pandas@:0.24.2', type=('build', 'run'))
depends_on('py-numpy@:1.16.5', type=('build', 'run'))

View File

@@ -3,17 +3,18 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
class PyXattr(PythonPackage):
"""A python interface to access extended file attributes,
sans libattr dependency"""
sans libattr dependency.
"""
homepage = "http://pyxattr.k1024.org/"
git = "https://github.com/fwang2/pyxattr.git"
url = "https://pypi.io/packages/source/x/xattr/xattr-0.9.6.tar.gz"
git = "https://github.com/iustin/pyxattr.git"
version('develop', branch='dev')
version('master', branch='master')
version('0.9.6', sha256='7cb1b28eeab4fe99cc4350e831434142fce658f7d03f173ff7722144e6a47458')
depends_on('python@2.7:')
depends_on('py-setuptools', type='build')

View File

@@ -13,8 +13,9 @@ class Scalpel(MakefilePackage):
"""
homepage = "http://scalpel.sourceforge.net/index.html"
url = "https://downloads.sourceforge.net/project/scalpel/scalpel-0.5.3.tar.gz"
url = "https://downloads.sourceforge.net/project/scalpel/scalpel-0.5.4.tar.gz"
version('0.5.4', sha256='506f731b3886def158c15fd8b74fa98390f304a507d2040972e6b09ddefac8f0')
version('0.5.3', sha256='d45b569fe3aa5934883bc7216c243d53168351c23e020d96a46fa77a1563b65e')
depends_on('perl@5.10.0:')

View File

@@ -24,6 +24,7 @@ class SentieonGenomics(Package):
homepage = "https://www.sentieon.com/"
url = "file://{0}/sentieon-genomics-201808.01.tar.gz".format(os.getcwd())
version('201808.07', sha256='fb66b18a7b99e44968eb2c3a6a5b761d6b1e70fba9f7dfc4e5db3a74ab3d3dd9')
version('201808.01', sha256='6d77bcd5a35539549b28eccae07b19a3b353d027720536e68f46dcf4b980d5f7')
# Licensing.

View File

@@ -0,0 +1,19 @@
# 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 *
class TensorflowServingClient(CMakePackage):
"""A prebuilt tensorflow serving client from the tensorflow serving
proto files"""
homepage = "https://github.com/figroc/tensorflow-serving-client"
url = "https://github.com/figroc/tensorflow-serving-client/archive/v2.0.0.tar.gz"
version('2.0.0', sha256='55310ad484f257173ad5194df7f7116b2049260c3d29049ef8d789d1d8bd9948')
depends_on('protobuf')
depends_on('grpc')

View File

@@ -0,0 +1,16 @@
--- spack-src/tp/Texinfo/Parser.pm.org 2019-11-18 15:02:20.184202910 +0900
+++ spack-src/tp/Texinfo/Parser.pm 2019-11-18 15:02:46.927022528 +0900
@@ -5478,11 +5478,11 @@
}
} elsif ($command eq 'clickstyle') {
# REMACRO
- if ($line =~ /^\s+@([[:alnum:]][[:alnum:]\-]*)({})?\s*/) {
+ if ($line =~ /^\s+@([[:alnum:]][[:alnum:]\-]*)(\{\})?\s*/) {
$args = ['@'.$1];
$self->{'clickstyle'} = $1;
$remaining = $line;
- $remaining =~ s/^\s+@([[:alnum:]][[:alnum:]\-]*)({})?\s*(\@(c|comment)((\@|\s+).*)?)?//;
+ $remaining =~ s/^\s+@([[:alnum:]][[:alnum:]\-]*)(\{\})?\s*(\@(c|comment)((\@|\s+).*)?)?//;
$has_comment = 1 if (defined($4));
} else {
$self->line_error (sprintf($self->__(

View File

@@ -0,0 +1,17 @@
--- texinfo-6.0/tp/Texinfo/Parser.pm.org 2019-11-20 15:51:15.193575181 +0900
+++ texinfo-6.0/tp/Texinfo/Parser.pm 2019-11-20 15:51:59.648252047 +0900
@@ -5650,12 +5650,12 @@
}
} elsif ($command eq 'clickstyle') {
# REMACRO
- if ($line =~ /^\s+@([[:alnum:]][[:alnum:]\-]*)({})?\s*/) {
+ if ($line =~ /^\s+@([[:alnum:]][[:alnum:]\-]*)(\{\})?\s*/) {
$args = ['@'.$1];
$self->{'clickstyle'} = $1
unless(_ignore_global_commands($self));
$remaining = $line;
- $remaining =~ s/^\s+@([[:alnum:]][[:alnum:]\-]*)({})?\s*(\@(c|comment)((\@|\s+).*)?)?//;
+ $remaining =~ s/^\s+@([[:alnum:]][[:alnum:]\-]*)(\{\})?\s*(\@(c|comment)((\@|\s+).*)?)?//;
$has_comment = 1 if (defined($4));
} else {
$self->line_error (sprintf($self->__(

View File

@@ -0,0 +1,17 @@
--- texinfo-5.0/tp/Texinfo/Parser.pm.org 2019-11-20 15:53:10.625719249 +0900
+++ texinfo-5.0/tp/Texinfo/Parser.pm 2019-11-20 15:53:42.949119841 +0900
@@ -5299,12 +5299,12 @@
}
} elsif ($command eq 'clickstyle') {
# REMACRO
- if ($line =~ /^\s+@([[:alnum:]][[:alnum:]\-]*)({})?\s*/) {
+ if ($line =~ /^\s+@([[:alnum:]][[:alnum:]\-]*)(\{\})?\s*/) {
$args = ['@'.$1];
$self->{'clickstyle'} = $1
unless(_ignore_global_commands($self));
my $remaining = $line;
- $remaining =~ s/^\s+@([[:alnum:]][[:alnum:]\-]*)({})?\s*//;
+ $remaining =~ s/^\s+@([[:alnum:]][[:alnum:]\-]*)(\{\})?\s*//;
$self->line_warn(sprintf($self->__(
"remaining argument on \@%s line: %s"),
$command, $remaining), $line_nr) if ($remaining);

View File

@@ -25,3 +25,14 @@ class Texinfo(AutotoolsPackage):
version('5.0', sha256='2c579345a39a2a0bb4b8c28533f0b61356504a202da6a25d17d4d866af7f5803')
depends_on('perl')
# Fix unescaped braces in regexps.
# Ref: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=898994
patch('fix_unescaped_braces.patch', when='@6.3:')
patch('fix_unescaped_braces_2.patch', when='@5.1:6.0')
patch('fix_unescaped_braces_3.patch', when='@5.0')
# Apply this fix to perform thread-safe processing in code
# that uses the global locale.
# Ref: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=902771
patch('update_locale_handling.patch', when='@6.3:')

View File

@@ -0,0 +1,25 @@
--- spack-src/tp/Texinfo/Convert/XSParagraph/xspara.c.org 2019-11-18 17:33:07.717005871 +0900
+++ spack-src/tp/Texinfo/Convert/XSParagraph/xspara.c 2019-11-18 17:34:56.318436594 +0900
@@ -248,6 +248,11 @@
dTHX;
+#if PERL_VERSION > 27 || (PERL_VERSION == 27 && PERL_SUBVERSION > 8)
+ /* needed due to thread-safe locale handling in newer perls */
+ switch_to_global_locale();
+#endif
+
if (setlocale (LC_CTYPE, "en_US.UTF-8")
|| setlocale (LC_CTYPE, "en_US.utf8"))
goto success;
@@ -319,6 +324,10 @@
else
{
success: ;
+#if PERL_VERSION > 27 || (PERL_VERSION == 27 && PERL_SUBVERSION > 8)
+ /* needed due to thread-safe locale handling in newer perls */
+ sync_locale();
+#endif
free (utf8_locale);
/*
fprintf (stderr, "tried to set LC_CTYPE to UTF-8.\n");

View File

@@ -4,6 +4,7 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
import glob
import sys
@@ -67,3 +68,10 @@ def configure_args(self):
if sys.platform == 'darwin':
options.append('--build=amd64-darwin')
return options
# Valgrind the potential for overlong perl shebangs
def patch(self):
for link_tool_in in glob.glob('coregrind/link_tool_exe_*.in'):
filter_file('^#! @PERL@',
'#! /usr/bin/env perl',
link_tool_in)

View File

@@ -28,49 +28,45 @@ def cmake_cache_entry(name, value, vtype=None):
return 'set({0} "{1}" CACHE {2} "")\n\n'.format(name, value, vtype)
class VtkH(Package):
class VtkH(Package, CudaPackage):
"""VTK-h is a toolkit of scientific visualization algorithms for emerging
processor architectures. VTK-h brings together several projects like VTK-m
and DIY2 to provide a toolkit with hybrid parallel capabilities."""
homepage = "https://github.com/Alpine-DAV/vtk-h"
url = "https://github.com/Alpine-DAV/vtk-h/releases/download/v0.5.0/vtkh-v0.5.0.tar.gz"
git = "https://github.com/Alpine-DAV/vtk-h.git"
maintainers = ['cyrush']
version('develop', branch='develop', submodules=True)
version('0.1.0', branch='develop', tag='v0.1.0', submodules=True)
version('0.5.0', sha256="9014a8a61a8d7ff636866c6e3b1ebb918ff23fa67cf8d4de801c4a2981de8c96")
variant("shared", default=True, description="Build vtk-h as shared libs")
variant("mpi", default=True, description="build mpi support")
variant("tbb", default=False, description="build tbb support")
variant("serial", default=True, description="build serial (non-mpi) libraries")
variant("cuda", default=False, description="build cuda support")
variant("openmp", default=(sys.platform != 'darwin'),
description="build openmp support")
depends_on("cmake@3.8.2:", type='build')
# use cmake 3.14, newest that provides proper cuda support
# and we have seen errors with cuda in 3.15
depends_on("cmake@3.14.1:3.14.99", type='build')
depends_on("mpi", when="+mpi")
depends_on("intel-tbb", when="@0.1.0+tbb")
depends_on("cuda", when="+cuda")
depends_on("vtk-m@1.2.0", when="@0.1.0")
depends_on("vtk-m@1.2.0+tbb", when="@0.1.0+tbb")
depends_on("vtk-m@1.2.0+cuda", when="@0.1.0+cuda")
depends_on("vtk-m@1.2.0~shared", when="@0.1.0~shared")
depends_on("vtk-m@1.5.0~tbb+openmp", when="+openmp")
depends_on("vtk-m@1.5.0~tbb~openmp", when="~openmp")
depends_on("vtk-m@master~tbb+openmp", when="@develop+openmp")
depends_on("vtk-m@master~tbb~openmp", when="@develop~openmp")
depends_on("vtk-m@1.5.0+cuda~tbb+openmp", when="+cuda+openmp")
depends_on("vtk-m@1.5.0+cuda~tbb~openmp", when="+cuda~openmp")
depends_on("vtk-m@master+cuda~tbb+openmp", when="@develop+cuda+openmp")
depends_on("vtk-m@master+cuda~tbb~openmp", when="@develop+cuda~openmp")
depends_on("vtk-m@1.5.0~tbb+openmp~shared", when="+openmp~shared")
depends_on("vtk-m@1.5.0~tbb~openmp~shared", when="~openmp~shared")
depends_on("vtk-m@master~tbb+openmp~shared", when="@develop+openmp~shared")
depends_on("vtk-m@master~tbb~openmp~shared", when="@develop~openmp~shared")
depends_on("vtk-m@master+cuda~tbb+openmp~shared", when="@develop+cuda+openmp~shared")
depends_on("vtk-m@master+cuda~tbb~openmp~shared", when="@develop+cuda~openmp~shared")
patch('vtkm_lagrange_cuda_fix.patch')
depends_on("vtk-m@1.5.0+cuda~tbb+openmp~shared", when="+cuda+openmp~shared")
depends_on("vtk-m@1.5.0+cuda~tbb~openmp~shared", when="+cuda~openmp~shared")
def install(self, spec, prefix):
with working_dir('spack-build', create=True):
@@ -79,11 +75,15 @@ def install(self, spec, prefix):
"-DENABLE_TESTS=OFF",
"-DBUILD_TESTING=OFF"]
# shared vs static libs
if "+shared" in spec:
cmake_args.append('-DBUILD_SHARED_LIBS=ON')
else:
# shared vs static libs logic
# force static when building with cuda
if "+cuda" in spec:
cmake_args.append('-DBUILD_SHARED_LIBS=OFF')
else:
if "+shared" in spec:
cmake_args.append('-DBUILD_SHARED_LIBS=ON')
else:
cmake_args.append('-DBUILD_SHARED_LIBS=OFF')
# mpi support
if "+mpi" in spec:
@@ -94,9 +94,6 @@ def install(self, spec, prefix):
mpiexe_bin = join_path(spec['mpi'].prefix.bin, 'mpiexec')
if os.path.isfile(mpiexe_bin):
cmake_args.append("-DMPIEXEC={0}".format(mpiexe_bin))
# tbb support
if "+tbb" in spec:
cmake_args.append("-DTBB_DIR={0}".format(spec["tbb"].prefix))
# openmp support
if "+openmp" in spec:
@@ -104,12 +101,13 @@ def install(self, spec, prefix):
# cuda support
if "+cuda" in spec:
cmake_args.append("-DENABLE_CUDA=ON")
# this fix is necessary if compiling platform has cuda, but
# no devices (this common for front end nodes on hpc clusters)
# we choose kepler as a lowest common denominator
cmake_args.append("-DVTKm_CUDA_Architecture=kepler")
cmake_args.append("-DVTKm_ENABLE_CUDA:BOOL=ON")
cmake_args.append("-DENABLE_CUDA:BOOL=ON")
cmake_args.append("-DCMAKE_CUDA_HOST_COMPILER={0}".format(
env["SPACK_CXX"]))
else:
cmake_args.append("-DVTKm_ENABLE_CUDA:BOOL=OFF")
cmake_args.append("-DENABLE_CUDA:BOOL=OFF")
# use release, instead of release with debug symbols b/c vtkh libs
# can overwhelm compilers with too many symbols
for arg in std_cmake_args:
@@ -117,15 +115,14 @@ def install(self, spec, prefix):
cmake_args.extend(std_cmake_args)
cmake_args.append("-DCMAKE_BUILD_TYPE=Release")
cmake(*cmake_args)
if "+cuda" in spec:
# avoid issues with make -j and FindCuda deps
# likely a ordering issue that needs to be resolved
# in vtk-h
make(parallel=False)
else:
make()
make()
make("install")
host_cfg_fname = self.create_host_config(spec,
prefix)
install(host_cfg_fname, prefix)
def create_host_config(self, spec, prefix, py_site_pkgs_dir=None):
"""
This method creates a 'host-config' file that specifies
@@ -209,6 +206,15 @@ def create_host_config(self, spec, prefix, py_site_pkgs_dir=None):
# Optional Dependencies
#######################################################################
#######################
# Serial
#######################
if "+serial" in spec:
cfg.write(cmake_cache_entry("ENABLE_SERIAL", "ON"))
else:
cfg.write(cmake_cache_entry("ENABLE_SERIAL", "OFF"))
#######################
# MPI
#######################
@@ -216,12 +222,21 @@ def create_host_config(self, spec, prefix, py_site_pkgs_dir=None):
cfg.write("# MPI Support\n")
if "+mpi" in spec:
mpicc_path = spec['mpi'].mpicc
mpicxx_path = spec['mpi'].mpicxx
mpifc_path = spec['mpi'].mpifc
# if we are using compiler wrappers on cray systems
# use those for mpi wrappers, b/c spec['mpi'].mpicxx
# etc make return the spack compiler wrappers
# which can trip up mpi detection in CMake 3.14
if cpp_compiler == "CC":
mpicc_path = "cc"
mpicxx_path = "CC"
mpifc_path = "ftn"
cfg.write(cmake_cache_entry("ENABLE_MPI", "ON"))
cfg.write(cmake_cache_entry("MPI_C_COMPILER", spec['mpi'].mpicc))
cfg.write(cmake_cache_entry("MPI_CXX_COMPILER",
spec['mpi'].mpicxx))
cfg.write(cmake_cache_entry("MPI_Fortran_COMPILER",
spec['mpi'].mpifc))
cfg.write(cmake_cache_entry("MPI_C_COMPILER", mpicc_path))
cfg.write(cmake_cache_entry("MPI_CXX_COMPILER", mpicxx_path))
cfg.write(cmake_cache_entry("MPI_Fortran_COMPILER", mpifc_path))
mpiexe_bin = join_path(spec['mpi'].prefix.bin, 'mpiexec')
if os.path.isfile(mpiexe_bin):
# starting with cmake 3.10, FindMPI expects MPIEXEC_EXECUTABLE

View File

@@ -22,7 +22,7 @@ class VtkM(CMakePackage, CudaPackage):
git = "https://gitlab.kitware.com/vtk/vtk-m.git"
version('master', branch='master')
version('1.5.0', sha256="cd38957bb552e28b5197e4f738d5bb0b2c6f4025c3e17a66c8b19ee501273fbe")
version('1.5.0', sha256="b1b13715c7fcc8d17f5c7166ff5b3e9025f6865dc33eb9b06a63471c21349aa8")
version('1.4.0', sha256="8d83cca7cd5e204d10da151ce4f1846c1f7414c7c1e579173d15c5ea0631555a")
version('1.3.0', sha256="f88c1b0a1980f695240eeed9bcccfa420cc089e631dc2917c9728a2eb906df2e")
version('1.2.0', sha256="607272992e05f8398d196f0acdcb4af025a4a96cd4f66614c6341f31d4561763")
@@ -61,19 +61,27 @@ def cmake_args(self):
'70': 'turing', '72': 'turing', '75': 'turing'}
with working_dir('spack-build', create=True):
options = ["-DVTKm_ENABLE_TESTING:BOOL=OFF"]
# shared vs static libs
if "+shared" in spec:
options.append('-DBUILD_SHARED_LIBS=ON')
else:
# shared vs static libs logic
# force building statically with cuda
if "+cuda" in spec:
options.append('-DBUILD_SHARED_LIBS=OFF')
else:
if "+shared" in spec:
options.append('-DBUILD_SHARED_LIBS=ON')
else:
options.append('-DBUILD_SHARED_LIBS=OFF')
# cuda support
if "+cuda" in spec:
options.append("-DVTKm_ENABLE_CUDA:BOOL=ON")
options.append("-DCMAKE_CUDA_HOST_COMPILER={0}".format(
env["SPACK_CXX"]))
if 'cuda_arch' in spec.variants:
cuda_value = spec.variants['cuda_arch'].value
name = gpu_name_table[cuda_value[0]]
options.append(
'-DVTKm_CUDA_Architecture={0}'.format(name))
cuda_arch = cuda_value[0]
if cuda_arch in gpu_name_table:
vtkm_cuda_arch = gpu_name_table[cuda_arch]
options.append('-DVTKm_CUDA_Architecture={0}'.format(
vtkm_cuda_arch))
else:
# this fix is necessary if compiling platform has cuda, but
# no devices (this's common for front end nodes on hpc clus

View File

@@ -38,11 +38,11 @@ def libs(self):
['libz'], root=self.prefix, recursive=True, shared=shared
)
def setup_environment(self, spack_env, run_env):
def setup_build_environment(self, env):
if '+pic' in self.spec:
spack_env.append_flags('CFLAGS', self.compiler.pic_flag)
env.append_flags('CFLAGS', self.compiler.pic_flag)
if '+optimize' in self.spec:
spack_env.append_flags('CFLAGS', '-O2')
env.append_flags('CFLAGS', '-O2')
def install(self, spec, prefix):
config_args = []