Skip to content
Snippets Groups Projects

feat(BSS2): use releases-ebrains to track releases

Merged Eric Müller requested to merge update_BSS2 into master
Compare and
7 files
+ 51
10
Compare changes
  • Side-by-side
  • Inline
Files
7
@@ -15,10 +15,20 @@ import spack.build_environment
@@ -15,10 +15,20 @@ import spack.build_environment
class BuildBrainscales(WafPackage):
class BuildBrainscales(WafPackage):
"""Common stuff for BrainScaleS packages..."""
"""Common stuff for BrainScaleS packages..."""
 
version(
 
"9.0-a4",
 
git="https://github.com/electronicvisions/releases-ebrains",
 
tag="ebrains-9.0-a4",
 
submodules=True, # the "submodules" parameter isn't part of the source cache key/name
 
)
 
# waf setup performs git clone and might query gerrit
# waf setup performs git clone and might query gerrit
depends_on('git', type=('build', 'link'))
depends_on('git', type=('build', 'link'))
depends_on('py-git-review', type=('build', 'link'))
depends_on('py-git-review', type=('build', 'link'))
 
# old BrainScaleS EBRAINS releases used `waf setup --project=X` to download
 
# sources of the dependent repositories
 
@when("@:8")
def do_fetch(self, mirror_only=False):
def do_fetch(self, mirror_only=False):
"""Setup the project."""
"""Setup the project."""
@@ -56,6 +66,16 @@ class BuildBrainscales(WafPackage):
@@ -56,6 +66,16 @@ class BuildBrainscales(WafPackage):
with unittest.mock.patch('spack.fetch_strategy.GitFetchStrategy.archive', new=custom_archive):
with unittest.mock.patch('spack.fetch_strategy.GitFetchStrategy.archive', new=custom_archive):
self.stage.cache_local()
self.stage.cache_local()
 
# new BrainScaleS EBRAINS releases use git submodules to download sources;
 
# we still need to keep the `.git/` folders of the submodules in the source cache though
 
@when("@9:")
 
def do_fetch(self, mirror_only=False):
 
# in the configure step, we need access to all archived .git folders
 
def custom_archive(self, destination):
 
super(spack.fetch_strategy.GitFetchStrategy, self).archive(destination)
 
with unittest.mock.patch('spack.fetch_strategy.GitFetchStrategy.archive', new=custom_archive):
 
super(BuildBrainscales, self).do_fetch(mirror_only)
 
def _setup_common_env(self, env):
def _setup_common_env(self, env):
# grenade needs to find some libraries for the JIT-compilation of
# grenade needs to find some libraries for the JIT-compilation of
# programs for BrainScaleS-2's embedded processor.
# programs for BrainScaleS-2's embedded processor.
@@ -112,6 +132,9 @@ class BuildBrainscales(WafPackage):
@@ -112,6 +132,9 @@ class BuildBrainscales(WafPackage):
args = ['--prefix={0}'.format(self.prefix)]
args = ['--prefix={0}'.format(self.prefix)]
args += self.configure_args()
args += self.configure_args()
 
 
if spec.version >= Version("9"):
 
self.waf('setup', '--directory=' + str(spec.name), '--repo-db-url=https://github.com/electronicvisions/projects')
self.waf('configure', '--build-profile=release', '--disable-doxygen', *args)
self.waf('configure', '--build-profile=release', '--disable-doxygen', *args)
def build_args(self):
def build_args(self):