Skip to content

[cotainr] [package list]

cotainr/2023.11.0-cray-python-3.9.13.1 (cotainr-2023.11.0-cray-python-3.9.13.1.eb)

To access module help and find out for which stacks and partitions the module is installed, use module spider cotainr/2023.11.0-cray-python-3.9.13.1.

EasyConfig:

easyblock = 'Tarball'

import os as local_os

# The first line below is a dirty trick not very much loved by the EasyBuild developers but
# it helps to make this EasyConfig indpendent of the LUMI software stack version as there is
# no other reference to that version in the file that we can use since it relies on the
# SYSTEM toolchain.
local_LUMI_version_from_os = local_os.environ['LUMI_STACK_CPE_VERSION']
local_craypython_version =  '3.9.13.1'
versionsuffix = '-cray-python-' + local_craypython_version

name =    'cotainr'
version = '2023.11.0'

homepage = 'https://github.com/DeiC-HPC/cotainr'

whatis = [
    'Description: cotainr is a tool that helps making Singularity/Apptainer containers.'
]
description = """"
cotainr is a tool that helps making Singularity/Apptainer containers.
It runs entirely in user space, i.e. you don’t need root/sudo priviledges 
(or fake them) to use cotainr. It makes it a lot easier to build 
Singularity/Apptainer containers for certain HPC use cases.

In order to achieve this, the scope of cotainr is deliberately limited - focus 
is on making it easy to build reasonably performant containers for common HPC 
use cases. If you need a general purpose solution for building containers that 
achieve the absolute maximum performance, you should stick with 
Apptainer/Singularity instead of cotainr.

The software is provided by LUMI consortium partner DeiC.

Note that this software requires a more recent Python then the system Python
provided by the SUSE OS on LUMI. This module will load cray-python %(craypython_ver)s
which is the version that comes with the %(lumi_stack)s of the HPE Cray
Programming Environment and hence also the version used in LUMI/%(lumi_stack)s.
""" % {
    'lumi_stack':     local_LUMI_version_from_os,
    'craypython_ver': local_craypython_version
}

docurls = [
    'Web-based documentation on https://cotainr.readthedocs.io/en/latest/'
]

sources = [ {
  'filename':          '%(name)s-%(version)s.tar.gz',
  'download_filename': '%(version)s.tar.gz',
  'source_urls':       ['https://github.com/DeiC-HPC/cotainr/archive/refs/tags'],
} ]

toolchain = SYSTEM

dependencies = [
    ('cray-python/' + local_craypython_version, EXTERNAL_MODULE),
]

local_systems = """{
  "lumi-g": {
    "base-image": "docker://rocm/dev-ubuntu-22.04:5.6.1-complete"
  },
  "lumi-c": {
    "base-image": "docker://ubuntu:22.04"
  }
}"""

postinstallcmds = [
    'cd %(installdir)s/ ; cat >systems.json <<EOF\n' + local_systems + '\nEOF\n'
]

sanity_check_paths = {
    'files': ['bin/cotainr'],
    'dirs':  ['cotainr'],
}

sanity_check_commands = [
    'cotainr --help'
]

moduleclass = "tools"

[cotainr] [package list]