From 5f484893aa5d24eee8173e658ea4fda5fba05bd6 Mon Sep 17 00:00:00 2001 From: Eleni Mathioulaki <emathioulaki@athenarc.gr> Date: Sun, 24 Sep 2023 13:04:20 +0200 Subject: [PATCH 01/16] py-ebrains-kg-core: update version --- packages/py-ebrains-kg-core/package.py | 1 + spack.yaml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/py-ebrains-kg-core/package.py b/packages/py-ebrains-kg-core/package.py index c6eff2c9..cfe76f49 100644 --- a/packages/py-ebrains-kg-core/package.py +++ b/packages/py-ebrains-kg-core/package.py @@ -15,6 +15,7 @@ class PyEbrainsKgCore(PythonPackage): maintainers = ["ioannistsanaktsidis", "olinux"] + version('0.9.15', sha256='c672815ebcd6968f090620f68d85f0fbf282a83636c3a1845b078ef5ac5a06be') version('0.9.14', sha256='e898761abb999b09e5da49b25d13ffcadebaec7acd87ed079abe23f3bb12a5e7') version('0.9.13', sha256='25e155e9eb6c516dd33e29d9ff433c996630989a0f017c5920b66fe5334f2d82') version('0.9.12', sha256='244e52dffaec425bf65cf2d3d697969ec9036aaa028bf47fdddfb4911282f484') diff --git a/spack.yaml b/spack.yaml index f6590cb0..0a5c1b8d 100644 --- a/spack.yaml +++ b/spack.yaml @@ -20,7 +20,7 @@ spack: - py-bluepymm@0.7.65 - py-bluepyopt@1.13.86 - py-ebrains-drive@0.5.1 - - py-ebrains-kg-core@0.9.14 + - py-ebrains-kg-core@0.9.15 - py-efel@4.0.4 - py-elephant@0.13.0 - py-fairgraph@0.11.1 -- GitLab From e6ad617969c04acb580b4ae09d62c955a7fa8bd2 Mon Sep 17 00:00:00 2001 From: Eleni Mathioulaki <emathioulaki@athenarc.gr> Date: Sun, 24 Sep 2023 13:07:09 +0200 Subject: [PATCH 02/16] py-hbp-neuromorphic-platform: update version --- packages/py-hbp-neuromorphic-platform/package.py | 1 + spack.yaml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/py-hbp-neuromorphic-platform/package.py b/packages/py-hbp-neuromorphic-platform/package.py index ef2ce85f..f68b345f 100644 --- a/packages/py-hbp-neuromorphic-platform/package.py +++ b/packages/py-hbp-neuromorphic-platform/package.py @@ -17,6 +17,7 @@ class PyHbpNeuromorphicPlatform(PythonPackage): maintainers = ['apdavison'] + version('0.10.2', sha256='3e29175636385f2f561b8095e6225edc41be7f05c6a21232872ef662e6b7ce56') version('0.10.1', sha256='76b3acdbc63c901d158bad6d74e26f8a4ad7b10a261c1d51f1e9bf482766bae7') depends_on('python@3.5:') diff --git a/spack.yaml b/spack.yaml index f6590cb0..42e052b0 100644 --- a/spack.yaml +++ b/spack.yaml @@ -26,7 +26,7 @@ spack: - py-fairgraph@0.11.1 - py-frites@0.4.4 - py-hbp-archive@1.1.1 - - py-hbp-neuromorphic-platform@0.10.1 + - py-hbp-neuromorphic-platform@0.10.2 - py-hbp-validation-client@0.8.2 - py-hippounit@1.3.6 - py-lfpy@2.3 -- GitLab From 5adf7b6a1cca75e9b18f9c9a37535ef93a05fa0e Mon Sep 17 00:00:00 2001 From: Eleni Mathioulaki <emathioulaki@athenarc.gr> Date: Sun, 24 Sep 2023 13:52:25 +0200 Subject: [PATCH 03/16] py-nestml: update version --- packages/py-nestml/package.py | 1 + spack.yaml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/py-nestml/package.py b/packages/py-nestml/package.py index 48dc4f84..7e3329d5 100644 --- a/packages/py-nestml/package.py +++ b/packages/py-nestml/package.py @@ -18,6 +18,7 @@ class PyNestml(PythonPackage): maintainers = ['clinssen', 'pnbabu', 'jougs'] + version('5.3.0', sha256='8de543d7d3a166cd4d6a0d536a2d4e769513bbf8d7aeaf64458e9d9c21fe546e', expand=False) version('5.2.0', sha256='acb703bf9c7f70304bd5d547dccd6a6a219f8acb298a6412df779b808241eb14', expand=False) depends_on('python@3.8:', type=('build', 'run')) diff --git a/spack.yaml b/spack.yaml index f6590cb0..efca9bc3 100644 --- a/spack.yaml +++ b/spack.yaml @@ -33,7 +33,7 @@ spack: - py-lfpykit@0.5.1 - py-libsonata@0.1.22 - py-neo@0.12.0 - - py-nestml@5.2.0 + - py-nestml@5.3.0 - py-netpyne@1.0.5 - py-neurom@3.2.2 - py-neuror@1.4.2 -- GitLab From 9168bfac9babd94125de27f6331585a3c373e693 Mon Sep 17 00:00:00 2001 From: Eleni Mathioulaki <emathioulaki@athenarc.gr> Date: Sun, 24 Sep 2023 13:57:26 +0200 Subject: [PATCH 04/16] py-siibra: update version --- packages/py-siibra/package.py | 7 +++++++ spack.yaml | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/py-siibra/package.py b/packages/py-siibra/package.py index a64b1773..b68c20d4 100644 --- a/packages/py-siibra/package.py +++ b/packages/py-siibra/package.py @@ -9,6 +9,13 @@ class PySiibra(PythonPackage): maintainers = ['x.gui@fz-juelich.de', 's.koehnen@fz-juelich.de', 't.dickscheid@fz-juelich.de'] + version("0.4a66", sha256="75bd925159d2c4bc904b97824ab8d48a4162f07c11ae0ee4d358427bd3badccb") + version("0.4a64", sha256="651f3382c7e3407261ca71921614e3bf64f3205c1b7072ce0bb482d65fa73be3") + version("0.4a63", sha256="225c2cbf98ec57bee4063176f868a2a10ab153ac917e162843d8a26a38ba78b4") + version("0.4a62", sha256="4ff6f36e7bd12878d71c148cdf50ac3434c50248abe61d610cb01adad129eb52") + version("0.4a61", sha256="9ebb3402a4789935c3f75e7a812d8d2500c183187d4ae99cac9b554f4dbe84f3") + version("0.4a59", sha256="e878b424dfece6c379146674c2fe0875ec290811aa6a8323ef1404d25c0a9010") + version("0.4a58", sha256="f24660f094932628f088ef3f9575b196fd360bd74a1e1c8e2627d985ed35e210") version("0.4a57", sha256="53983c4baab84abe5dd6928c320ce87433cab02b5ed992995f0a17661c93dbff") version("0.4a56", sha256="4c03d8a94c73a233e216103fa7090d057db03b1806027fabde38e8f83b852d78") version("0.4a54", sha256="114765afe906383c7e6b930f1df7e26ddc15a6f295e2eab83a861eaba6d8f57f") diff --git a/spack.yaml b/spack.yaml index f6590cb0..e2ee5086 100644 --- a/spack.yaml +++ b/spack.yaml @@ -42,7 +42,7 @@ spack: - py-pyunicore@0.15.0 - py-quantities-scidash@0.12.4.3 - py-quantities@0.14.1 - - py-siibra@0.4a57 + - py-siibra@0.4a66 - py-snudda@1.4.71 - py-spynnaker@7.0.0 - py-tvb-contrib@2.8.2 -- GitLab From bee3518760d98da25612d9b75aa25bf8418c34c9 Mon Sep 17 00:00:00 2001 From: Eleni Mathioulaki <emathioulaki@athenarc.gr> Date: Sun, 24 Sep 2023 14:01:08 +0200 Subject: [PATCH 05/16] r-rgsl: update version --- packages/r-rgsl/package.py | 3 ++- spack.yaml | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/r-rgsl/package.py b/packages/r-rgsl/package.py index cd554986..d7796805 100644 --- a/packages/r-rgsl/package.py +++ b/packages/r-rgsl/package.py @@ -15,7 +15,8 @@ class RRgsl(RPackage): maintainers = ["akramer", "oliviaeriksson"] - version("0.1", sha256="dd6a14dda8731f4cf32149c8a9842e4e2ba424c8404f4d6839108153b20e4c3e") + version("0.1.1", sha256="a2d8fdbbb6c4f9937d6abaa56d912418b42931ae67067357e9bf5a032cc1a833") + version("0.1", sha256="dd6a14dda8731f4cf32149c8a9842e4e2ba424c8404f4d6839108153b20e4c3e") # GNU Scientific Library: https://www.gnu.org/software/gsl # spack: https://spack.readthedocs.io/en/latest/package_list.html#gsl diff --git a/spack.yaml b/spack.yaml index f6590cb0..7162b620 100644 --- a/spack.yaml +++ b/spack.yaml @@ -54,7 +54,7 @@ spack: - py-tvb-storage@2.8.1 - py-viziphant@0.3.0 - pynn-brainscales@7.0-rc1 - - r-rgsl@0.1 + - r-rgsl@0.1.1 - r-sbtabvfgen@0.1 - r-uqsa@2.2 - sda@7.3.3d -- GitLab From 6a8aab2aa41e1dd44e334033b062072ddf0ecbce Mon Sep 17 00:00:00 2001 From: Eleni Mathioulaki <emathioulaki@athenarc.gr> Date: Sun, 24 Sep 2023 16:41:07 +0200 Subject: [PATCH 06/16] update bbp packages from upstream --- packages/py-libsonata/package.py | 1 + packages/py-morph-tool/package.py | 12 ++++++++---- packages/py-morphio/package.py | 1 + packages/py-neuror/package.py | 10 ++++++---- spack.yaml | 4 ++-- 5 files changed, 18 insertions(+), 10 deletions(-) diff --git a/packages/py-libsonata/package.py b/packages/py-libsonata/package.py index 7478f1d6..ed0644c3 100644 --- a/packages/py-libsonata/package.py +++ b/packages/py-libsonata/package.py @@ -18,6 +18,7 @@ class PyLibsonata(PythonPackage): submodules = True version("develop", branch="master", get_full_repo=True) + version("0.1.23", sha256="815aac5bdaa5d025b5f3558ac4d3acb9ebcb070594109af4c0844f47ec701c1d") version("0.1.22", sha256="4adbb32ed2fac5d3c74bde03a5e2adb319724d324318a2a7dc2ef3c30f817b2c") version("0.1.21", sha256="5b280d82cb21a745d9cdb736c00446e0209494c21d2d17a2c878fabf23a08b68") version("0.1.20", sha256="f2e63a26dcf045bb7424e236e12f9b9ef8c46c356e953d26555f313f5763651e") diff --git a/packages/py-morph-tool/package.py b/packages/py-morph-tool/package.py index f639ba21..dbe42d14 100644 --- a/packages/py-morph-tool/package.py +++ b/packages/py-morph-tool/package.py @@ -13,11 +13,14 @@ class PyMorphTool(PythonPackage): homepage = "https://github.com/BlueBrain/morph-tool" git = "https://github.com/BlueBrain/morph-tool.git" - pypi = "morph-tool/morph-tool-2.4.1.tar.gz" + pypi = "morph-tool/morph-tool-2.9.1.tar.gz" version("develop", branch="master") + version("2.9.1", sha256="305e9456c8047726588b23dfa070eb95ccbe5573e9fea3e0a83dc93eacdf61dc") version("2.9.0", sha256="c60d4010e17ddcc3f53c864c374fffee05713c8f8fd2ba4eed7706041ce1fa47") + variant("neuron", default=False, description="Enable additional neuron support") + depends_on("py-setuptools", type=("build", "run")) depends_on("py-click@6.7:", type=("build", "run")) @@ -28,9 +31,10 @@ class PyMorphTool(PythonPackage): depends_on("py-xmltodict@0.12:", type=("build", "run")) depends_on("py-plotly@4.1:", type=("build", "run")) - depends_on("py-dask+bag@2.19:", type=("build", "run")) + depends_on("py-dask@2.19:", type=("build", "run")) depends_on("neuron+python@7.8:", type=("build", "run")) - depends_on("py-bluepyopt@1.9.37:", type=("build", "run")) + depends_on("py-bluepyopt@1.9.37:", type=("build", "run"), when="+neuron") depends_on("py-neurom@3.0:3.999,develop", type=("build", "run")) - depends_on("py-morphio@3.0:3.999,develop", type=("build", "run")) + depends_on("py-morphio@3.3.6:3,develop", type=("build", "run"), when="@2.9.1:") + depends_on("py-morphio@3.0:3,develop", type=("build", "run"), when="@2.9.0") diff --git a/packages/py-morphio/package.py b/packages/py-morphio/package.py index 5a08dfe8..f1c61414 100644 --- a/packages/py-morphio/package.py +++ b/packages/py-morphio/package.py @@ -18,6 +18,7 @@ class PyMorphio(PythonPackage): version("develop", branch="master", submodules=True) version("unifurcation", branch="unifurcation", submodules=True) + version("3.3.6", sha256="0f2e55470d92a3d89f2141ae905ee104fd16257b93dafb90682d90171de2f4e6") version("3.3.5", sha256="9e6cfebaea32080131b2b08a4a32dfbe92b18427a3e557861e27c4131f7542ac") version("3.3.4", sha256="b70c6884e9b835560501f798c75c9cc7eaf3162cba1d930b5a9b854bb9ea60dc") version("3.3.3", sha256="f6d91970cfd734b2e5fb8f9239a0bfa00519fe082dd8e403e4cc204dbdf0a9fa") diff --git a/packages/py-neuror/package.py b/packages/py-neuror/package.py index b9273ee3..d84d202d 100644 --- a/packages/py-neuror/package.py +++ b/packages/py-neuror/package.py @@ -5,6 +5,7 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) + from spack.package import * @@ -16,17 +17,18 @@ class PyNeuror(PythonPackage): pypi = "neuror/NeuroR-1.2.3.tar.gz" version("develop", branch="master") - version("1.4.2", sha256="f5e18ebddf59a60ce650c24eb49042057cf97990d63aee3ceb58b7acff823255") + version("1.6.4", sha256="a65c0e1814c38326a344f03c1f5f92ab4db721c5541888b2acb9ffc5a7adac50") depends_on("py-setuptools", type=("build", "run")) depends_on("py-click@6.7:", type=("build", "run")) + depends_on("py-jsonschema", type=("build", "run")) depends_on("py-matplotlib@2.2.3:", type=("build", "run")) depends_on("py-morph-tool@2.9.0:2.999", type=("build", "run")) - depends_on("py-morphio@3.0:3.999", type=("build", "run")) - depends_on("py-neurom@3.0:3.999", type=("build", "run")) + depends_on("py-morphio@3.0.0:3.999", type=("build", "run")) + depends_on("py-neurom@3.0.1:3.999", type=("build", "run")) depends_on("py-numpy@1.19.2:", type=("build", "run")) - depends_on("py-nptyping@1.3.0:", type=("build", "run")) + depends_on("py-nptyping@2:", type=("build", "run")) depends_on("py-pandas@0.24.2:", type=("build", "run")) depends_on("py-pyquaternion@0.9.2:", type=("build", "run")) depends_on("py-scipy@1.2.0:", type=("build", "run")) diff --git a/spack.yaml b/spack.yaml index 3a3ab1aa..992f26fe 100644 --- a/spack.yaml +++ b/spack.yaml @@ -31,12 +31,12 @@ spack: - py-hippounit@1.3.6 - py-lfpy@2.3 - py-lfpykit@0.5.1 - - py-libsonata@0.1.22 + - py-libsonata@0.1.23 - py-neo@0.12.0 - py-nestml@5.2.0 - py-netpyne@1.0.5 - py-neurom@3.2.2 - - py-neuror@1.4.2 + - py-neuror@1.6.4 - py-pdb2pqr@3.5.2 - py-pynn@0.11.0 +mpi - py-pyunicore@0.15.0 -- GitLab From 2cb3487ae75b440e854f3a98752b330dcef5349e Mon Sep 17 00:00:00 2001 From: Dennis Terhorst <d.terhorst@fz-juelich.de> Date: Mon, 25 Sep 2023 16:03:51 +0200 Subject: [PATCH 07/16] Update to NEST 3.6-rc2 --- packages/nest/package.py | 2 +- spack.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/nest/package.py b/packages/nest/package.py index a14f74cd..3f571164 100644 --- a/packages/nest/package.py +++ b/packages/nest/package.py @@ -28,7 +28,7 @@ class Nest(CMakePackage): maintainers = ['terhorst'] version('master', branch='master') - version('3.6_rc1',sha256='8a8693933180bd5f64e0032c175997bbe7ee3bc6b0d73a7a4a394c97fc93969d') + version('3.6-rc2',sha256='8508a9590ad49e6657809d1acfd02aa612b70fa8e5e7791a2ea261d891f181f7') version('3.5', sha256='3cdf5720854a4d8a7d359f9de9d2fb3619a0be2e36932028d6940360741547bd') version('3.4', sha256='c56699111f899045ba48e55e87d14eca8763b48ebbb3648beee701a36aa3af20') version('3.3', sha256='179462b966cc61f5785d2fee770bc36f86745598ace9cd97dd620622b62043ed') diff --git a/spack.yaml b/spack.yaml index 00194e40..83560046 100644 --- a/spack.yaml +++ b/spack.yaml @@ -14,7 +14,7 @@ spack: - biobb-structure-checking@3.12.1 - biobb-structure-utils@4.0.0 - hxtorch@7.0-rc1 - - nest@3.6_rc1 +sonata + - nest@3.6-rc2 +sonata - neuron@8.2.3 +mpi - py-bluepyefe@2.2.18 - py-bluepymm@0.7.65 -- GitLab From 27b50daf2df36e0c053d74a16ca82e071a0d238f Mon Sep 17 00:00:00 2001 From: Eleni Mathioulaki <emathioulaki@athenarc.gr> Date: Mon, 25 Sep 2023 21:01:59 +0200 Subject: [PATCH 08/16] fix py-ray import error --- packages/py-ray/package.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/py-ray/package.py b/packages/py-ray/package.py index d17b5557..c687d7ee 100644 --- a/packages/py-ray/package.py +++ b/packages/py-ray/package.py @@ -46,6 +46,11 @@ class PyRay(PythonPackage): depends_on("py-typing-extensions", when="@2.0.1 ^python@:3.7", type=("build", "run")) depends_on("py-virtualenv", when="@2.0.1", type=("build", "run")) + # needed to fix import errors + depends_on("py-setproctitle", type=("build", "run")) + depends_on("py-colorama", type=("build", "run")) + depends_on("py-psutil", type=("build", "run")) + with when("+default"): depends_on("py-aiohttp@3.7:", type=("build", "run")) depends_on("py-aiohttp-cors", type=("build", "run")) -- GitLab From 7bc692362b7640e86fe6a8de3b679f71b8938cb2 Mon Sep 17 00:00:00 2001 From: Robin De Schepper <robingilbert.deschepper@unipv.it> Date: Tue, 26 Sep 2023 12:40:48 +0200 Subject: [PATCH 09/16] Add BSB package --- packages/py-bsb-hdf5/package.py | 22 ++++++++++++++ packages/py-bsb/package.py | 51 +++++++++++++++++++++++++++++++++ packages/py-colour/package.py | 18 ++++++++++++ packages/py-errr/package.py | 19 ++++++++++++ packages/py-pynrrd/package.py | 21 ++++++++++++++ spack.yaml | 1 + 6 files changed, 132 insertions(+) create mode 100644 packages/py-bsb-hdf5/package.py create mode 100644 packages/py-bsb/package.py create mode 100644 packages/py-colour/package.py create mode 100644 packages/py-errr/package.py create mode 100644 packages/py-pynrrd/package.py diff --git a/packages/py-bsb-hdf5/package.py b/packages/py-bsb-hdf5/package.py new file mode 100644 index 00000000..bd50769d --- /dev/null +++ b/packages/py-bsb-hdf5/package.py @@ -0,0 +1,22 @@ +# 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 PyBsbHdf5(PythonPackage): + """An HDF-5 based storage engine for the BSB framework.""" + + homepage = "https://github.com/dbbs-lab/bsb-hdf5" + url = "https://pypi.org/packages/py3/b/bsb_hdf5/bsb_hdf5-0.8.3-py3-none-any.whl" + + maintainers = ["helveg"] + + version('0.8.3', sha256="38162bfe9470b87cb30a2bff78dce68fc1b97f2df7d7e3b288c16b671f7579e5", expand=False) + + depends_on("py-setuptools", type="build") + # depends_on("py-bsb@4.0.0a57:") + depends_on("py-shortuuid") + depends_on("py-h5py@3.0:") diff --git a/packages/py-bsb/package.py b/packages/py-bsb/package.py new file mode 100644 index 00000000..fad71af2 --- /dev/null +++ b/packages/py-bsb/package.py @@ -0,0 +1,51 @@ +# 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 PyBsb(PythonPackage): + """ + The BSB is a component framework for neural modeling, which focuses on component + declarations to piece together a model. + """ + + homepage = "https://bsb.readthedocs.io" + url = "https://pypi.org/packages/py3/b/bsb/bsb-4.0.0a57-py3-none-any.whl" + + maintainers = ["helveg"] + + version("4.0.0a57", sha256="5da15799aa8994894ff5371561d534b43beffaa79461189c94080071359f4076", expand=False) + + depends_on("python@3.8:", type=("build", "run")) + depends_on("py-setuptools", type="build") + depends_on("py-numpy@1.19:") + depends_on("py-scipy@1.5:") + depends_on("py-scikit-learn@1.0:") + depends_on("py-plotly") + depends_on("py-rtree@1.0:") + depends_on("py-psutil@5.8:") + depends_on("py-pynrrd@1.0:") + depends_on("py-toml") + depends_on("py-requests") + depends_on("py-appdirs@1.4:") + depends_on("py-neo") + depends_on("py-tqdm@4.50:") + depends_on("py-shortuuid") + depends_on("py-quantities") + depends_on("py-pyyaml@6.0:") + depends_on("py-morphio@3.3:") + depends_on("py-bsb-hdf5@0.8.3:") + depends_on("py-errr@1.2.0:") + depends_on("py-colour@0.1.5:") + + def setup_build_environment(self, env): + env.set("SPATIALINDEX_C_LIBRARY", self.spec["libspatialindex"].libs[0]) + + def setup_run_environment(self, env): + self.setup_build_environment(env) + + skip_modules = ['bsb.simulators.arbor', 'bsb.simulators.arbor.devices'] + diff --git a/packages/py-colour/package.py b/packages/py-colour/package.py new file mode 100644 index 00000000..5a55b8f9 --- /dev/null +++ b/packages/py-colour/package.py @@ -0,0 +1,18 @@ +# 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 PyColour(PythonPackage): + """Python color representations manipulation library (RGB, HSL, web, ...)""" + + homepage = "https://github.com/vaab/colour" + pypi = "colour/colour-0.1.5.tar.gz" + + maintainers = ["vaab"] + + version("0.1.5", sha256="af20120fefd2afede8b001fbef2ea9da70ad7d49fafdb6489025dae8745c3aee") + depends_on("py-setuptools", type="build") diff --git a/packages/py-errr/package.py b/packages/py-errr/package.py new file mode 100644 index 00000000..1c699d0c --- /dev/null +++ b/packages/py-errr/package.py @@ -0,0 +1,19 @@ +# 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 PyErrr(PythonPackage): + """Elegant Python exception factories""" + + homepage = "https://github.com/Helveg/errr" + pypi = "errr/errr-1.2.0.tar.gz" + + maintainers = ["helveg"] + + version("1.2.0", sha256="2824b83edbd1f61d354c60e36400b2e31ab83e2094acb837b86686892b866e76") + + depends_on("py-setuptools", type="build") diff --git a/packages/py-pynrrd/package.py b/packages/py-pynrrd/package.py new file mode 100644 index 00000000..99093c34 --- /dev/null +++ b/packages/py-pynrrd/package.py @@ -0,0 +1,21 @@ +# 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 PyPynrrd(PythonPackage): + """Python library for reading and writing NRRD files into and from numpy arrays""" + + homepage = "https://github.com/mhe/pynrrd" + pypi = "pynrrd/pynrrd-0.4.0.tar.gz" + + version("1.0.0", sha256="4eb4caba03fbca1b832114515e748336cb67bce70c7f3ae36bfa2e135fc990d2") + + depends_on("py-setuptools", type="build") + depends_on("py-numpy@1.11.1:", type=("build", "run")) + depends_on("py-nptyping", type=("build", "run")) + depends_on("py-typing-extensions", type=("build", "run")) + diff --git a/spack.yaml b/spack.yaml index 83560046..99109726 100644 --- a/spack.yaml +++ b/spack.yaml @@ -19,6 +19,7 @@ spack: - py-bluepyefe@2.2.18 - py-bluepymm@0.7.65 - py-bluepyopt@1.13.86 + - py-bsb@4.0.0a57 - py-ebrains-drive@0.5.1 - py-ebrains-kg-core@0.9.15 - py-efel@4.0.4 -- GitLab From 7ac646b291a7c83350eb75c03da4cbb52047efb1 Mon Sep 17 00:00:00 2001 From: Eleni Mathioulaki <emathioulaki@athenarc.gr> Date: Tue, 26 Sep 2023 13:10:28 +0200 Subject: [PATCH 10/16] move apbs and py-bdb2pqr to meta-package --- packages/wf-protein-association-rates/package.py | 15 +++++++++++++++ spack.yaml | 1 + 2 files changed, 16 insertions(+) create mode 100644 packages/wf-protein-association-rates/package.py diff --git a/packages/wf-protein-association-rates/package.py b/packages/wf-protein-association-rates/package.py new file mode 100644 index 00000000..a6a70883 --- /dev/null +++ b/packages/wf-protein-association-rates/package.py @@ -0,0 +1,15 @@ +from spack import * + + +class WfProteinAssociationRates(BundlePackage): + """Meta-package to collect all dependencies for the "Molecular Tools: protein + association rates and binding sites" demos/workflows.""" + + homepage="https://wiki.ebrains.eu/bin/view/Collabs/computation-of-protein-association-rates/" + + maintainers = ['thielblz', 'richtesn'] + + version("0.1") + + depends_on("apbs") + depends_on("py-pdb2pqr") diff --git a/spack.yaml b/spack.yaml index 3a3ab1aa..ed56ebda 100644 --- a/spack.yaml +++ b/spack.yaml @@ -61,6 +61,7 @@ spack: # Workflows (meta-packages) - wf-biobb - wf-brainscales2-demos + - wf-protein-association-rates@0.1 - wf-multi-area-model@v1.1.0 - wf-uq-akar4@0.1 #- py-cerebstats -- GitLab From 8e2132a1e8f70b02d0dc554896fa1a2fde29209a Mon Sep 17 00:00:00 2001 From: Eleni Mathioulaki <emathioulaki@athenarc.gr> Date: Tue, 26 Sep 2023 16:48:30 +0200 Subject: [PATCH 11/16] make sure compiler isn't installed twice --- .gitlab-ci.yml | 2 +- install_spack_env.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f38951c6..b037d2d8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -254,7 +254,7 @@ sync-gitlab-spack-instance: # install compiler (if not already installed) - EBRAINS_SPACK_COMPILER=$(grep 'compiler' $CI_PROJECT_DIR/site-config/$SYSTEMNAME/packages.yaml | awk -F'[][]' '{ print $2 }') - spack compiler find - - spack install $EBRAINS_SPACK_COMPILER + - spack compiler list | grep -q $EBRAINS_SPACK_COMPILER || spack install $EBRAINS_SPACK_COMPILER - spack load $EBRAINS_SPACK_COMPILER - spack compiler find - spack compiler list diff --git a/install_spack_env.sh b/install_spack_env.sh index f4ba7847..d2ea8ceb 100644 --- a/install_spack_env.sh +++ b/install_spack_env.sh @@ -37,7 +37,7 @@ if [ $SYSTEMNAME == ebrainslab ] then EBRAINS_SPACK_COMPILER=$(grep 'compiler' $EBRAINS_REPO/site-config/$SYSTEMNAME/packages.yaml | awk -F'[][]' '{ print $2 }') spack compiler find - spack install $EBRAINS_SPACK_COMPILER + spack compiler list | grep -q $EBRAINS_SPACK_COMPILER || spack install $EBRAINS_SPACK_COMPILER spack load $EBRAINS_SPACK_COMPILER fi -- GitLab From ec6b8884f06a13f900c907cd5d9df0005d66c86d Mon Sep 17 00:00:00 2001 From: Eleni Mathioulaki <emathioulaki@athenarc.gr> Date: Tue, 26 Sep 2023 17:42:13 +0200 Subject: [PATCH 12/16] biobb packages: fix versions --- packages/biobb-analysis/package.py | 4 +++- packages/biobb-chemistry/package.py | 4 +++- packages/biobb-common/package.py | 4 +++- packages/biobb-gromacs/package.py | 4 +++- packages/biobb-io/package.py | 4 +++- packages/biobb-model/package.py | 4 +++- packages/biobb-structure-checking/package.py | 4 +++- packages/biobb-structure-utils/package.py | 4 +++- 8 files changed, 24 insertions(+), 8 deletions(-) diff --git a/packages/biobb-analysis/package.py b/packages/biobb-analysis/package.py index bc47a809..f67ab8af 100644 --- a/packages/biobb-analysis/package.py +++ b/packages/biobb-analysis/package.py @@ -7,12 +7,14 @@ class BiobbAnalysis(PythonPackage): # Homepage and download url homepage = "https://github.com/bioexcel/biobb_analysis" git = 'https://github.com/bioexcel/biobb_analysis.git' + url = 'https://github.com/bioexcel/biobb_analysis/archive/refs/tags/v4.0.1.tar.gz' # Set the gitlab accounts of this package maintainers maintainers = ['dbeltran'] # Versions - version('4.0.1', branch='master') + version('master', branch='master') + version('4.0.1', sha256='3d7190d0cae6af42b2e7c0ecf073930a609b699ef311e8b74afc1634958e09b0') # Dependencies depends_on('python@3.8:', type=('build', 'run')) diff --git a/packages/biobb-chemistry/package.py b/packages/biobb-chemistry/package.py index 47286633..13a412de 100644 --- a/packages/biobb-chemistry/package.py +++ b/packages/biobb-chemistry/package.py @@ -7,12 +7,14 @@ class BiobbChemistry(PythonPackage): # Homepage and download url homepage = "https://github.com/bioexcel/biobb_chemistry" git = 'https://github.com/bioexcel/biobb_chemistry.git' + url = 'https://github.com/bioexcel/biobb_chemistry/archive/refs/tags/v4.0.0.tar.gz' # Set the gitlab accounts of this package maintainers maintainers = ['dbeltran'] # Versions - version('4.0.0', branch='master') + version('master', branch='master') + version('4.0.0', sha256='40f65b4a93dff24e19995265e41fd6821f5ac2f35199d938f1d00fa035883e64') # Dependencies depends_on('python@3.8:', type=('build', 'run')) diff --git a/packages/biobb-common/package.py b/packages/biobb-common/package.py index 10e8cc19..ae3ffc96 100644 --- a/packages/biobb-common/package.py +++ b/packages/biobb-common/package.py @@ -6,12 +6,14 @@ class BiobbCommon(PythonPackage): # Homepage and download url homepage = "https://github.com/bioexcel/biobb_common" git = 'https://github.com/bioexcel/biobb_common.git' + url = 'https://github.com/bioexcel/biobb_common/archive/refs/tags/v4.0.0.tar.gz' # Set the gitlab accounts of this package maintainers maintainers = ['dbeltran'] # Versions - version('4.0.0', branch='master') + version('master', branch='master') + version('4.0.0', sha256='fff990dce42ded2af3d587567dbf5321b1498f12f24d04d62003f9869d6eb8fe') # Dependencies depends_on('py-setuptools') diff --git a/packages/biobb-gromacs/package.py b/packages/biobb-gromacs/package.py index c60afef1..f6003f6d 100644 --- a/packages/biobb-gromacs/package.py +++ b/packages/biobb-gromacs/package.py @@ -7,12 +7,14 @@ class BiobbGromacs(PythonPackage): # Homepage and download url homepage = "https://github.com/bioexcel/biobb_gromacs" git = 'https://github.com/bioexcel/biobb_gromacs.git' + url = 'https://github.com/bioexcel/biobb_gromacs/archive/refs/tags/v4.0.0.tar.gz' # Set the gitlab accounts of this package maintainers maintainers = ['dbeltran'] # Versions - version('4.0.0', branch='master') + version('master', branch='master') + version('4.0.0', sha256='87f9079ec8b72ff43cd1b388a06fee5b1f64bb4080ffab110941f3c6d155ef0b') # Dependencies depends_on('python@3.8:', type=('build', 'run')) diff --git a/packages/biobb-io/package.py b/packages/biobb-io/package.py index a4f089d4..23f35199 100644 --- a/packages/biobb-io/package.py +++ b/packages/biobb-io/package.py @@ -7,12 +7,14 @@ class BiobbIo(PythonPackage): # Homepage and download url homepage = "https://github.com/bioexcel/biobb_io" git = 'https://github.com/bioexcel/biobb_io.git' + url = 'https://github.com/bioexcel/biobb_io/archive/refs/tags/v4.0.0.tar.gz' # Set the gitlab accounts of this package maintainers maintainers = ['dbeltran'] # Versions - version('4.0.0', branch='master') + version('master', branch='master') + version('4.0.0', sha256='600a30f14b1a0e21f57775ba1be695e1595f5702237415fe90d7c531b5a0408a') # Dependencies depends_on('biobb-common') diff --git a/packages/biobb-model/package.py b/packages/biobb-model/package.py index 877be433..8e0147d8 100644 --- a/packages/biobb-model/package.py +++ b/packages/biobb-model/package.py @@ -7,12 +7,14 @@ class BiobbModel(PythonPackage): # Homepage and download url homepage = "https://github.com/bioexcel/biobb_model" git = 'https://github.com/bioexcel/biobb_model.git' + url = 'https://github.com/bioexcel/biobb_model/archive/refs/tags/v4.0.0.tar.gz' # Set the gitlab accounts of this package maintainers maintainers = ['dbeltran'] # Versions - version('4.0.0', branch='master') + version('master', branch='master') + version('4.0.0', sha256='92387725b7ccd3f40d18c1d3e30a6169ca4204ba498ac72e25c9e701b1a89d91') # Dependencies depends_on('python@3.8:', type=('build', 'run')) diff --git a/packages/biobb-structure-checking/package.py b/packages/biobb-structure-checking/package.py index 8c528fd7..4cb782e7 100644 --- a/packages/biobb-structure-checking/package.py +++ b/packages/biobb-structure-checking/package.py @@ -8,12 +8,14 @@ class BiobbStructureChecking(PythonPackage): # Homepage and download url homepage = "https://github.com/bioexcel/biobb_structure_checking" git = 'https://github.com/bioexcel/biobb_structure_checking.git' + url = 'https://github.com/bioexcel/biobb_structure_checking/archive/refs/tags/v3.12.1.tar.gz' # Set the gitlab accounts of this package maintainers maintainers = ['dbeltran'] # Versions - version('3.12.1', branch='master') + version('master', branch='master') + version('3.12.1', sha256='ef3e6fe5f7763e534c91fac00bf873c3d88bcca18be7a63c63608dceb36f3d40') # Dependencies depends_on('py-setuptools') diff --git a/packages/biobb-structure-utils/package.py b/packages/biobb-structure-utils/package.py index 9dd06b98..ab132e97 100644 --- a/packages/biobb-structure-utils/package.py +++ b/packages/biobb-structure-utils/package.py @@ -7,12 +7,14 @@ class BiobbStructureUtils(PythonPackage): # Homepage and download url homepage = "https://github.com/bioexcel/biobb_structure_utils" git = 'https://github.com/bioexcel/biobb_structure_utils.git' + url = 'https://github.com/bioexcel/biobb_structure_utils/archive/refs/tags/v4.0.0.tar.gz' # Set the gitlab accounts of this package maintainers maintainers = ['dbeltran'] # Versions - version('4.0.0', branch='master') + version('master', branch='master') + version('4.0.0', sha256='f328eee2166631e1cc514118eb41187620c358c8024431ce2a0b0e4547692c47') # Dependencies depends_on('python@3.8:', type=('build', 'run')) -- GitLab From 1ad6c983a6447b90b72fbfb9f9ee6d04d19c8e5d Mon Sep 17 00:00:00 2001 From: Eleni Mathioulaki <emathioulaki@athenarc.gr> Date: Tue, 26 Sep 2023 17:57:19 +0200 Subject: [PATCH 13/16] biobb dependencies: fix urls --- packages/acpype/package.py | 4 +++- packages/nglview/package.py | 4 +++- packages/simpletraj/package.py | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/acpype/package.py b/packages/acpype/package.py index 39982da7..c1924871 100644 --- a/packages/acpype/package.py +++ b/packages/acpype/package.py @@ -7,12 +7,14 @@ class Acpype(PythonPackage): # Homepage and download url homepage = "https://github.com/alanwilter/acpype" git = 'https://github.com/alanwilter/acpype.git' + url = 'https://github.com/alanwilter/acpype/archive/refs/tags/2022.7.21.tar.gz' # Set the gitlab accounts of this package maintainers maintainers = ['dbeltran'] # Versions - version('2022.7.21', branch='master') + version('master', branch='master') + version('2022.7.21', sha256='5f7e6162d9a0aed2f770b9ccf5617ac1398a423cca815ae37cbf66d4cd62ea2f') # Dependencies depends_on('python@3.8:', type=('build', 'run')) diff --git a/packages/nglview/package.py b/packages/nglview/package.py index a6dd6510..17f12084 100644 --- a/packages/nglview/package.py +++ b/packages/nglview/package.py @@ -7,12 +7,14 @@ class Nglview(PythonPackage): # Homepage and download url homepage = "https://github.com/nglviewer/nglview" git = 'https://github.com/nglviewer/nglview.git' + url = 'https://github.com/nglviewer/nglview/archive/refs/tags/v3.0.4.tar.gz' # Set the gitlab accounts of this package maintainers maintainers = ['dbeltran'] # Versions - version('3.0.4', branch='master') + version('master', branch='master') + version('3.0.4', sha256='78b4413b796965a94045df0d584ec51e256c3dca5f366020439fe7e9744ce61b') # Dependencies depends_on('python@3.8:', type=('build', 'run')) diff --git a/packages/simpletraj/package.py b/packages/simpletraj/package.py index 54d1ec72..d4981147 100644 --- a/packages/simpletraj/package.py +++ b/packages/simpletraj/package.py @@ -6,12 +6,14 @@ class Simpletraj(PythonPackage): # Homepage and download url homepage = "https://github.com/arose/simpletraj" git = 'https://github.com/arose/simpletraj.git' + url = 'https://github.com/arose/simpletraj/archive/refs/tags/v0.3.tar.gz' # Set the gitlab accounts of this package maintainers maintainers = ['dbeltran'] # Versions - version('0.3', branch='master') + version('master', branch='master') + version('0.3', sha256='9ee9b5f3e387f8f8eb74b11f5c5d60bab6f601d190b40e38a7b31afddc3574d0') # Dependencies depends_on('python@3.8:', type=('build', 'run')) -- GitLab From 4c7f04e2d4d37e8c83087a5cee2236a23d2e6af3 Mon Sep 17 00:00:00 2001 From: Eleni Mathioulaki <emathioulaki@athenarc.gr> Date: Tue, 26 Sep 2023 20:24:41 +0200 Subject: [PATCH 14/16] adapt installation script to use in CI --- install_spack_env.sh | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/install_spack_env.sh b/install_spack_env.sh index d2ea8ceb..38e74bcc 100644 --- a/install_spack_env.sh +++ b/install_spack_env.sh @@ -1,16 +1,17 @@ #!/bin/bash -# =========================================================================================================== +# =============================================================================================================================== # title : install_spack_env.sh -# usage : ./install_spack_env.sh $INSTALLATION_ROOT $SPACK_VERSION $EBRAINS_REPO $EBRAINS_SPACK_ENV +# usage : ./install_spack_env.sh $INSTALLATION_ROOT $SPACK_VERSION $EBRAINS_REPO $EBRAINS_SPACK_ENV $UPSTREAM_INSTANCE # description : installs or updates the spack environment defined in the EBRAINS spack repo # (if the specified spack instance doesn't exist, it also creates it) -# =========================================================================================================== +# =============================================================================================================================== INSTALLATION_ROOT=$1 # where to set up the installation SPACK_VERSION=$2 # which spack version to use EBRAINS_REPO=$3 # location of ebrains-spack-builds repository EBRAINS_SPACK_ENV=$4 # name of EBRAINS Spack environment to be created/updated +UPSTREAM_INSTANCE=$5 # path to Spack instance to use as upstream (optional) # specify location of .spack dir (by default in ~) # this is where cache and configuration settings are stored @@ -29,26 +30,34 @@ then sed -i "s/self.file_like, \"w\"/self.file_like, \"a\"/g" $INSTALLATION_ROOT/spack/lib/spack/llnl/util/tty/log.py fi +if [[ $UPSTREAM_INSTANCE ]] +then + cat <<EOF > $INSTALLATION_ROOT/spack/etc/spack/defaults/upstreams.yaml +upstreams: + upstream-spack-instance: + install_tree: $UPSTREAM_INSTANCE/spack/opt/spack +EOF +fi + # activate Spack source $INSTALLATION_ROOT/spack/share/spack/setup-env.sh +# add repo if it does not exist +if [[ ! $(spack repo list | grep $EBRAINS_REPO) ]] +then + spack repo add $EBRAINS_REPO +fi + # install platform compiler (extract version from packages.yaml) if [ $SYSTEMNAME == ebrainslab ] then EBRAINS_SPACK_COMPILER=$(grep 'compiler' $EBRAINS_REPO/site-config/$SYSTEMNAME/packages.yaml | awk -F'[][]' '{ print $2 }') spack compiler find - spack compiler list | grep -q $EBRAINS_SPACK_COMPILER || spack install $EBRAINS_SPACK_COMPILER - spack load $EBRAINS_SPACK_COMPILER + spack load $EBRAINS_SPACK_COMPILER || (spack install $EBRAINS_SPACK_COMPILER; spack load $EBRAINS_SPACK_COMPILER) fi spack compiler find -# add repo if it does not exist -if [[ ! $(spack repo list | grep $EBRAINS_REPO) ]] -then - spack repo add $EBRAINS_REPO -fi - # create environment if it does not exist if [ ! -d "$SPACK_ROOT/var/spack/environments/$EBRAINS_SPACK_ENV" ] then -- GitLab From 97948b35053a7a42766d8db4216ef0446affc952 Mon Sep 17 00:00:00 2001 From: Eleni Mathioulaki <emathioulaki@athenarc.gr> Date: Tue, 26 Sep 2023 21:55:30 +0200 Subject: [PATCH 15/16] use installation script in CI --- .gitlab-ci.yml | 80 +++++--------------------------------------- install_spack_env.sh | 2 +- 2 files changed, 10 insertions(+), 72 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b037d2d8..e2b1238f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -177,35 +177,13 @@ build-spack-env-on-runner: image: $GITLAB_BUILD_ENV_DOCKER_IMAGE variables: SPACK_DEV_ENV: ebrains-dev - SPACK_DEV_PATH: $CI_PROJECT_DIR/spack - SPACK_USER_CACHE_PATH: $CI_PROJECT_DIR/.spack - SPACK_USER_CONFIG_PATH: $CI_PROJECT_DIR/.spack script: - - git clone --depth 1 -c advice.detachedHead=false -c feature.manyFiles=true --branch $SPACK_VERSION https://github.com/spack/spack $SPACK_DEV_PATH - # SPACK PATCH: the post-build logs on install-time-test-logs.txt gets ovewritten by the post-install logs. - # quick fix for that: (TODO: investigate more and open PR) - - sed -i "s/self.file_like, \"w\"/self.file_like, \"a\"/g" $SPACK_DEV_PATH/lib/spack/llnl/util/tty/log.py - - | - cat <<EOF > $SPACK_DEV_PATH/etc/spack/defaults/upstreams.yaml - upstreams: - ebrains-gitlab-spack-instance: - install_tree: $SPACK_PATH_GITLAB/spack/opt/spack - EOF - - . $SPACK_DEV_PATH/share/spack/setup-env.sh - - spack find - - spack load gcc@10.3.0 - - spack compiler find - - spack repo add . - - spack env create $SPACK_DEV_ENV - - spack env activate $SPACK_DEV_ENV - - rm -rf $SPACK_ENV/site-config && cp -r site-config $SPACK_ENV - - spack-python site-config/ymerge.py spack.yaml site-config/$SYSTEMNAME/spack.yaml > /tmp/spack.yaml - - cp /tmp/spack.yaml $SPACK_ENV/ - - spack install -y -j2 --fresh --test root + # run installation script + - . install_spack_env.sh $CI_PROJECT_DIR $SPACK_VERSION $CI_PROJECT_DIR $SPACK_DEV_ENV $SPACK_PATH_GITLAB after_script: - - mkdir -p $CI_PROJECT_DIR/spack_logs/installed $CI_PROJECT_DIR/spack_logs/not_installed + - mkdir -p .R/spack_logs/installed $CI_PROJECT_DIR/spack_logs/not_installed # for succesfully installed packages: keep the spack logs for any package modified during this CI job - - PKG_DIR=$SPACK_DEV_PATH/opt/spack/linux-ubuntu20.04-x86_64/gcc-10.3.0 + - PKG_DIR=$CI_PROJECT_DIR/spack/opt/spack/linux-ubuntu20.04-x86_64/gcc-10.3.0 - if cd $PKG_DIR; then find . \( -name ".spack" -o -name ".build" -o -name ".spack_test_results" \) -exec cp -r --parents "{}" $CI_PROJECT_DIR/spack_logs/installed \;; fi # for not succesfully installed packages: also keep the spack logs for any packages that failed - if cd /tmp/$(whoami)/spack-stage/; then find . -maxdepth 2 -name "*.txt" -exec cp --parents "{}" $CI_PROJECT_DIR/spack_logs/not_installed \;; fi @@ -217,12 +195,6 @@ build-spack-env-on-runner: except: variables: - $CI_PIPELINE_SOURCE == "schedule" - # cache: - # key: spack-cache-$CI_COMMIT_REF_SLUG - # paths: - # - "$SPACK_DEV_PATH" - # - "$SPACK_USER_CONFIG_PATH" - # when: always sync-gitlab-spack-instance: stage: build @@ -232,51 +204,17 @@ sync-gitlab-spack-instance: image: $GITLAB_BUILD_ENV_DOCKER_IMAGE variables: SPACK_NFS_ENV: ebrains-runner-build - SPACK_PATH: $SPACK_PATH_GITLAB - SPACK_USER_CACHE_PATH: $SPACK_PATH/spack/.spack - SPACK_USER_CONFIG_PATH: $SPACK_PATH/spack/.spack - SPACK_REPO_PATH: $SPACK_PATH/ebrains-spack-builds + SPACK_REPO_PATH: $SPACK_PATH_GITLAB/ebrains-spack-builds script: - # clone spack if it doesn't exist - - | - if [ ! -d $SPACK_PATH/spack ]; then - git clone --depth 1 -c advice.detachedHead=false -c feature.manyFiles=true --branch $SPACK_VERSION https://github.com/spack/spack $SPACK_PATH/spack - fi - # SPACK PATCH: the post-build logs on install-time-test-logs.txt gets ovewritten by the post-install logs. - # quick fix for that: (TODO: investigate more and open PR) - - sed -i "s/self.file_like, \"w\"/self.file_like, \"a\"/g" $SPACK_PATH/spack/lib/spack/llnl/util/tty/log.py - # activate spack - - . $SPACK_PATH/spack/share/spack/setup-env.sh # get latest state of EBRAINS repo - - rm -rf $SPACK_REPO_PATH && mkdir $SPACK_REPO_PATH && cp -r -t $SPACK_REPO_PATH $CI_PROJECT_DIR/{packages,repo.yaml} - - spack repo list | grep -q ebrains-spack-builds && echo "Repository registered already" || spack repo add $SPACK_REPO_PATH - - spack repo list - # install compiler (if not already installed) - - EBRAINS_SPACK_COMPILER=$(grep 'compiler' $CI_PROJECT_DIR/site-config/$SYSTEMNAME/packages.yaml | awk -F'[][]' '{ print $2 }') - - spack compiler find - - spack compiler list | grep -q $EBRAINS_SPACK_COMPILER || spack install $EBRAINS_SPACK_COMPILER - - spack load $EBRAINS_SPACK_COMPILER - - spack compiler find - - spack compiler list - # create environment, if it doesn't exist - - spack env list | grep -q $SPACK_NFS_ENV && echo "Environment created already" || spack env create $SPACK_NFS_ENV - # update environment site-configs - - rm -rf $SPACK_ROOT/var/spack/environments/$SPACK_NFS_ENV/site-config && cp -r site-config $SPACK_ROOT/var/spack/environments/$SPACK_NFS_ENV - # update spack.yaml: merge top-level and site-specific spack.yaml files - - spack-python site-config/ymerge.py spack.yaml site-config/$SYSTEMNAME/spack.yaml > /tmp/spack.yaml - - cp /tmp/spack.yaml $SPACK_ROOT/var/spack/environments/$SPACK_NFS_ENV - # There is a known spack bug (https://github.com/spack/spack/issues/29447) in installing test dependencies for installation tests. The workaround suggested - # in the issue is to NOT concretize separately, but simply remove the .lock file and let the enironment be concretized by the spack install command: - - rm $SPACK_ROOT/var/spack/environments/$SPACK_NFS_ENV/spack.lock || echo "No spack.lock file" - # then activate environment - - spack env activate $SPACK_NFS_ENV - - spack install -y -j2 --fresh --test root - - spack reindex + - rm -rf $SPACK_REPO_PATH && cp -r $CI_PROJECT_DIR $SPACK_REPO_PATH + # run installation script + - . install_spack_env.sh $SPACK_PATH_GITLAB $SPACK_VERSION $SPACK_REPO_PATH $SPACK_NFS_ENV after_script: - mkdir -p $CI_PROJECT_DIR/spack_logs/installed $CI_PROJECT_DIR/spack_logs/not_installed # for succesfully installed packages: keep the spack logs for any package modified during this CI job # (we use repo.yaml, that is modified at each start of the pipeline, as a reference file) - - PKG_DIR=$SPACK_PATH/spack/opt/spack/linux-ubuntu20.04-x86_64/gcc-10.3.0 + - PKG_DIR=$SPACK_PATH_GITLAB/spack/opt/spack/linux-ubuntu20.04-x86_64/gcc-10.3.0 - if cd $PKG_DIR; then find . -newer $SPACK_REPO_PATH/repo.yaml \( -name ".spack" -o -name ".spack_test_results" -o -name ".build" \) -exec cp -r --parents "{}" $CI_PROJECT_DIR/spack_logs/installed \;; fi # for not succesfully installed packages: also keep the spack logs for any packages that failed - if cd /tmp/$(whoami)/spack-stage/; then find . -maxdepth 2 -name "*.txt" -exec cp --parents "{}" $CI_PROJECT_DIR/spack_logs/not_installed \;; fi diff --git a/install_spack_env.sh b/install_spack_env.sh index 38e74bcc..758b7b5e 100644 --- a/install_spack_env.sh +++ b/install_spack_env.sh @@ -43,7 +43,7 @@ fi source $INSTALLATION_ROOT/spack/share/spack/setup-env.sh # add repo if it does not exist -if [[ ! $(spack repo list | grep $EBRAINS_REPO) ]] +if [[ ! $(spack repo list | grep ebrains-spack-builds$) ]] then spack repo add $EBRAINS_REPO fi -- GitLab From 7369afa3dd4e7fd55b3660e51b1a804c673148ec Mon Sep 17 00:00:00 2001 From: Eleni Mathioulaki <emathioulaki@athenarc.gr> Date: Tue, 26 Sep 2023 22:54:12 +0200 Subject: [PATCH 16/16] fix typo --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e2b1238f..3abfbcc6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -181,7 +181,7 @@ build-spack-env-on-runner: # run installation script - . install_spack_env.sh $CI_PROJECT_DIR $SPACK_VERSION $CI_PROJECT_DIR $SPACK_DEV_ENV $SPACK_PATH_GITLAB after_script: - - mkdir -p .R/spack_logs/installed $CI_PROJECT_DIR/spack_logs/not_installed + - mkdir -p $CI_PROJECT_DIR/spack_logs/installed $CI_PROJECT_DIR/spack_logs/not_installed # for succesfully installed packages: keep the spack logs for any package modified during this CI job - PKG_DIR=$CI_PROJECT_DIR/spack/opt/spack/linux-ubuntu20.04-x86_64/gcc-10.3.0 - if cd $PKG_DIR; then find . \( -name ".spack" -o -name ".build" -o -name ".spack_test_results" \) -exec cp -r --parents "{}" $CI_PROJECT_DIR/spack_logs/installed \;; fi -- GitLab