diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4e7b4e110f90b8535ecdc6d9e9dc67fc55bd360d..d086baece7e488a9b6c86b917ddaacb782a69c72 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -177,37 +177,15 @@ 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 - spack test run after_script: - mv /tmp/spack_tests $CI_PROJECT_DIR - 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=$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 @@ -220,12 +198,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 @@ -235,51 +207,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 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 f4ba7847e58de8655f006259f107097d0a1a5b5a..758b7b5e90d7000b5c74007c614faf666fd2f35c 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-spack-builds$) ]] +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 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 diff --git a/packages/acpype/package.py b/packages/acpype/package.py index 39982da7209fdb0e1f020b97fa4f7d8033fe71d8..c19248710d4ea10d2c3b221243bd9b7245617339 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/biobb-analysis/package.py b/packages/biobb-analysis/package.py index bc47a809d5f135e96c286018061403feb846daa4..f67ab8af6a80a6871d94b8a477ba74b3abff1d4c 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 47286633d74b9cf036141a1963d49b2e346215d7..13a412de3751d649a0fa7b941e7e4756468b7818 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 10e8cc1965177b637c38fa11ca325d6bed38ee13..ae3ffc96dc544716100cdbe7fc544f4b55471768 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 c60afef13ff1559aebf227d626991c5afd765a04..f6003f6d2aa2762afd62ad2d9bbc6090ac334a13 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 a4f089d4e9d0c199f46baf075ae38ad812dc7c48..23f351992f76162aeecffbe6bb5d8e67f5ed7574 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 877be433c85b0f28e2c0fedadde38b7508c66efa..8e0147d86b7777e9bef34d5f99a1709b28ac49b3 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 8c528fd728f64192922fce64f25f38ae592d8649..4cb782e79f4f2af6b9d17e3b52edcb7fd674440e 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 9dd06b981ff0c9bf8fc1c3b587849c0887d4036f..ab132e9721965d0645e535387ff80782dc19f2e3 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')) diff --git a/packages/nest/package.py b/packages/nest/package.py index a14f74cd96ac63cf3212e09be7bc6127890a7fae..3f571164da86fe7c344afb81e96af35b4cee649f 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/packages/nglview/package.py b/packages/nglview/package.py index a6dd6510e68c3ff0d7baf89cddb08766786f2121..17f1208471b51ff1de53ad8ce09ff96eaf2ef1fe 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/py-bsb-hdf5/package.py b/packages/py-bsb-hdf5/package.py new file mode 100644 index 0000000000000000000000000000000000000000..bd50769da23633e89ecba2c7ba4663f8d2bec3c7 --- /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 0000000000000000000000000000000000000000..fad71af2ccb4cd0c653c7334fee9f33250b742c6 --- /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 0000000000000000000000000000000000000000..5a55b8f94bf8c43b75746c9a272bb4bfd43071c9 --- /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 0000000000000000000000000000000000000000..1c699d0cbcce9a8c502669c85095f793af0363f5 --- /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-hbp-neuromorphic-platform/package.py b/packages/py-hbp-neuromorphic-platform/package.py index ef2ce85f842e01bd7da2291f93564570dff853ea..f68b345fd2f732f1809985b730f46533053a65d3 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/packages/py-nestml/package.py b/packages/py-nestml/package.py index 48dc4f845c1004260c345083a75194b1e97d94b3..7e3329d55ce4e0f73848a1b3d955cb1381d3f16a 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/packages/py-pynrrd/package.py b/packages/py-pynrrd/package.py new file mode 100644 index 0000000000000000000000000000000000000000..99093c34d46e6e8a116842e9db56449cfe0238fe --- /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/packages/py-ray/package.py b/packages/py-ray/package.py index d17b5557ec416d5c6bacbba99e2f76cc80008c85..c687d7eef4d8bc9379de9f63218967b1db4118f8 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")) diff --git a/packages/py-siibra/package.py b/packages/py-siibra/package.py index a64b177390a7170a7c6057c0a45dda3becc684ff..b68c20d488289196052ade9fd8ed56b0f4e84a65 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/packages/simpletraj/package.py b/packages/simpletraj/package.py index 54d1ec72c94c3b0ecf44316b0fed272141ff5abd..d49811474a736557f3c4b7ff961c5553325fe36b 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')) diff --git a/packages/wf-protein-association-rates/package.py b/packages/wf-protein-association-rates/package.py new file mode 100644 index 0000000000000000000000000000000000000000..a6a708839cab1fc2862ed788431cc996686002b9 --- /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 00194e405e50a7210ddb41ffd4cdaf54e0cfeb2e..4f60b56f167c129c368de90b05d7b2ad27d59604 100644 --- a/spack.yaml +++ b/spack.yaml @@ -14,11 +14,12 @@ 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 - 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 @@ -26,14 +27,14 @@ 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 - py-lfpykit@0.5.1 - py-libsonata@0.1.23 - 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.6.4 @@ -42,7 +43,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 @@ -61,6 +62,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