Skip to content

[PCRE2] [package list]

PCRE2/10.42-cpeCray-23.09 (PCRE2-10.42-cpeCray-23.09.eb)

To access module help and find out for which stacks and partitions the module is installed, use module spider PCRE2/10.42-cpeCray-23.09.

EasyConfig:

easyblock = 'ConfigureMake'

local_libreadline_version =  '8.2'           # https://ftp.gnu.org/pub/gnu/readline/
local_zlib_version =         '1.2.13'        # https://zlib.net/
local_bzip2_version =        '1.0.8'         # http://www.bzip.org/downloads.html
local_PCRE2_version =        '10.42'         # https://ftp.pcre.org/pub/pcre/

name =    'PCRE2'
version = local_PCRE2_version

homepage = 'http://www.pcre.org/'

whatis = [
    'Description: PCRE2 is a library for Perl-compatible regular expressions, this one with the version 2 API',
    'This package provides some command line tools and static and shared libraries'
]

description = """
The PCRE library is a set of functions that implement regular expression pattern
matching using the same syntax and semantics as Perl 5. PCRE has its own native
API, as well as a set of wrapper functions that correspond to the POSIX regular
expression API. The PCRE library is free, even for building proprietary software.
"""

docurls = [
    "Man pages in section 1 (pcre2grep, pcre2test) and 3 (API, start with pcre2)",
    "http://www.pcre.org/current/doc/html/",
]

toolchain = {'name': 'cpeCray', 'version': '23.09'}
toolchainopts = {'pic': True}

source_urls = ['https://github.com/PCRE2Project/%(namelower)s/releases/download/%(namelower)s-%(version)s']
sources =     [SOURCELOWER_TAR_BZ2]
checksums =   ['8d36cd8cb6ea2a4c2bb358ff6411b0c788633a2a45dabbf1aeb4b701d1b5e840']

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

dependencies = [
    ('libreadline', local_libreadline_version),
    ('zlib',        local_zlib_version),
    ('bzip2',       local_bzip2_version),
]

configopts  = "--with-pic --disable-cpp --enable-newline-is-any "
configopts += "--enable-pcre2-16 --enable-pcre2-32 "
configopts += "--enable-jit "
configopts += "--enable-pcre2grep-libz --enable-pcre2grep-libbz2 --enable-pcre2test-libreadline "

#configopts = "--enable-shared --enable-jit --enable-pcre2-16 --enable-unicode"

sanity_check_paths = {
    'files': ["bin/pcre2-config", "bin/pcre2grep", "bin/pcre2test", "lib/libpcre2-8.a", "lib/libpcre2-16.a"],
    'dirs': [],
}

local_executables = ['pcre2-config', 'pcre2grep', 'pcre2test']
local_lib_variants = ['posix', '8', '16', '32']
sanity_check_paths = {
    'files': ['bin/%s' %x for x in local_executables] +
             ['share/man/man1/%s.1' % x for x in local_executables] +
             ['lib/libpcre2-%s.%s' % (x,y) for x in local_lib_variants for y in ['a', 'la', SHLIB_EXT]] +
             ['lib/pkgconfig/libpcre2-%s.pc' % x for x in local_lib_variants] +
             ['include/pcre2.h', 'include/pcre2posix.h'],
    'dirs': ['share/doc/pcre2/html', 'share/man/man3'],
}

sanity_check_commands = [
    '%s --version' % x for x in local_executables] + [
    'pkg-config --libs libpcre2-%s' % x for x in local_lib_variants]

moduleclass = 'devel'

[PCRE2] [package list]