Skip to content
Snippets Groups Projects
Commit d82e447b authored by Sebastian Achilles's avatar Sebastian Achilles
Browse files

{GCCcore} Perl, Perl-JSC-extra, Autotools

parent 92566b15
No related branches found
No related tags found
No related merge requests found
Showing
with 717 additions and 0 deletions
easyblock = 'ConfigureMake'
name = 'Autoconf'
version = '2.71'
homepage = 'https://www.gnu.org/software/autoconf/'
description = """
Autoconf is an extensible package of M4 macros that produce shell scripts
to automatically configure software source code packages. These scripts can
adapt the packages to many kinds of UNIX-like systems without manual user
intervention. Autoconf creates a configuration script for a package from a
template file that lists the operating system features that the package can
use, in the form of M4 macro calls.
"""
toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
source_urls = [GNU_SOURCE]
sources = [SOURCELOWER_TAR_GZ]
checksums = ['431075ad0bf529ef13cb41e9042c542381103e80015686222b8a9d4abef42a1c']
builddependencies = [
('binutils', '2.38'),
]
dependencies = [
('M4', '1.4.19'),
# non-standard Perl modules are required,
# see https://github.com/easybuilders/easybuild-easyconfigs/issues/1822
('Perl', '5.34.1'),
]
preconfigopts = "export PERL='/usr/bin/env perl' && "
sanity_check_paths = {
'files': ["bin/%s" % x
for x in ["autoconf", "autoheader", "autom4te", "autoreconf",
"autoscan", "autoupdate", "ifnames"]],
'dirs': [],
}
sanity_check_commands = [
"autoconf --help",
"autom4te --help",
]
moduleclass = 'devel'
##
# Author: Robert Mijakovic <robert.mijakovic@lxp.lu>
##
easyblock = 'ConfigureMake'
name = 'Autoconf'
version = '2.71'
homepage = 'https://www.gnu.org/software/autoconf/'
description = """Autoconf is an extensible package of M4 macros that produce shell scripts
to automatically configure software source code packages. These scripts can adapt the
packages to many kinds of UNIX-like systems without manual user intervention. Autoconf
creates a configuration script for a package from a template file that lists the
operating system features that the package can use, in the form of M4 macro calls."""
toolchain = SYSTEM
source_urls = [GNU_SOURCE]
sources = [SOURCELOWER_TAR_XZ]
checksums = ['f14c83cfebcc9427f2c3cea7258bd90df972d92eb26752da4ddad81c87a0faa4']
dependencies = [('M4', '1.4.19')]
sanity_check_paths = {
'files': ["bin/%s" % x for x in ["autoconf", "autoheader", "autom4te", "autoreconf", "autoscan",
"autoupdate", "ifnames"]],
'dirs': [],
}
hidden = True
moduleclass = 'devel'
easyblock = 'ConfigureMake'
name = 'Automake'
version = '1.16.5'
homepage = 'https://www.gnu.org/software/automake/automake.html'
description = "Automake: GNU Standards-compliant Makefile generator"
toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
source_urls = [GNU_SOURCE]
sources = [SOURCELOWER_TAR_GZ]
checksums = ['07bd24ad08a64bc17250ce09ec56e921d6343903943e99ccf63bbf0705e34605']
builddependencies = [
('binutils', '2.38'),
]
dependencies = [
('Autoconf', '2.71'),
# non-standard Perl modules are required,
# see https://github.com/easybuilders/easybuild-easyconfigs/issues/1822
('Perl', '5.34.1'),
]
preconfigopts = "export PERL='/usr/bin/env perl' && "
sanity_check_paths = {
'files': ['bin/aclocal', 'bin/automake'],
'dirs': []
}
sanity_check_commands = [
"aclocal --help",
"automake --help",
]
moduleclass = 'devel'
easyblock = 'ConfigureMake'
name = 'Automake'
version = '1.16.5'
homepage = 'https://www.gnu.org/software/automake/automake.html'
description = "Automake: GNU Standards-compliant Makefile generator"
toolchain = SYSTEM
source_urls = [GNU_SOURCE]
sources = [SOURCELOWER_TAR_GZ]
checksums = ['07bd24ad08a64bc17250ce09ec56e921d6343903943e99ccf63bbf0705e34605']
builddependencies = [
('binutils', '2.38'),
]
dependencies = [
('Autoconf', '2.71'),
]
preconfigopts = "export PERL='/usr/bin/env perl' && "
sanity_check_paths = {
'files': ['bin/aclocal', 'bin/automake'],
'dirs': []
}
sanity_check_commands = [
"aclocal --help",
"automake --help",
]
hidden = True
moduleclass = 'devel'
easyblock = 'Bundle'
name = 'Autotools'
version = '20220317' # date of the most recent change
homepage = 'https://autotools.io'
description = """
This bundle collect the standard GNU build tools: Autoconf, Automake
and libtool
"""
toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
dependencies = [
('Autoconf', '2.71'), # 20210128
('Automake', '1.16.5'), # 20211003
('libtool', '2.4.7'), # 20220317
]
# Pure bundle -- no need to specify 'binutils' used when building GCCcore
# toolchain as build dependency
moduleclass = 'devel'
easyblock = 'Bundle'
name = 'Autotools'
version = '20220317' # date of the most recent change
homepage = 'https://autotools.io'
description = """
This bundle collect the standard GNU build tools: Autoconf, Automake
and libtool
"""
toolchain = SYSTEM
dependencies = [
('Autoconf', '2.71'), # 20210128
('Automake', '1.16.5'), # 20211003
('libtool', '2.4.7'), # 20220317
]
# Pure bundle -- no need to specify 'binutils' used when building GCCcore
# toolchain as build dependency
hidden = True
moduleclass = 'devel'
easyblock = 'Bundle'
name = 'BioPerl'
version = '1.7.8'
homepage = 'https://bioperl.org/'
description = """Bioperl is the product of a community effort to produce Perl code which is useful in biology.
Examples include Sequence objects, Alignment objects and database searching objects."""
toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
builddependencies = [('binutils', '2.38')]
dependencies = [
('Perl', '5.34.1'),
('XML-LibXML', '2.0207'),
('DB_File', '1.858'),
]
exts_defaultclass = 'PerlModule'
exts_filter = ("perldoc -lm %(ext_name)s ", "")
exts_list = [
('XML::Writer', '0.900', {
'source_tmpl': 'XML-Writer-%(version)s.tar.gz',
'source_urls': ['https://cpan.metacpan.org/authors/id/J/JO/JOSEPHW'],
'checksums': ['73c8f5bd3ecf2b350f4adae6d6676d52e08ecc2d7df4a9f089fa68360d400d1f'],
}),
('XML::DOM::XPath', '0.14', {
'source_tmpl': 'XML-DOM-XPath-%(version)s.tar.gz',
'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIROD'],
'checksums': ['0173a74a515211997a3117a47e7b9ea43594a04b865b69da5a71c0886fa829ea'],
}),
('Bio::Procedural', '1.7.4', {
'source_tmpl': 'Bio-Procedural-%(version)s.tar.gz',
'source_urls': ['https://cpan.metacpan.org/authors/id/C/CJ/CJFIELDS/'],
'checksums': ['d2bd9cfbb091eee2d80ed6cf812ac3813b1c8a1aaca20671037f5f225d31d1da'],
}),
('BioPerl', version, {
'source_urls': ['https://cpan.metacpan.org/authors/id/C/CJ/CJFIELDS/'],
'checksums': ['c490a3be7715ea6e4305efd9710e5edab82dabc55fd786b6505b550a30d71738'],
}),
]
modextrapaths = {
'PERL5LIB': 'lib/perl5/site_perl/%(perlver)s/',
}
sanity_check_paths = {
'files': [],
'dirs': ['bin', 'lib/perl5/site_perl/%(perlver)s/Bio'],
}
moduleclass = 'bio'
name = 'DB'
version = '18.1.40'
homepage = 'https://www.oracle.com/technetwork/products/berkeleydb'
description = """Berkeley DB enables the development of custom data management
solutions, without the overhead traditionally associated with such custom
projects."""
toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
# use http to allow auto-downloading...
source_urls = ['http://download.oracle.com/berkeley-db/']
sources = [SOURCELOWER_TAR_GZ]
patches = ['%(name)s-%(version)s_fix_doc_install.patch']
checksums = [
'0cecb2ef0c67b166de93732769abdeba0555086d51de1090df325e18ee8da9c8', # db-18.1.40.tar.gz
'441f48568156f72f02a8662998d293cc7edad687604b4f8af722f21c6db2a52d', # DB-18.1.40_fix_doc_install.patch
]
builddependencies = [('binutils', '2.38')]
dependencies = [('OpenSSL', '1.1', '', True)]
sanity_check_paths = {
'files': ['bin/db_%s' % x for x in ['archive', 'checkpoint', 'convert', 'deadlock', 'dump', 'hotbackup',
'load', 'log_verify', 'printlog', 'recover', 'replicate', 'stat',
'tuner', 'upgrade', 'verify']] +
['include/db.h', 'lib/libdb.a', 'lib/libdb.%s' % SHLIB_EXT],
'dirs': [],
}
moduleclass = 'tools'
easyblock = 'PerlModule'
name = 'DB_File'
version = '1.858'
homepage = 'https://perldoc.perl.org/DB_File.html'
description = """Perl5 access to Berkeley DB version 1.x."""
toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
source_urls = ['https://www.cpan.org/modules/by-module/DB_File/PMQS']
sources = [SOURCE_TAR_GZ]
checksums = ['ceb7a2868bd71f87b31e8b7c38d6f8cc0a31fb0322a377ee448994f094d0a7f6']
builddependencies = [
('binutils', '2.38'),
]
dependencies = [
('Perl', '5.34.1'),
('DB', '18.1.40'),
]
preconfigopts = 'env DB_FILE_INCLUDE="$EBROOTDB/include" DB_FILE_LIB="$EBROOTDB/lib" '
sanity_check_paths = {
'files': ['lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi/DB_File.pm'],
'dirs': [],
}
moduleclass = 'data'
easyblock = 'ConfigureMake'
name = 'expat'
version = '2.4.8'
homepage = 'https://libexpat.github.io'
description = """
Expat is an XML parser library written in C. It is a stream-oriented parser
in which an application registers handlers for things the parser might find
in the XML document (like start tags)
"""
toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
toolchainopts = {'pic': True}
source_urls = ['https://github.com/libexpat/libexpat/releases/download/R_%s/' % version.replace('.', '_')]
sources = [SOURCE_TAR_BZ2]
checksums = ['a247a7f6bbb21cf2ca81ea4cbb916bfb9717ca523631675f99b3d4a5678dcd16']
builddependencies = [('binutils', '2.38')]
# Since expat 2.2.6, docbook2X is needed to produce manpage of xmlwf.
# Docbook2X needs XML-Parser and XML-Parser needs expat.
# -> circular dependency. "--without-docbook" breaks this circle.
configopts = ['--without-docbook']
sanity_check_paths = {
'files': ['include/expat.h', 'lib/libexpat.a', 'lib/libexpat.%s' % SHLIB_EXT],
'dirs': [],
}
moduleclass = 'tools'
easyblock = 'ConfigureMake'
name = 'gettext'
version = '0.21'
homepage = 'https://www.gnu.org/software/gettext/'
description = """GNU 'gettext' is an important step for the GNU Translation Project, as it is an asset on which we may
build many other steps. This package offers to programmers, translators, and even users, a well integrated set of tools
and documentation"""
toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
source_urls = [GNU_SOURCE]
sources = [SOURCE_TAR_GZ]
checksums = ['c77d0da3102aec9c07f43671e60611ebff89a996ef159497ce8e59d075786b12']
builddependencies = [('binutils', '2.38')]
dependencies = [
('libxml2', '2.9.13'),
('ncurses', '6.3'),
]
configopts = '--without-emacs --with-libxml2-prefix=$EBROOTLIBXML2'
sanity_check_paths = {
'files': ['bin/gettext', 'lib/libasprintf.a', 'lib/libasprintf.%s' % SHLIB_EXT,
'lib/libgettextpo.a', 'lib/libgettextpo.%s' % SHLIB_EXT],
'dirs': ['include'],
}
moduleclass = 'tools'
easyblock = 'ConfigureMake'
name = 'gettext'
version = '0.21'
homepage = 'https://www.gnu.org/software/gettext/'
description = """GNU 'gettext' is an important step for the GNU Translation Project, as it is an asset on which we may
build many other steps. This package offers to programmers, translators, and even users, a well integrated set of tools
and documentation"""
# This is a basic stripped down version of gettext without any
# dependencies on other packages used as initial builddep for XZ
# It is the first step in the cyclic dependency chain of
# XZ -> libxml2 -> gettext -> XZ
toolchain = SYSTEM
source_urls = [GNU_SOURCE]
sources = [SOURCE_TAR_GZ]
checksums = ['c77d0da3102aec9c07f43671e60611ebff89a996ef159497ce8e59d075786b12']
dependencies = [
('ncurses', '6.3'),
]
configopts = '--without-emacs --with-included-libxml --without-xz --without-bzip2'
sanity_check_paths = {
'files': ['bin/gettext', 'lib/libasprintf.a', 'lib/libasprintf.%s' % SHLIB_EXT,
'lib/libgettextpo.a', 'lib/libgettextpo.%s' % SHLIB_EXT],
'dirs': ['include'],
}
moduleclass = 'tools'
easyblock = 'ConfigureMake'
name = 'groff'
version = '1.22.4'
homepage = 'https://www.gnu.org/software/groff'
description = """Groff (GNU troff) is a typesetting system that reads plain text mixed with formatting commands
and produces formatted output."""
toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
source_urls = ['https://ftp.gnu.org/gnu/groff']
sources = [SOURCE_TAR_GZ]
checksums = ['e78e7b4cb7dec310849004fa88847c44701e8d133b5d4c13057d876c1bad0293']
builddependencies = [
('binutils', '2.38'),
]
configopts = '--with-doc=no'
sanity_check_paths = {
'files': ['bin/groff', 'bin/nroff', 'bin/troff'],
'dirs': ['lib/groff', 'share'],
}
moduleclass = 'tools'
easyblock = 'ConfigureMake'
name = 'libreadline'
version = '8.1.2'
homepage = 'https://tiswww.case.edu/php/chet/readline/rltop.html'
description = """
The GNU Readline library provides a set of functions for use by applications
that allow users to edit command lines as they are typed in. Both Emacs and
vi editing modes are available. The Readline library includes additional
functions to maintain a list of previously-entered command lines, to recall
and perhaps reedit those lines, and perform csh-like history expansion on
previous commands.
"""
toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
toolchainopts = {'pic': True}
source_urls = ['https://ftp.gnu.org/gnu/readline']
sources = ['readline-%(version)s.tar.gz']
checksums = ['7589a2381a8419e68654a47623ce7dfcb756815c8fee726b98f90bf668af7bc6']
builddependencies = [
('binutils', '2.38'),
]
dependencies = [
('ncurses', '6.3'),
]
# for the termcap symbols, use EB ncurses
buildopts = "SHLIB_LIBS='-lncurses'"
sanity_check_paths = {
'files': ['lib/libreadline.a', 'lib/libhistory.a'] +
['include/readline/%s' % x
for x in ['chardefs.h', 'history.h', 'keymaps.h', 'readline.h',
'rlconf.h', 'rlstdc.h', 'rltypedefs.h', 'tilde.h']],
'dirs': [],
}
moduleclass = 'lib'
easyblock = 'ConfigureMake'
name = 'libtool'
version = '2.4.7'
homepage = 'https://www.gnu.org/software/libtool'
description = """
GNU libtool is a generic library support script. Libtool hides the complexity
of using shared libraries behind a consistent, portable interface.
"""
toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
source_urls = [GNU_SOURCE]
sources = [SOURCELOWER_TAR_GZ]
checksums = ['04e96c2404ea70c590c546eba4202a4e12722c640016c12b9b2f1ce3d481e9a8']
builddependencies = [
('binutils', '2.38'),
]
dependencies = [
('M4', '1.4.19'),
]
sanity_check_paths = {
'files': ['bin/libtool', 'bin/libtoolize', 'lib/libltdl.%s' % SHLIB_EXT],
'dirs': ['include/libltdl', 'share/libtool/loaders', 'share/man/man1'],
}
moduleclass = 'lib'
easyblock = 'ConfigureMake'
name = 'libtool'
version = '2.4.7'
homepage = 'https://www.gnu.org/software/libtool'
description = """
GNU libtool is a generic library support script. Libtool hides the complexity
of using shared libraries behind a consistent, portable interface.
"""
toolchain = SYSTEM
source_urls = [GNU_SOURCE]
sources = [SOURCELOWER_TAR_GZ]
checksums = ['04e96c2404ea70c590c546eba4202a4e12722c640016c12b9b2f1ce3d481e9a8']
builddependencies = [
('binutils', '2.38'),
]
dependencies = [
('M4', '1.4.19'),
]
sanity_check_paths = {
'files': ['bin/libtool', 'bin/libtoolize', 'lib/libltdl.%s' % SHLIB_EXT],
'dirs': ['include/libltdl', 'share/libtool/loaders', 'share/man/man1'],
}
moduleclass = 'lib'
name = 'libxml2'
version = '2.9.13'
homepage = 'http://xmlsoft.org/'
description = """
Libxml2 is the XML C parser and toolchain developed for the Gnome project
(but usable outside of the Gnome platform).
"""
toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
toolchainopts = {'pic': True}
source_urls = ['https://download.gnome.org/sources/libxml2/%(version_major_minor)s/']
sources = [SOURCE_TAR_XZ]
checksums = ['276130602d12fe484ecc03447ee5e759d0465558fbc9d6bd144e3745306ebf0e']
builddependencies = [
('binutils', '2.38'),
]
dependencies = [
('XZ', '5.2.5'),
('zlib', '1.2.12'),
]
moduleclass = 'lib'
easyblock = 'ConfigureMake'
name = 'ncurses'
version = '6.3'
homepage = 'https://www.gnu.org/software/ncurses/'
description = """
The Ncurses (new curses) library is a free software emulation of curses in
System V Release 4.0, and more. It uses Terminfo format, supports pads and
color and multiple highlights and forms characters and function-key mapping,
and has all the other SYSV-curses enhancements over BSD Curses.
"""
toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
toolchainopts = {'pic': True}
source_urls = [GNU_SOURCE]
sources = [SOURCE_TAR_GZ]
checksums = ['97fc51ac2b085d4cde31ef4d2c3122c21abc217e9090a43a30fc5ec21684e059']
builddependencies = [('binutils', '2.38')]
local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks "
configopts = [
# build ncurses: serial build in default paths with shared libraries
local_common_configopts,
# build ncursesw: serial with UTF-8
local_common_configopts + "--enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/",
]
# Symlink libtinfo to libncurses
# libncurses with this configopts has all the symbols from libtinfo, but some packages look for libtinfo specifically
postinstallcmds = ['cd %(installdir)s/lib && for l in libncurses{.,_,w}*; do ln -s "${l}" "${l/ncurses/tinfo}"; done']
_target_suffix = ['', 'w'] # '': ncurses, 'w': ncursesw
_lib_suffix = ['%s%s' % (x, y) for x in _target_suffix for y in ['.a', '_g.a', '.' + SHLIB_EXT]]
_lib_names = ['form', 'menu', 'ncurses', 'panel', 'tinfo']
sanity_check_paths = {
'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses%(version_major)s-config",
"reset", "tabs", "tic", "toe", "tput", "tset"]] +
['lib/lib%s%s' % (x, y) for x in _lib_names for y in _lib_suffix] +
['lib/libncurses++%s.a' % x for x in _target_suffix],
'dirs': ['include', 'include/ncursesw'],
}
moduleclass = 'devel'
easyblock = 'ConfigureMake'
name = 'ncurses'
version = '6.3'
homepage = 'https://www.gnu.org/software/ncurses/'
description = """
The Ncurses (new curses) library is a free software emulation of curses in
System V Release 4.0, and more. It uses Terminfo format, supports pads and
color and multiple highlights and forms characters and function-key mapping,
and has all the other SYSV-curses enhancements over BSD Curses.
"""
toolchain = SYSTEM
source_urls = [GNU_SOURCE]
sources = [SOURCE_TAR_GZ]
checksums = ['97fc51ac2b085d4cde31ef4d2c3122c21abc217e9090a43a30fc5ec21684e059']
local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks "
configopts = [
# build ncurses: serial build in default paths with shared libraries
local_common_configopts,
# build ncursesw: serial with UTF-8
local_common_configopts + "--enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/",
]
# need to take care of $CFLAGS ourselves with dummy toolchain
# we need to add -fPIC, but should also include -O* option to avoid compiling with -O0 (default for GCC)
buildopts = 'CFLAGS="-O2 -fPIC"'
# Symlink libtinfo to libncurses
# libncurses with this configopts has all the symbols from libtinfo, but some packages look for libtinfo specifically
postinstallcmds = ['cd %(installdir)s/lib && for l in libncurses{.,_,w}*; do ln -s "${l}" "${l/ncurses/tinfo}"; done']
_target_suffix = ['', 'w'] # '': ncurses, 'w': ncursesw
_lib_suffix = ['%s%s' % (x, y) for x in _target_suffix for y in ['.a', '_g.a', '.' + SHLIB_EXT]]
_lib_names = ['form', 'menu', 'ncurses', 'panel', 'tinfo']
sanity_check_paths = {
'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses%(version_major)s-config",
"reset", "tabs", "tic", "toe", "tput", "tset"]] +
['lib/lib%s%s' % (x, y) for x in _lib_names for y in _lib_suffix] +
['lib/libncurses++%s.a' % x for x in _target_suffix],
'dirs': ['include', 'include/ncursesw'],
}
moduleclass = 'devel'
easyblock = 'EB_OpenSSL_wrapper'
name = 'OpenSSL'
version = '1.1'
minimum_openssl_version = '1.1.1'
homepage = 'https://www.openssl.org/'
description = """The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured,
and Open Source toolchain implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1)
protocols as well as a full-strength general purpose cryptography library. """
toolchain = SYSTEM
toolchainopts = {'pic': True}
osdependencies = ['perl']
builddependencies = [('pkgconf', '1.8.0')]
# This easyconfig will wrap the OpenSSL installation in the host system.
# If the system provides the required binary, header files, and libraries for
# this version of OpenSSL, the installation directory of this module will be
# populated with symlinks to the system files. The minimum required version of
# OpenSSL can be finely controled with 'minimum_openssl_version' (defaults to
# easyconfig version).
# If the host system does not have this version of OpenSSL (or with the option
# wrap_system_openssl = False), EasyBuild will fall back to the following
# component list, which will be build and installed as usual.
components = [
(name, '1.1.1o', {
'easyblock': 'EB_OpenSSL',
'source_urls': ['https://www.openssl.org/source/'],
'sources': [SOURCELOWER_TAR_GZ],
'checksums': ['9384a2b0570dd80358841464677115df785edb941c71211f75076d72fe6b438f'],
'start_dir': '%(namelower)s-%(version)s',
}),
]
moduleclass = 'system'
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment