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