# IT4Innovations 2019

easyblock = 'ConfigureMake'

name = 'Singularity'
version = '3.1.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': ''}

sources = [{
    'source_urls': ['https://github.com/sylabs/singularity/releases/download/v3.1.0/'],
    'filename': 'singularity-3.1.0.tar.gz',
    'extract_cmd': "mkdir -p src/github.com/sylabs/singularity && tar xfvz %s -C src/github.com/sylabs/singularity --strip-components=1",
}]

builddependencies = [
        ('Go', '1.11.1'),
]

dependencies = [
        ('squashfs-tools', '4.3'),
]

skipsteps = ['configure']

prebuildopts = "export GOPATH=%(builddir)s && "
prebuildopts += "./mconfig --prefix=%(installdir)s && "
prebuildopts += "cd ./builddir && "
preinstallopts = "cd ./builddir && "

postinstallcmds = [
        'echo "mksquashfs path = /apps/all/squashfs-tools/4.3/bin" >> %(installdir)s/etc/singularity/singularity.conf',
]

sanity_check_paths = {
    'files': ['bin/singularity'],
    'dirs': ['bin', 'etc', 'libexec', 'var'],
}

moduleclass = 'tools'
