Source code for spack.container.writers.singularity

# Copyright 2013-2022 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)
import spack.tengine as tengine

from . import PathContext, writer

[docs]@writer('singularity') class SingularityContext(PathContext): """Context used to instantiate a Singularity definition file""" #: Name of the template used for Singularity definition files template_name = 'container/singularity.def' @property def singularity_config(self): return self.container_config.get('singularity', {}) @tengine.context_property def runscript(self): return self.singularity_config.get('runscript', '') @tengine.context_property def startscript(self): return self.singularity_config.get('startscript', '') @tengine.context_property def test(self): return self.singularity_config.get('test', '') @tengine.context_property def help(self): return self.singularity_config.get('help', '')