Skip to content

[libevent] [package list]

libevent/2.1.12-cpeGNU-23.12 (libevent-2.1.12-cpeGNU-23.12.eb)

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

EasyConfig:

easyblock = 'ConfigureMake'

local_zlib_version =         '1.3.1'         # https://zlib.net/
local_libevent_version =     '2.1.12'        # https://libevent.org/

name =    'libevent'
version = local_libevent_version

homepage = 'https://libevent.org/'

whatis = [
    "Description: libevent is an event notification library",
]

description = """
The libevent API provides a mechanism to execute a callback function when
a specific event occurs on a file descriptor or after a timeout has been
reached.  Furthermore, libevent also support callbacks due to signals or
regular timeouts.
"""

usage = """
Note that the event_rpcgen.py script will use whatever python executable it
comes across first in the path. Hence it may fail when a Python module is
loaded.
"""

software_license_urls = [
    'https://libevent.org/LICENSE.txt',
]

toolchain = {'name': 'cpeGNU', 'version': '23.12'}
toolchainopts = {'pic': True}

source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/release-%(version)s-stable/']
sources =     ['%(name)s-%(version)s-stable.tar.gz']
checksums =   ['92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb']

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

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

osdependencies = [
    ('openssl-devel', 'libssl-dev', 'libopenssl-devel'),
]

# 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

#configopts = '--disable-openssl'

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

#local_lib_exts = ['', '_core', '_extra', '_openssl', '_pthreads']
local_lib_exts = ['', '_core', '_extra', '_pthreads']

sanity_check_paths = {
    'files': ['bin/event_rpcgen.py', 'include/event.h', 'include/event2/event.h'] +
             ['lib/libevent%s.%s' % (x,y) for x in local_lib_exts for y in ['a', 'la', SHLIB_EXT]] +
             ['lib/pkgconfig/libevent%s.pc' % x for x in local_lib_exts] +
             [f'share/licenses/{name}/LICENSE'],
    'dirs':  [],
}

sanity_check_commands = [ 
    'pkg-config --libs libevent%s' % x for x in local_lib_exts
]

moduleclass = 'lib'

[libevent] [package list]