diff --git a/packages/nest/nest-simulator-3.2-p1-VersionNumber.patch b/packages/nest/nest-simulator-3.2-p1-VersionNumber.patch new file mode 100644 index 0000000000000000000000000000000000000000..9e0ed9500ff2ffecc26db4266c0297d5cef18c96 --- /dev/null +++ b/packages/nest/nest-simulator-3.2-p1-VersionNumber.patch @@ -0,0 +1,49 @@ +diff --git a/README.md b/README.md +index 93a4727f2..c8be0e019 100644 +--- a/README.md ++++ b/README.md +@@ -3,18 +3,18 @@ + [](https://nest-simulator.org/documentation) + [](https://bestpractices.coreinfrastructure.org/projects/2218) + [](http://www.gnu.org/licenses/gpl-2.0.html) +-[](https://doi.org/10.5281/zenodo.4739103) ++[](https://doi.org/10.5281/zenodo.5886894) + + [](https://github.com/nest/nest-simulator/releases) + [](https://github.com/nest/nest-simulator) + [](https://github.com/nest/nest-simulator) + +-[-blue?logo=debian)](https://nest-simulator.readthedocs.io/en/latest/installation/) ++[-blue?logo=debian)](https://nest-simulator.readthedocs.io/en/latest/installation/) + [](https://src.fedoraproject.org/rpms/nest) + [](https://anaconda.org/conda-forge/nest-simulator) + [](https://formulae.brew.sh/formula/nest) +-[](https://hub.docker.com/r/nestsim/nest) +-[](https://nest-simulator.readthedocs.io/en/latest/download.html#download-livemedia) ++[](https://hub.docker.com/r/nestsim/nest) ++[](https://nest-simulator.readthedocs.io/en/latest/download.html#download-livemedia) + + [](https://www.youtube.com/results?search_query=nest-simulator+neurons) + [](https://twitter.com/nestsimulator) +diff --git a/cmake/NestVersionInfo.cmake b/cmake/NestVersionInfo.cmake +index 158cd49cf..5efd991e3 100644 +--- a/cmake/NestVersionInfo.cmake ++++ b/cmake/NestVersionInfo.cmake +@@ -58,7 +58,7 @@ macro(get_version_info) + endif() + + if (NOT NEST_VERSION_BRANCH) +- set(NEST_VERSION_BRANCH "UNKNOWN") ++ set(NEST_VERSION_BRANCH "3.2") + endif() + + string(SUBSTRING "${NEST_VERSION_BRANCH}" 0 5 isRelease) +diff --git a/doc/userdoc/release_notes/index.rst b/doc/userdoc/release_notes/index.rst +index 5c7b46726..44560fe29 100644 +--- a/doc/userdoc/release_notes/index.rst ++++ b/doc/userdoc/release_notes/index.rst +@@ -10,3 +10,4 @@ transition your simulation code to the new versions. + + * :ref:`NEST 3.0 (June 10, 2021 ) <release_3.0>` + * :ref:`NEST 3.1 (September 15, 2021 ) <release_3.1>` ++* :ref:`NEST 3.2 (January 21, 2022 ) <release_3.2>` diff --git a/packages/nest/package.py b/packages/nest/package.py index eb23f6cbbc5713ed63e0df976b9a1e8a78d92105..b5b65dfd3a5e01f17437f315686fc23afd68079f 100644 --- a/packages/nest/package.py +++ b/packages/nest/package.py @@ -14,12 +14,21 @@ class Nest(CMakePackage): homepage = "http://www.nest-simulator.org" urls = [ - 'https://github.com/nest/nest-simulator/releases/download/v2.12.0/nest-2.12.0.tar.gz', - 'https://github.com/nest/nest-simulator/archive/v3.0.tar.gz', + # + # note: for early nest releases the refs/tags/xxx.tar.gz is different + # from download/v2.x.y/...tar.gz! The download one already had the + # `make dist` boot-strapping done. + # + #'https://github.com/nest/nest-simulator/releases/download/v2.12.0/nest-2.12.0.tar.gz', + 'https://github.com/nest/nest-simulator/archive/refs/tags/v2.12.0.tar.gz', + + 'https://github.com/nest/nest-simulator/archive/refs/tags/v3.0.tar.gz' ] git = "https://github.com/nest/nest-simulator.git" version('master', branch='master') + version('3.2', sha256='583d5725882ad5e8fd4fc7ffab425da97cbbb91fadbc327e940c184e8892b958') + patch('nest-simulator-3.2-p1-VersionNumber.patch', when='@3.2') version('3.1', sha256='5c11dd6b451c4c6bf93037bf29d5231c6c75a0e1a8863344f6fb9bb225f279ca') version('3.0', sha256='d481ea67f3251fe3aadf5252ab0a999172f0cd5536c5985366d271d772e686e6') patch('2021-07-17_fix-pyexecdir.patch', when='@3.0') @@ -50,6 +59,8 @@ class Nest(CMakePackage): description="Enable GNU Scientific Library") variant('shared', default=True, description="Build shared libraries") + variant('boost', default=True, + description="Enable optimizations provided via Boost library algorithms and containers") # TODO add variants for neurosim and music when these are in spack conflicts('~gsl', when='@:2.10.99', @@ -68,6 +79,7 @@ class Nest(CMakePackage): depends_on('py-cython@0.19.2:', when='+python', type='build') depends_on('py-nose', when='+python', type='test') depends_on('py-setuptools', when='+python', type='build') + depends_on('boost', when="@2.16:+boost", type='build') depends_on('py-setuptools@:44.99.99', when='@:2.15.99+python', type='build') depends_on('mpi', when='+mpi') @@ -121,10 +133,11 @@ class Nest(CMakePackage): def cmake_args(self): args = [] - if '+mpi' in self.spec: - args.append('-Dwith-mpi=ON') - else: - args.append('-Dwith-mpi=OFF') + for flag in "boost mpi openmp optimize".split(): + if '+' + flag in self.spec: + args.append('-Dwith-'+flag+'=ON') + else: + args.append('-Dwith-'+flag+'=OFF') if '+gsl' in self.spec: args.append('-Dwith-gsl=' + self.spec['gsl'].prefix) @@ -140,16 +153,6 @@ class Nest(CMakePackage): args.append('-Dwith-python=OFF') args.append('-Dcythonize-pynest=OFF') - if '+optimize' in self.spec: - args.append('-Dwith-optimize=ON') - else: - args.append('-Dwith-optimize=OFF') - - if '+openmp' in self.spec: - args.append('-Dwith-openmp=ON') - else: - args.append('-Dwith-openmp=OFF') - if '+shared' in self.spec: args.append('-Dstatic-libraries=OFF') else: