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 e02ea5b4154be3a0c45ee4f3717a9e84ec96caca..9b0cb883f320b0c2fb75b8ff2d2446e2e6126e66 100644 --- a/packages/arbor/package.py +++ b/packages/arbor/package.py @@ -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/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")