Skip to content

[Tk] [package list]

Tk/8.6.13-cpeAOCC-24.03 (Tk-8.6.13-cpeAOCC-24.03.eb)

To access module help and find out for which stacks and partitions the module is installed, use module spider Tk/8.6.13-cpeAOCC-24.03.

EasyConfig:

# contributed by Luca Marsella (CSCS)
easyblock = 'ConfigureMake'

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

local_Tk_version =           '8.6.13'        # https://tcl.tk/

name =    'Tk'
version = local_Tk_version

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

whatis = [
    'Description: Tk is a graphical user interface toolkit'
]

description = """
Tk is a graphical user interface toolkit that takes developing desktop
applications to a higher level than conventional approaches. Tk is the
standard GUI not only for Tcl, but for many other dynamic languages, and
can produce rich, native applications that run unchanged across Windows,
Mac OS X, Linux and more.
"""

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

toolchain = {'name': 'cpeAOCC', 'version': '24.03'}

source_urls = ["https://prdownloads.sourceforge.net/tcl"]
sources =     ['%(namelower)s%(version)s-src.tar.gz']
patches =     ['Tk-8.6.13_different-prefix-with-tcl.patch']
checksums =   [
    {'tk8.6.13-src.tar.gz': '2e65fa069a23365440a3c56c556b8673b5e32a283800d8d9b257e3f584ce0675'},
    {'Tk-8.6.13_different-prefix-with-tcl.patch': 'e136ff60dfe7fc4b14d98af00cf89522fbfd106e75b0a9259f410a8bfa732534'},
]

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

dependencies = [
    ('Tcl',  local_Tcl_version),
    ('X11',  '%(toolchain_version)s'),
    ('zlib', local_zlib_version),
]

# Doesn't need MPI, ROCm or BLAS, and module unload never fails so this is safe.
preconfigopts = 'module unload cray-libsci cray-mpich rocm xpmem && '
prebuildopts = preconfigopts
pretestopts = preconfigopts
preinstallopts = preconfigopts

configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib CFLAGS="-I$EBROOTTCL/include"'

installopts = "&& make install-private-headers"

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

sanity_check_paths = {
    'files': ['bin/wish', 'lib/tkConfig.sh',   'include/tkInt.h', 'lib/libtk%(version_major_minor)s.' + SHLIB_EXT,
              f'share/licenses/{name}/license.terms'],
    'dirs':  ['lib/tk%(version_major_minor)s'],
}

sanity_check_commands = [
    # No test for wish possible as that requires DISPLAY to be set.
    'pkg-config --libs tk',
]

start_dir = 'unix'

moduleclass = 'vis'

[Tk] [package list]