Merge branch 'develop' into features/shared
This commit is contained in:
@@ -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')
|
||||
|
||||
@@ -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);
|
||||
@@ -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')
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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")
|
||||
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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:");
|
||||
@@ -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')
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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")
|
||||
|
||||
|
||||
40
var/spack/repos/builtin/packages/clara/package.py
Normal file
40
var/spack/repos/builtin/packages/clara/package.py
Normal 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'))
|
||||
@@ -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")
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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'
|
||||
|
||||
34
var/spack/repos/builtin/packages/find-circ/package.py
Normal file
34
var/spack/repos/builtin/packages/find-circ/package.py
Normal 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)
|
||||
@@ -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
|
||||
|
||||
19
var/spack/repos/builtin/packages/genrich/package.py
Normal file
19
var/spack/repos/builtin/packages/genrich/package.py
Normal 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)
|
||||
@@ -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')
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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')
|
||||
|
||||
@@ -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."""
|
||||
|
||||
@@ -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')
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
37
var/spack/repos/builtin/packages/mg/package.py
Normal file
37
var/spack/repos/builtin/packages/mg/package.py
Normal 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')
|
||||
16
var/spack/repos/builtin/packages/miranda/package.py
Normal file
16
var/spack/repos/builtin/packages/miranda/package.py
Normal 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')
|
||||
@@ -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')
|
||||
|
||||
@@ -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')
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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'))
|
||||
|
||||
18
var/spack/repos/builtin/packages/py-google-pasta/package.py
Normal file
18
var/spack/repos/builtin/packages/py-google-pasta/package.py
Normal 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'))
|
||||
30
var/spack/repos/builtin/packages/py-grpcio/package.py
Normal file
30
var/spack/repos/builtin/packages/py-grpcio/package.py
Normal 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)
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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')
|
||||
|
||||
25
var/spack/repos/builtin/packages/py-rnacocktail/package.py
Normal file
25
var/spack/repos/builtin/packages/py-rnacocktail/package.py
Normal 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'))
|
||||
@@ -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')
|
||||
|
||||
@@ -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:')
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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')
|
||||
@@ -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->__(
|
||||
@@ -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->__(
|
||||
@@ -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);
|
||||
@@ -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:')
|
||||
|
||||
@@ -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");
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = []
|
||||
|
||||
Reference in New Issue
Block a user