diff --git a/packages/arbor/package.py b/packages/arbor/package.py
index 2fd9bb8e67bfdd45e5ad5efb7fd256f8d11aae4b..56791d87b3bfa8f2bfc8addb4174eeda5f9564ce 100644
--- a/packages/arbor/package.py
+++ b/packages/arbor/package.py
@@ -12,15 +12,10 @@ 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.7/arbor-v0.7-full.tar.gz"
     maintainers = ["bcumming", "brenthuisman", "haampie", "schmitts"]
 
     version("master", branch="master", submodules=True)
-    version(
-        "0.8",
-        sha256="18df5600308841616996a9de93b55a105be0f59692daa5febd3a65aae5bc2c5d",
-        url="https://github.com/arbor-sim/arbor/releases/download/v0.8/arbor-v0.8-full.tar.gz",
-    )
     version(
         "0.7",
         sha256="c3a6b7193946aee882bb85f9c38beac74209842ee94e80840968997ba3b84543",
@@ -36,6 +31,11 @@ class Arbor(CMakePackage, CudaPackage):
         sha256="290e2ad8ca8050db1791cabb6b431e7c0409c305af31b559e397e26b300a115d",
         url="https://github.com/arbor-sim/arbor/releases/download/v0.5.2/arbor-v0.5.2-full.tar.gz",
     )
+    version(
+        "0.5",
+        sha256="d0c8a4c7f97565d7c30493c66249be794d1dc424de266fc79cecbbf0e313df59",
+        url="https://github.com/arbor-sim/arbor/releases/download/v0.5/arbor-v0.5-full.tar.gz",
+    )
 
     variant(
         "assertions",
@@ -53,23 +53,20 @@ class Arbor(CMakePackage, CudaPackage):
     )
 
     # https://docs.arbor-sim.org/en/latest/install/build_install.html#compilers
-    conflicts("%gcc@:8")
-    conflicts("%clang@:9")
+    conflicts("%gcc@:8.3")
+    conflicts("%clang@:7")
     # Cray compiler v9.2 and later is Clang-based.
     conflicts("%cce@:9.1")
     conflicts("%intel")
 
-    depends_on("cmake@3.19:", type="build")
+    depends_on("cmake@3.12:", type="build")
 
     # 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("nlohmann-json")
     depends_on("random123")
+    depends_on("cuda@10:", when="+cuda")
     depends_on("libxml2", when="+neuroml")
-    with when("+cuda"):
-        depends_on("cuda@10:")
-        depends_on("cuda@11:", when="@0.7.1:")
 
     # mpi
     depends_on("mpi", when="+mpi")
@@ -82,7 +79,6 @@ class Arbor(CMakePackage, CudaPackage):
     with when("+python"):
         depends_on("py-pybind11@2.6:", type=("build"))
         depends_on("py-pybind11@2.8.1:", when="@0.5.3:", type=("build"))
-        depends_on("py-pybind11@2.10.1:", when="@0.7.1:", type=("build"))
 
     # sphinx based documentation
     depends_on("python@3.7:", when="+doc", type="build")
diff --git a/spack.yaml b/spack.yaml
index 41d50bbfc460c1ce15355e925d93855cad756a9b..aff6de997ff8c46976385a6dd362776aa2e1de6e 100644
--- a/spack.yaml
+++ b/spack.yaml
@@ -20,7 +20,7 @@ spack:
     #- py-version-query
     # EBRAINS simulators
     - nest@3.3 +python +gsl +mpi
-    - arbor +python +mpi ^python@3.7:
+    - arbor +python +mpi ^python@3:3.9
     - neuron +mpi
     - py-pynn@0.10.1 +mpi
     - py-brian2