diff --git a/packages/arbor/package.py b/packages/arbor/package.py
index 2fd9bb8e67bfdd45e5ad5efb7fd256f8d11aae4b..34a30425b85d0185301a52855a1786444ab8e264 100644
--- a/packages/arbor/package.py
+++ b/packages/arbor/package.py
@@ -12,10 +12,15 @@ class Arbor(CMakePackage, CudaPackage):
 
     homepage = "https://arbor-sim.org"
     git = "https://github.com/arbor-sim/arbor.git"
-    url = "https://github.com/arbor-sim/arbor/releases/download/v0.8/arbor-v0.8-full.tar.gz"
+    url = "https://github.com/arbor-sim/arbor/releases/download/v0.8.1/arbor-v0.8.1-full.tar.gz"
     maintainers = ["bcumming", "brenthuisman", "haampie", "schmitts"]
 
     version("master", branch="master", submodules=True)
+    version(
+        "0.8.1",
+        sha256="caebf96676ace6a9c50436541c420ca4bb53f0639dcab825de6fa370aacf6baa",
+        url="https://github.com/arbor-sim/arbor/releases/download/v0.8.1/arbor-v0.8.1-full.tar.gz",
+    )
     version(
         "0.8",
         sha256="18df5600308841616996a9de93b55a105be0f59692daa5febd3a65aae5bc2c5d",
@@ -44,13 +49,18 @@ class Arbor(CMakePackage, CudaPackage):
     )
     variant("doc", default=False, description="Build documentation.")
     variant("mpi", default=False, description="Enable MPI support")
-    variant("neuroml", default=True, description="Build NeuroML support library.")
     variant("python", default=True, description="Enable Python frontend support")
     variant(
         "vectorize",
         default=False,
         description="Enable vectorization of computational kernels",
     )
+    variant(
+        "gpu_rng",
+        default=False,
+        description="Use GPU generated random numbers -- not bitwise equal to CPU version",
+        when="+cuda",
+    )
 
     # https://docs.arbor-sim.org/en/latest/install/build_install.html#compilers
     conflicts("%gcc@:8")
@@ -64,9 +74,9 @@ class Arbor(CMakePackage, CudaPackage):
     # misc dependencies
     depends_on("fmt@7.1:", when="@0.5.3:")  # required by the modcc compiler
     depends_on("fmt@9.1:", when="@0.7.1:")
+    depends_on("pugixml@1.11:", when="@0.7.1:")
     depends_on("nlohmann-json")
     depends_on("random123")
-    depends_on("libxml2", when="+neuroml")
     with when("+cuda"):
         depends_on("cuda@10:")
         depends_on("cuda@11:", when="@0.7.1:")
@@ -97,13 +107,13 @@ class Arbor(CMakePackage, CudaPackage):
         args = [
             self.define_from_variant("ARB_WITH_ASSERTIONS", "assertions"),
             self.define_from_variant("ARB_WITH_MPI", "mpi"),
-            self.define_from_variant("ARB_WITH_NEUROML", "neuroml"),
             self.define_from_variant("ARB_WITH_PYTHON", "python"),
             self.define_from_variant("ARB_VECTORIZE", "vectorize"),
         ]
 
         if "+cuda" in self.spec:
             args.append("-DARB_GPU=cuda")
+            args.append(self.define_from_variant("ARB_USE_GPU_RNG", "gpu_rng"))
 
         # query spack for the architecture-specific compiler flags set by its wrapper
         args.append("-DARB_ARCH=none")
diff --git a/packages/py-lfpy/package.py b/packages/py-lfpy/package.py
index e1cc4f5e4e808a01def1df5a5e62a5899ff230b2..f5c0f23bda1204d41a3ce573f472e220e6756cbb 100644
--- a/packages/py-lfpy/package.py
+++ b/packages/py-lfpy/package.py
@@ -7,14 +7,15 @@ class PyLfpy(PythonPackage):
     """
 
     homepage = 'https://LFPy.readthedocs.io'
-    pypi = "LFPy/LFPy-2.2.6.tar.gz"
+    pypi = "LFPy/LFPy-2.3.tar.gz"
     git = 'https://github.com/LFPy/LFPy.git'
 
     maintainers = ['espenhgn']
 
     version('2.2.6', sha256='105046db3628c6f72a6ab96ee8ac0f4833bf8eee428dcee50cb7f2926b755966')
+    version('2.3', sha256='29b2551fcd0391dcc5fa378750e2fcf58bec68f75568b590823c9b105da0c97e')
 
-    depends_on('python@3.7:', type=('build', 'run'))
+    depends_on('python@3.8:', type=('build', 'run'))
     depends_on('py-pip', type='build')
     depends_on('py-h5py', type=('build', 'run'))
     depends_on('py-matplotlib', type=('build', 'run'))
@@ -24,5 +25,5 @@ class PyLfpy(PythonPackage):
     depends_on('py-setuptools', type=('build', 'run'))
     depends_on('py-cython', type=('build', 'run'))
     depends_on('neuron@7.7.2:', type=('build', 'run'))
-    depends_on('py-lfpykit@0.4:', type=('build', 'run'))
+    depends_on('py-lfpykit@0.5:', type=('build', 'run'))
     depends_on('py-pytest', type='test')
diff --git a/packages/py-lfpykit/package.py b/packages/py-lfpykit/package.py
index 58d4b9a58452d8488d0be02bb8da5455f6cf2c4e..36963978a9b558c8044db997b433592617fdfd70 100644
--- a/packages/py-lfpykit/package.py
+++ b/packages/py-lfpykit/package.py
@@ -7,17 +7,18 @@ class PyLfpykit(PythonPackage):
     """
 
     homepage = 'https://LFPykit.readthedocs.io'
-    pypi = "LFPykit/LFPykit-0.4.tar.gz"
+    pypi = "LFPykit/LFPykit-0.5.tar.gz"
     git = 'https://github.com/LFPy/LFPykit.git'
 
     maintainers = ['espenhgn']
 
     version('0.4', sha256='ce92f5a987535ee72a76644bac90393eaa669d952f493dc388f3deb1c36f474d')
+    version('0.5', sha256='9a7ae80ad905bb8dd0eeab8517b43c3d5b4fff2b8766c9d5a36320a7a67bd545')
 
-    depends_on('python@3.7:', type=('build', 'run'))
+    depends_on('python@3.8:', type=('build', 'run'))
     depends_on('py-pip', type='build')
     depends_on('py-numpy', type=('build', 'run'))
     depends_on('py-scipy', type=('build', 'run'))
     depends_on('py-setuptools', type=('build', 'run'))
-    depends_on('py-meautility@1.5.0', type=('build', 'run'))
+    depends_on('py-meautility@1.5.1', type=('build', 'run'))
     depends_on('py-pytest', type='test')
diff --git a/packages/py-meautility/package.py b/packages/py-meautility/package.py
index c1faa09b75559f3446597dccbf2812ec43a5a1df..b1b08c5fa09433c25311c8acce25631cfe7378fb 100644
--- a/packages/py-meautility/package.py
+++ b/packages/py-meautility/package.py
@@ -6,14 +6,15 @@ class PyMeautility(PythonPackage):
     """
 
     homepage = 'https://meautility.readthedocs.io'
-    pypi = "MEAutility/MEAutility-1.5.0.tar.gz"
+    pypi = "MEAutility/MEAutility-1.5.1.tar.gz"
     git = 'https://github.com/alejoe91/MEAutility.git'
 
     maintainers = ['alejoe91']
 
     version('1.5.0', sha256='6bad687c2cb4d3668f15cddf247b06f4da56e9e4d80d6935977d003dbc1cb31b')
+    version('1.5.1', sha256='de12cc9c1772d3321e941af78e6bfb36cdcb5702a7b1272a852cc95f413bbfcb')
 
-    depends_on('python@3.7:', type=('build', 'run'))
+    depends_on('python@3.8:', type=('build', 'run'))
     depends_on('py-pip', type='build')
     depends_on('py-matplotlib', type=('build', 'run'))
     depends_on('py-numpy', type=('build', 'run'))
diff --git a/spack.yaml b/spack.yaml
index c507f2e320ef05496dcc0cb611d2c2645f86be3f..212e5e42ae7956cf7f9f378e1e29e744f7b0daa4 100644
--- a/spack.yaml
+++ b/spack.yaml
@@ -57,7 +57,7 @@ spack:
     - py-hbp-neuromorphic-platform@0.10.1
     - py-torch~cuda~rocm~valgrind~mkldnn~mpi~gloo+tensorpipe~onnx_ml@1.9.1 ^protobuf@:3.17.999
     - py-torchvision
-    - py-lfpy@2.2.6
+    - py-lfpy@2.3
     - py-elephant
     - py-frites
     - py-snudda