Skip to content

[Tcl] [package list]

Tcl/9.0.3-cpeCray-25.09 (Tcl-9.0.3-cpeCray-25.09.eb)

To access module help and find out for which stacks and partitions the module is installed, use module spider Tcl/9.0.3-cpeCray-25.09.

EasyConfig:

# contributed by Luca Marsella (CSCS)
# Adapted by Kurt Lust (kurt.lust@uantwerpen.be) for the LUMI consortium
easyblock = 'ConfigureMake'

local_zlib_version =         '1.3.1'         # https://zlib.net/
local_Tcl_version =          '9.0.3'         # https://tcl.tk/

name =    'Tcl'
version = local_Tcl_version

homepage = 'http://www.tcl.tk/'

whatis = [
    'Description: Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language'
]

description = """
Tcl (Tool Command Language) is a very powerful but easy to learn dynamic
programming language, suitable for a very wide range of uses, including web
and desktop applications, networking, administration, testing and many more.
"""

software_license_urls = [
    'https://tcl.tk/software/tcltk/license.html',
]

toolchain = {'name': 'cpeCray', 'version': '25.09'}

# https://downloads.sourceforge.net/project/tcl/Tcl/9.0.3/tcl9.0.3-src.tar.gz
source_urls = ['https://downloads.sourceforge.net/project/%(namelower)s/%(name)s/%(version)s']
sources =     ['%(namelower)s%(version)s-src.tar.gz']
checksums =   ['2537ba0c86112c8c953f7c09d33f134dd45c0fb3a71f2d7f7691fd301d2c33a6']

build_deps = [ # Create a reproducible build environment.
    ('buildtools',   '%(toolchain_version)s',   '', True),
]

deps = [
    ('zlib', local_zlib_version),
]

# Doesn't need MPI, ROCm or BLAS, and module unload never fails so this is safe.
pre_configure_opts = 'module unload cray-libsci cray-mpich rocm xpmem && '
pre_build_opts = pre_configure_opts
pre_test_opts = pre_configure_opts
pre_install_opts = pre_configure_opts

configure_opts = 'EXTRA_INSTALL="install-private-headers"'

start_dir = 'unix'

run_test = 'test'

post_install_cmds = [
    'ln -s %(installdir)s/bin/tclsh%(version_major)s.%(version_minor)s %(installdir)s/bin/tclsh',
    'mkdir -p %(installdir)s/share/licenses/%(name)s',
    'cd .. && cp license.terms changes.md README.md %(installdir)s/share/licenses/%(name)s',   
]

sanity_check_paths = {
    'files': ['bin/tclsh%(version_major)s.%(version_minor)s', 'bin/tclsh',
              'include/tcl.h', 'lib/libtcl%%(version_major)s.%%(version_minor)s.%s' % SHLIB_EXT,
              'lib/tclConfig.sh', 'share/man/man1/tclsh.1', f'share/licenses/{name}/license.terms'],
    'dirs':  ['share'],
}

env_mod_category = 'lang'

[Tcl] [package list]