Skip to content

[Perl] [package list]

Perl/5.40.2-cpeAOCC-25.09 (Perl-5.40.2-cpeAOCC-25.09.eb)

To access module help and find out for which stacks and partitions the module is installed, use module spider Perl/5.40.2-cpeAOCC-25.09.

EasyConfig:

local_Perl_version =         '5.40.2'        # https://www.perl.org/get.html

local_expat_version =        '2.7.3'         # https://github.com/libexpat/libexpat/releases

name =          'Perl'
version =       local_Perl_version

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

whatis = [
    "Description: PERL 5 interpreter (Practical Extraction and Report Language)"
]

description = """
PERL 5, Larry Wall's Practical Extraction and Report Language.

This module already contains a lot of packages based on the default
EasyBuild perl configuration.

From this version on, we only include a minimal number of packages to
speed up development of a new software stack. Over time, Perl-packages-*
modules may be made available with additional packages.
"""

software_license_urls = [
    'https://dev.perl.org/licenses/',
]

toolchain = {'name': 'cpeAOCC', 'version': '25.09'}
toolchain_opts = {'pic': True}

# https://www.cpan.org/src/5.0/perl-5.40.2.tar.gz
source_urls = ['https://www.cpan.org/src/%(version_major)s.0']
sources =     [SOURCELOWER_TAR_GZ]
checksums =   ['10d4647cfbb543a7f9ae3e5f6851ec49305232ea7621aed24c7cfbb0bef4b70d']

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

deps = [
    ('expat',       local_expat_version),        # for XML::Parser
]

os_deps = [
    ('groff'),                                           # build dependency only
]

# 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

#skip_steps = ['test']

# !! order of extensions is important !!
# extensions updated on 2023-09-03
# includes all deps for Autotools
exts_list = [
    ('Getopt::Long', '2.58', {
        'source_tmpl': 'Getopt-Long-%(version)s.tar.gz',
        'source_urls': ['https://cpan.metacpan.org/authors/id/J/JV/JV'],
        'checksums':   ['1305ed46ea21f794304e97aa3dcd3a38519059785e9db7415daf2c218506c569'],
    }),
    ('File::Path', '2.18', {
        'source_tmpl': 'File-Path-%(version)s.tar.gz',
        'source_urls': ['https://cpan.metacpan.org/authors/id/J/JK/JKEENAN/'],
        'checksums':   ['980f0a17edb353df46e9cd7b357f9f5929cde0f80c45fd7a06cf7e0e8bd6addd'],
    }),
    ('File::Spec', '3.75', {
        'source_tmpl': 'PathTools-%(version)s.tar.gz',
        'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'],
        'checksums':   ['a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2'],
    }),
    ('Text::ParseWords', '3.31', {
        'source_tmpl': 'Text-ParseWords-%(version)s.tar.gz',
        'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB/'],
        'checksums':   ['2ae555ba084d75b2b8feeeb8d1a00911276815ada86bccb1452236964d5a2fc7'],
    }),
    #
    # Own additions
    #
    ('XML::Parser', '2.47', { # Needed for intltool. See if this works without all deps... Needs expat
        'source_tmpl': 'XML-Parser-%(version)s.tar.gz',
        'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'],
        'checksums':   ['ad4aae643ec784f489b956abe952432871a622d4e2b5c619e8855accbfc4d1d8'],
    }),
]

post_install_cmds = [ # Problem: This seems to run from the last extension.
    'mkdir -p %(installdir)s/share/licenses/%(name)s',
    'cd %(start_dir)s && cp AUTHORS Copying README README.linux SECURITY.md %(installdir)s/share/licenses/%(name)s',   
]

env_mod_category = 'lang'

[Perl] [package list]