# IT4Innovations 2019 easyblock = 'ConfigureMake' name = 'Singularity' version = '3.3.0' homepage = 'https://github.com/sylabs/singularity' description = "Singularity is an open source container platform designed to be simple, fast, and secure. Singularity is optimized for EPC and HPC workloads, allowing untrusted users to run untrusted containers in a trusted way." toolchain = {'name': 'system', 'version': ''} source_urls = ['https://github.com/sylabs/singularity/releases/download/v%s/' % version] sources = ['singularity-%(version)s.tar.gz'] checksums = ['070530a472e7e78492f1f142c8d4b77c64de4626c4973b0589f0d18e1fcf5b4f'] builddependencies = [ ('Go', '1.12.7'), ] dependencies = [ ('squashfs-tools', '4.3'), ] osdependencies = [ ('openssl-devel', 'libssl-dev', 'libopenssl-devel'), ] skipsteps = ['configure'] #prebuildopts = 'export GOPATH=$(pwd):$GOPATH && ' skipsteps = ['configure'] prebuildopts = 'mkdir -p src/github.com/sylabs && ' prebuildopts += 'ln -sf %(builddir)s/singularity src/github.com/sylabs/singularity && ' prebuildopts += './mconfig -p %(installdir)s -b build && ' prebuildopts += 'cd build && ' preinstallopts = 'cd build && ' postinstallcmds = [ 'echo "mksquashfs path = /apps/all/squashfs-tools/4.3/bin" >> %(installdir)s/etc/singularity/singularity.conf', ] # next steps after installation # INSTALLATION_PATH=your_installation_path # chown root:root $INSTALLATION_PATH/Singularity/*/etc/singularity/singularity.conf # chown root:root $INSTALLATION_PATH/Singularity/*/etc/singularity/capability.json # chown root:root $INSTALLATION_PATH/Singularity/*/etc/singularity/ecl.toml # chown root:root $INSTALLATION_PATH/Singularity/*/libexec/singularity/bin/*-suid # chmod 4755 $INSTALLATION_PATH/Singularity/*/libexec/singularity/bin/*-suid # chmod +s $INSTALLATION_PATH/Singularity/*/libexec/singularity/bin/*-suid sanity_check_paths = { 'files': ['bin/singularity'], 'dirs': ['bin', 'etc', 'libexec', 'var'], } moduleclass = 'tools'