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 bf672bb8..4368d1e0 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 7b78790a..b57b8f03 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 82ba34c4..f1bf4b72 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 00000000..e3e62eaf --- /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 9fbe4128..ddf17e7e 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 738c774a..e278c469 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