diff --git a/packages/ambertools/package.py b/packages/ambertools/package.py index 87e4c39e822c3df1fa37fa081b43dfdf3e0d5f62..e4aa91175d1037fcd986cd5967ad3eeb038a27a5 100644 --- a/packages/ambertools/package.py +++ b/packages/ambertools/package.py @@ -19,7 +19,7 @@ class Ambertools (CMakePackage): depends_on("flex", type="build") # This is necessary for sure (experimentally tested) depends_on("bison", type="build") # This is necessary for sure (experimentally tested) depends_on("tcsh", type="build") - depends_on("zlib", type=("build", "run")) + depends_on("zlib", type=("build", "link", "run")) depends_on("bzip2", type=("build", "run")) depends_on("blas", type=("build", "run")) depends_on("lapack", type=("build", "run")) diff --git a/packages/arbor/package.py b/packages/arbor/package.py index 6f94d076431bda1df4c8b1664fa09485634513fb..9b0cb883f320b0c2fb75b8ff2d2446e2e6126e66 100644 --- a/packages/arbor/package.py +++ b/packages/arbor/package.py @@ -75,7 +75,7 @@ class Arbor(CMakePackage, CudaPackage): conflicts("%cce@:9.1") conflicts("%intel") - depends_on("cmake@3.19:", type="build") + depends_on("cmake@3.19:", type=("build", "run")) # misc dependencies depends_on("fmt@7.1:", when="@0.5.3:") # required by the modcc compiler @@ -89,7 +89,7 @@ class Arbor(CMakePackage, CudaPackage): depends_on("cuda@11:", when="@0.7.1:") # mpi - depends_on("mpi", when="+mpi") + depends_on("mpi", when="+mpi", type=("build", "run")) depends_on("py-mpi4py", when="+mpi+python", type=("build", "run")) # python (bindings) diff --git a/packages/libvips/package.py b/packages/libvips/package.py index c3ae509aaab4138d01b15c20556ad1ea8fb31d25..0f7a575bc813cdcc44b9e3c5454cccaaf8dd7ba2 100644 --- a/packages/libvips/package.py +++ b/packages/libvips/package.py @@ -32,6 +32,8 @@ class Libvips(AutotoolsPackage): # TODO: Add more variants! + depends_on("pkgconfig", type="build") + depends_on("glib") depends_on("expat") diff --git a/packages/netlib-xblas/package.py b/packages/netlib-xblas/package.py new file mode 100644 index 0000000000000000000000000000000000000000..01bdb992d37b1689770a7b43c4875723c5f09d3b --- /dev/null +++ b/packages/netlib-xblas/package.py @@ -0,0 +1,72 @@ +# Copyright 2013-2023 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.package import * + + +class NetlibXblas(AutotoolsPackage): + """XBLAS is a reference implementation for extra precision BLAS. + + XBLAS is a reference implementation for the dense and banded BLAS + routines, along with extended and mixed precision version. Extended + precision is only used internally; input and output arguments remain + the same as in the existing BLAS. Extra precisions is implemented as + double-double (i.e., 128-bit total, 106-bit significand). Mixed + precision permits some input/output arguments of different types + (mixing real and complex) or precisions (mixing single and + double). This implementation is proof of concept, and no attempt was + made to optimize performance; performance should be as good as + straightforward but careful code written by hand.""" + + homepage = "https://www.netlib.org/xblas" + url = "https://www.netlib.org/xblas/xblas.tar.gz" + + version("1.0.248", sha256="b5fe7c71c2da1ed9bcdc5784a12c5fa9fb417577513fe8a38de5de0007f7aaa1") + + variant("fortran", default=True, description="Build Fortran interfaces") + variant("plain_blas", default=True, description="As part of XBLAS, build plain BLAS routines") + + provides("blas", when="+plain_blas") + + depends_on("m4", type="build") + + @property + def libs(self): + return find_libraries(["libxblas"], root=self.prefix, shared=False, recursive=True) + + def configure_args(self): + args = [] + + if self.spec.satisfies("~fortran"): + args += ["--disable-fortran"] + + if self.spec.satisfies("~plain_blas"): + args += ["--disable-plain-blas"] + + return args + + def install(self, spec, prefix): + mkdirp(prefix.lib) + install("libxblas.a", prefix.lib) + + if self.spec.satisfies("+plain_blas"): + # XBLAS should be a drop-in BLAS replacement + install("libxblas.a", join_path(prefix.lib, "libblas.a")) + + headers = [ + "f2c-bridge.h", + "blas_dense_proto.h", + "blas_enum.h", + "blas_extended.h", + "blas_extended_private.h", + "blas_extended_proto.h", + "blas_fpu.h", + "blas_malloc.h", + ] + mkdirp(prefix.include) + for h in headers: + install(join_path("src", h), prefix.include) + + return diff --git a/packages/py-elephant/package.py b/packages/py-elephant/package.py index 69bb9a9fdba060b1ca64b191acb89ab4c15f651f..fce120077bf513eff4fe5c23dcc6af7770b5eb56 100644 --- a/packages/py-elephant/package.py +++ b/packages/py-elephant/package.py @@ -16,6 +16,7 @@ class PyElephant(PythonPackage): maintainers = ["moritzkern"] version('develop', branch='master') + version("1.0.0", sha256="b1471228821a5b8f3a3137f9facc1a7f2dc355b8e3300490bdc05f0466b80b27") version("0.14.0", sha256="02ce3b2a8d08dc19828f95384551339ea0946bc405c1db9aace54135417c2b0f") version("0.13.0", sha256="2c6463cf9ace41631f2af196c5b80b468bf1c4b264d3a6b1ea0fb587d9e7dd67") version("0.12.0", sha256="81f8d668f92d8688344bb7a9c5abaa8438d824560c935a411e6e36ddf7dc7c72") @@ -41,7 +42,6 @@ class PyElephant(PythonPackage): depends_on("py-numpy@1.8.2:", type=("build", "run"), when="@0.3.0:0.4.1") depends_on("py-quantities@0.10.1:0.13.0", type=("build", "run"), when="@0.3.0:0.4.1") depends_on("py-scipy@0.14.0:", type=("build", "run"), when="@0.3.0:0.4.1") - depends_on("py-pandas@0.14.1:", type=("build", "run"), when="+extras") depends_on("py-numpydoc@0.5:", type=("build", "run"), when="@0.3.0:0.8.0+docs") depends_on("py-numpydoc@1.1.0:", type=("build", "run"), when="@0.9.0:+docs") depends_on("py-sphinx@1.2.2:", type=("build", "run"), when="@0.3.0:0.6.0+docs") @@ -55,7 +55,7 @@ class PyElephant(PythonPackage): depends_on("py-sphinx-tabs@1.3.0:", type=("build", "run"), when="@0.9.0:+docs") depends_on("py-matplotlib@3.1.0:", type=("build", "run"), when="@0.8.0+docs") depends_on("py-matplotlib@3.3.2:", type=("build", "run"), when="@0.9.0:+docs") - depends_on("py-pandas@0.18.0:", type=("build", "run"), when="+extras") + depends_on("py-pandas@0.18.0:", type=("build", "run"), when="@0.8.0:0.14.0+extras") depends_on("py-scikit-learn@0.23.2:", type=("build", "run"), when="+extras") depends_on("py-statsmodels@0.12.1:", type=("build", "run"), when="+extras") depends_on("py-jinja2@2.11.2:", type=("build", "run"), when="+extras") @@ -66,7 +66,7 @@ class PyElephant(PythonPackage): depends_on("py-numpy@1.18.1:", type=("build", "run"), when="@0.12.0:") depends_on("py-numpy@1.18.1:", type=("build", "run"), when="@develop") depends_on("py-quantities@0.12.1:0.13.0", type=("build", "run"), when="@0.6.4:0.11.2") - depends_on("py-quantities@0.14.0:", type=("build", "run"), when="@develop") + depends_on("py-quantities@0.14.1:", type=("build", "run"), when="@develop") depends_on("py-quantities@0.14.1:", type=("build", "run"), when="@0.12.0:") depends_on("py-scipy@1.5.4:", type=("build", "run"), when="@0.6.4:") depends_on("py-six@1.10.0:", type=("build", "run"), when="@0.6.4:") diff --git a/packages/r-rgsl/package.py b/packages/r-rgsl/package.py index d7796805ea3fc29606fb33805b450d4d9efb31d7..f51d0dd52232a7e87a92705be1ade9c4b68afa5d 100644 --- a/packages/r-rgsl/package.py +++ b/packages/r-rgsl/package.py @@ -21,3 +21,4 @@ class RRgsl(RPackage): # GNU Scientific Library: https://www.gnu.org/software/gsl # spack: https://spack.readthedocs.io/en/latest/package_list.html#gsl depends_on("gsl") + depends_on("pkgconfig") diff --git a/spack.yaml b/spack.yaml index ef79cebf5e2ef4efbe13cddbd786df9a3815b4e0..f9f0ca6092da120a3cede98af893ee69ea0a320d 100644 --- a/spack.yaml +++ b/spack.yaml @@ -22,7 +22,7 @@ spack: - py-ebrains-drive@0.5.1 - py-ebrains-kg-core@0.9.15 - py-efel@4.0.4 - - py-elephant@0.14.0 + - py-elephant@1.0.0 - py-fairgraph@0.11.1 - py-frites@0.4.4 - py-hbp-archive@1.1.1