Skip to content

[libpsl] [package list]

libpsl/0.21.1-cpeGNU-23.12 (libpsl-0.21.1-cpeGNU-23.12.eb)

To access module help and find out for which stacks and partitions the module is installed, use module spider libpsl/0.21.1-cpeGNU-23.12.

EasyConfig:

easyblock = 'ConfigureMake'

local_libpsl_version =       '0.21.1'        # https://github.com/rockdaboot/libpsl/releases

name =    'libpsl'
version = local_libpsl_version

homepage = 'https://rockdaboot.github.io/libpsl'

whatis = [
    'Description: PSL is a C library to handle the Public Suffix List'
]
description = """"
PSL is a C library to handle the Public Suffix List

A Public Suffix List is a collection of Top Level Domains (TLDs) suffixes. TLDs
include Global Top Level Domains (gTLDs) like .com and .net; Country Top Level 
Domains (ccTLDs) like .de and .cn; and Brand Top Level Domains like .apple and 
.google. Brand TLDs allows users to register their own top level domain that 
exist at the same level as ICANN's gTLDs. Brand TLDs are sometimes referred to 
as Vanity Domains.
"""

software_license_urls = [
    f'https://github.com/rockdaboot/libpsl/blob/{version}/LICENSE',
    f'https://github.com/rockdaboot/libpsl/blob/{version}/COPYING',
]

toolchain = {'name': 'cpeGNU', 'version': '23.12'}

source_urls = ['https://github.com/rockdaboot/%(name)s/releases/download/%(version)s']
sources =     [SOURCELOWER_TAR_GZ]
checksums =   ['ac6ce1e1fbd4d0254c4ddb9d37f1fa99dec83619c1253328155206b896210d4c']

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

# 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

postinstallcmds = [
    'mkdir -p %(installdir)s/share/licenses/%(name)s',
    'cp AUTHORS COPYING LICENSE NEWS README %(installdir)s/share/licenses/%(name)s',   
]

sanity_check_paths = {
    'files': ['lib/libpsl.%s' % x for x in ['a', 'la', SHLIB_EXT]] +
             ['bin/psl', 'include/libpsl.h', 'lib/pkgconfig/libpsl.pc', f'share/licenses/libpsl/LICENSE'],
    'dirs':  ['share/man/man1']
}

sanity_check_commands = [
    'psl --version',
    'pkg-config --libs libpsl | grep "%(installdir)s/lib"',
]

moduleclass = 'lib'

[libpsl] [package list]