From 24942e7979838c84b526d4b411b5f44dea7174ce Mon Sep 17 00:00:00 2001
From: Eleni Mathioulaki <emathioulaki@athenarc.gr>
Date: Fri, 28 Feb 2025 13:57:43 +0000
Subject: [PATCH 1/5] feat(py-annarchy): add version 4.8.2.3
---
packages/py-annarchy/package.py | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/packages/py-annarchy/package.py b/packages/py-annarchy/package.py
index bf672bb8a..4368d1e01 100644
--- a/packages/py-annarchy/package.py
+++ b/packages/py-annarchy/package.py
@@ -13,14 +13,16 @@ class PyAnnarchy(PythonPackage):
"""
homepage = "https://annarchy.readthedocs.io/en/latest/"
- pypi = 'ANNarchy/ANNarchy-4.7.2.5.tar.gz'
+ pypi = 'ANNarchy/annarchy-4.8.2.3.tar.gz'
maintainers = ['dionperd', 'paulapopa', "ldomide"]
+ version('4.8.2.3', '25a4d09905983ce27f7c6b4dd67a54831ea233b6b28943cb67dafd3c351d1dde')
version('4.7.2.5', 'b7ef91cc4415e078e386eb30e595922c9f0ef90ad1340a12dc5ca46e728a7bb2')
# python_requires
- depends_on('python@3.8:3.10', type=('build', 'run'))
+ depends_on('python@3.8:3.10', when='@:4.7.2', type=('build', 'run'))
+ depends_on('python@3.10:', when='@4.7.3:', type=('build', 'run'))
# setup_requires
depends_on('py-pip', type='build')
@@ -34,6 +36,8 @@ class PyAnnarchy(PythonPackage):
depends_on('py-sympy', type=('build', 'run')) # >= 1.6
depends_on('py-matplotlib', type=('build', 'run')) # >= 2.0
depends_on('py-cython', type=('build', 'run')) # >= 0.20
+ depends_on('py-tqdm', when='@4.8:', type=('build', 'run'))
+ depends_on('py-h5py', when='@4.8.2:', type=('build', 'run'))
# Highly recommended:
# pyqtgraph >= 0.9.8 (to visualize some of the provided examples. The OpenGL backend can also be needed)
--
GitLab
From adeb31bff4d4e583174ffa18cbe3bf09dc1c991e Mon Sep 17 00:00:00 2001
From: Eleni Mathioulaki <emathioulaki@athenarc.gr>
Date: Fri, 28 Feb 2025 13:59:45 +0000
Subject: [PATCH 2/5] feat(py-tvb-multiscale): update dependencies
---
packages/py-tvb-multiscale/package.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/packages/py-tvb-multiscale/package.py b/packages/py-tvb-multiscale/package.py
index 7b78790a8..b57b8f03b 100644
--- a/packages/py-tvb-multiscale/package.py
+++ b/packages/py-tvb-multiscale/package.py
@@ -21,7 +21,7 @@ class PyTvbMultiscale(PythonPackage):
patch('tvb-multiscale-2.1.0-version-pep440.patch', when='@2.1.0.ebrains')
# python_requires
- depends_on('python@3.8:3.10', type=('build', 'run'))
+ depends_on('python@3.8:3.11', type=('build', 'run'))
# setup_requires
depends_on('py-pip', type='build')
@@ -39,7 +39,7 @@ class PyTvbMultiscale(PythonPackage):
depends_on('py-ray', type=('build', 'run'))
# Test dependency
- depends_on('py-pytest@:7.1', type='test')
+ depends_on('py-pytest', type='test')
@run_after('install')
@on_package_attributes(run_tests=True)
--
GitLab
From ac3e82b9b42a7a2b5ebf97e4a222a7e827e9dbae Mon Sep 17 00:00:00 2001
From: Eleni Mathioulaki <emathioulaki@athenarc.gr>
Date: Fri, 28 Feb 2025 13:58:58 +0000
Subject: [PATCH 3/5] feat(py-ray): add version 2.30.0
---
packages/py-ray/package.py | 23 ++++++++++++++---------
1 file changed, 14 insertions(+), 9 deletions(-)
diff --git a/packages/py-ray/package.py b/packages/py-ray/package.py
index 82ba34c49..f1bf4b720 100644
--- a/packages/py-ray/package.py
+++ b/packages/py-ray/package.py
@@ -15,7 +15,10 @@ class PyRay(PythonPackage):
license("Apache-2.0")
- # begin EBRAINS (added): ECM new node-js -> new react whatever -> new py-ray
+ # begin EBRAINS (added): new versions
+ # new version to allow building with newer bazel
+ version("2.30.0", sha256="854d549a77f0b0e810d1e9a18e7becf984279e2a0bfad5bed508f500ff770e34")
+ # ECM: new node-js -> new react whatever -> new py-ray
version("2.4.0", sha256="b0110a84630b2f6d10cd13e8ac955875c3658373eb6cabcc77cf316de3c28066")
# end EBRAINS
version("2.0.1", sha256="b8b2f0a99d2ac4c001ff11c78b4521b217e2a02df95fb6270fd621412143f28b")
@@ -30,18 +33,20 @@ class PyRay(PythonPackage):
conflicts("node-js@17:", when="@:2.0.1")
# end EBRAINS
- # begin EBRAINS (added): ElM add missing dependencies/constraints for added version 2.4.0
+ # begin EBRAINS (added): ElM add missing dependencies/constraints for added versions
+ depends_on("python@3.9:3.12", when="@2.30.0", type=("build", "run"))
depends_on("python@3.6:3.11", when="@2.4.0", type=("build", "run"))
+ depends_on("bazel@6.5", when="@2.30.0", type="build")
depends_on("bazel@5", when="@2.4.0", type="build")
- depends_on("py-cython@0.29.32:", when="@2.4.0", type="build")
+ depends_on("py-cython@0.29.32:", when="@2.4.0:", type="build")
depends_on("py-attrs", when="@2.4.0", type=("build", "run"))
- depends_on("py-click@7.0:", when="@2.4.0", type=("build", "run"))
- depends_on("py-grpcio@1.32:1.51.3", when="@2.4.0 ^python@:3.9", type=("build", "run"))
- depends_on("py-grpcio@1.42:1.51.3", when="@2.4.0 ^python@3.10:", type=("build", "run"))
- depends_on("py-protobuf@3.15.3:", when="@2.4.0", type=("build", "run"))
+ depends_on("py-click@7.0:", when="@2.4.0:", type=("build", "run"))
+ depends_on("py-grpcio@1.32:1.51.3", when="@2.4.0: ^python@:3.9", type=("build", "run"))
+ depends_on("py-grpcio@1.42:1.51.3", when="@2.4.0: ^python@3.10:", type=("build", "run"))
+ depends_on("py-protobuf@3.15.3:", when="@2.4.0:", type=("build", "run"))
depends_on("py-frozenlist", when="@2.4.0", type=("build", "run"))
depends_on("py-typing-extensions", when="@2.4.0 ^python@:3.7", type=("build", "run"))
- depends_on("py-virtualenv@20.0.24:", when="@2.4.0", type=("build", "run"))
+ depends_on("py-virtualenv@20.0.24:", when="@2.4.0:", type=("build", "run"))
# end EBRAINS
depends_on("python@3.6:3.10", when="@2.0.1", type=("build", "run"))
@@ -113,7 +118,7 @@ class PyRay(PythonPackage):
build_directory = "python"
# begin EBRAINS (added): fix boost download url
- patch("fix-url-boost.patch", when="@2.4.0:")
+ patch("fix-url-boost.patch", when="@2.4.0")
# end EBRAINS
def patch(self):
--
GitLab
From 8abdb5d361ad437d42d9b337b58e5984dd4ea07e Mon Sep 17 00:00:00 2001
From: Eleni Mathioulaki <emathioulaki@athenarc.gr>
Date: Fri, 28 Feb 2025 14:03:27 +0000
Subject: [PATCH 4/5] feat(py-pyspike): patch for py-cython@3
and use source from github, because pypi archives are already patched
---
packages/py-pyspike/cython3.patch | 24 ++++++++++++++++++++++++
packages/py-pyspike/package.py | 14 ++++++++------
2 files changed, 32 insertions(+), 6 deletions(-)
create mode 100644 packages/py-pyspike/cython3.patch
diff --git a/packages/py-pyspike/cython3.patch b/packages/py-pyspike/cython3.patch
new file mode 100644
index 000000000..e3e62eaf9
--- /dev/null
+++ b/packages/py-pyspike/cython3.patch
@@ -0,0 +1,24 @@
+diff --git a/setup.py b/setup.py
+index 297746d..b52cf8b 100644
+--- a/setup.py
++++ b/setup.py
+@@ -21,11 +21,14 @@ else:
+ use_cython = True
+
+
+-class numpy_include(object):
+- """Defers import of numpy until install_requires is through"""
+- def __str__(self):
+- import numpy
+- return numpy.get_include()
++class numpy_include(os.PathLike):
++ """Defers import of numpy until install_requires is through"""
++ def __str__(self):
++ import numpy
++ return numpy.get_include()
++
++ def __fspath__(self):
++ return str(self)
+
+
+ if os.path.isfile("pyspike/cython/cython_add.c") and \
diff --git a/packages/py-pyspike/package.py b/packages/py-pyspike/package.py
index 9fbe4128e..ddf17e7e2 100644
--- a/packages/py-pyspike/package.py
+++ b/packages/py-pyspike/package.py
@@ -12,15 +12,17 @@ class PyPyspike(PythonPackage):
"""
homepage = "https://github.com/mariomulansky/PySpike"
- pypi = 'pyspike/pyspike-0.7.0.tar.gz'
+ url = 'https://github.com/mariomulansky/PySpike/archive/refs/tags/0.8.0.tar.gz'
maintainers = ['dionperd', 'paulapopa', "ldomide"]
- version('0.8.0', '76137b861ed531608aaf55af1a5ebf8a586e98653dab2467b4c1da7b2d9aa4e5')
- version('0.7.0', 'a5d1c1472d3e7c3ac85c8a4ce069d750cca02acf18f185677b29c0a757e78efe')
+ version('0.8.0', '199d41af097e0b6e6583e22d4a9c3cedab51ceba4da2d940682ffefe8120a414')
+ version('0.7.0', '47031ba10a5726845982b62dcae970449ca50c4be9985a1ed0d2a021456bf25a')
+
+ patch("cython3.patch", when="^py-cython@3:")
# python_requires
- depends_on('python@3.8:3.10', type=('build', 'run'))
+ depends_on('python@3.8:', type=('build', 'run'))
# setup_requires
depends_on('py-pip', type='build')
@@ -31,10 +33,10 @@ class PyPyspike(PythonPackage):
depends_on('py-scipy', type=('build', 'run'))
depends_on('py-matplotlib', type=('build', 'run'))
depends_on('py-pytest', type=('build', 'run'))
- depends_on('py-cython@:2', type=('build', 'run'))
+ depends_on('py-cython', type=('build', 'run'))
# Test dependency
- depends_on('py-pytest@:7.1', type='test')
+ depends_on('py-pytest', type='test')
@run_after('install')
@on_package_attributes(run_tests=True)
--
GitLab
From 5401c483ae6917133abf572a58249989683a08d0 Mon Sep 17 00:00:00 2001
From: Eleni Mathioulaki <emathioulaki@athenarc.gr>
Date: Wed, 5 Mar 2025 13:26:58 +0000
Subject: [PATCH 5/5] DO-NOT-MERGE: don't skip py-tvb-multiscale
---
spack.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/spack.yaml b/spack.yaml
index 738c774ac..e278c469b 100644
--- a/spack.yaml
+++ b/spack.yaml
@@ -55,7 +55,7 @@ spack:
- py-tvb-framework@2.9
- py-tvb-contrib@2.9.1
- py-tvb-library@2.9.2
-# - py-tvb-multiscale@2.1.0.ebrains
+ - py-tvb-multiscale@2.1.0.ebrains
- py-tvb-widgets@2.1.0
- py-tvb-ext-bucket
- py-tvb-ext-unicore
--
GitLab