diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.22.5-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/gettext/gettext-0.22.5-GCCcore-13.3.0.eb new file mode 100644 index 000000000000..b5e182315e95 --- /dev/null +++ b/easybuild/easyconfigs/g/gettext/gettext-0.22.5-GCCcore-13.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'gettext' +version = '0.22.5' + +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': '13.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['ec1705b1e969b83a9f073144ec806151db88127f5e40fe5a94cb6c8fa48996a0'] + +builddependencies = [('binutils', '2.42')] + +dependencies = [ + ('libxml2', '2.12.7'), + ('ncurses', '6.5'), + ('libiconv', '1.17'), +] + +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'], +} + +sanity_check_commands = [ + "gettext --help", + "msginit --help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.22.5.eb b/easybuild/easyconfigs/g/gettext/gettext-0.22.5.eb new file mode 100644 index 000000000000..9c596a9eb895 --- /dev/null +++ b/easybuild/easyconfigs/g/gettext/gettext-0.22.5.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'gettext' +version = '0.22.5' + +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 = ['ec1705b1e969b83a9f073144ec806151db88127f5e40fe5a94cb6c8fa48996a0'] + +dependencies = [ + ('ncurses', '6.5'), +] + +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'], +} + +sanity_check_commands = [ + "gettext --help", + "msginit --help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/libiconv/libiconv-1.17-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libiconv/libiconv-1.17-GCCcore-13.3.0.eb new file mode 100644 index 000000000000..0532a96c2340 --- /dev/null +++ b/easybuild/easyconfigs/l/libiconv/libiconv-1.17-GCCcore-13.3.0.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'libiconv' +version = '1.17' + +homepage = 'https://www.gnu.org/software/libiconv' +description = "Libiconv converts from one character encoding to another through Unicode conversion" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['8f74213b56238c85a50a5329f77e06198771e70dd9a739779f4c02f65d971313'] + +builddependencies = [('binutils', '2.42')] + +sanity_check_paths = { + 'files': ['bin/iconv', 'include/iconv.h', 'include/libcharset.h', 'include/localcharset.h', + 'lib/libcharset.a', 'lib/libcharset.%s' % SHLIB_EXT, 'lib/libiconv.%s' % SHLIB_EXT], + 'dirs': ['share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.12.7-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.12.7-GCCcore-13.3.0.eb new file mode 100644 index 000000000000..a8a21aceaa9a --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.12.7-GCCcore-13.3.0.eb @@ -0,0 +1,27 @@ +name = 'libxml2' +version = '2.12.7' + +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': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.gnome.org/sources/libxml2/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['24ae78ff1363a973e6d8beba941a7945da2ac056e19b53956aeb6927fd6cfb56'] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('XZ', '5.4.5'), + ('zlib', '1.3.1'), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.5-GCCcore-13.3.0.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.5-GCCcore-13.3.0.eb new file mode 100644 index 000000000000..c34643c0b374 --- /dev/null +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.5-GCCcore-13.3.0.eb @@ -0,0 +1,53 @@ +easyblock = 'ConfigureMake' + +name = 'ncurses' +version = '6.5' + +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': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['136d91bc269a9a5785e5f9e980bc76ab57428f604ce3e5a5a90cebc767971cc6'] + +builddependencies = [ + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), +] + +local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks --with-versioned-syms " +local_common_configopts += "--enable-pc-files --with-pkg-config-libdir=%(installdir)s/lib/pkgconfig " +configopts = [ + # build ncurses: serial build in default paths with shared libraries + local_common_configopts + "--disable-widec", + # 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'] +_pc_names = ['form', 'menu', 'ncurses++', 'ncurses', 'panel'] + +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] + + ['lib/pkgconfig/%s%s.pc' % (x, y) for x in _pc_names for y in _target_suffix], + 'dirs': ['include', 'include/ncursesw'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.5.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.5.eb new file mode 100644 index 000000000000..a3ff51a30fcf --- /dev/null +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.5.eb @@ -0,0 +1,48 @@ +easyblock = 'ConfigureMake' + +name = 'ncurses' +version = '6.5' + +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 = ['136d91bc269a9a5785e5f9e980bc76ab57428f604ce3e5a5a90cebc767971cc6'] + +local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks --with-versioned-syms " +configopts = [ + # build ncurses: serial build in default paths with shared libraries + local_common_configopts + "--disable-widec", + # 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 SYSTEM 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' diff --git a/easybuild/easyconfigs/x/XZ/XZ-5.4.5-GCCcore-13.3.0.eb b/easybuild/easyconfigs/x/XZ/XZ-5.4.5-GCCcore-13.3.0.eb new file mode 100644 index 000000000000..4e11c10a1796 --- /dev/null +++ b/easybuild/easyconfigs/x/XZ/XZ-5.4.5-GCCcore-13.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'XZ' +version = '5.4.5' + +homepage = 'https://tukaani.org/xz/' +description = "xz: XZ utilities" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://tukaani.org/xz/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['8ccf5fff868c006f29522e386fb4c6a1b66463fbca65a4cfc3c4bd596e895e79'] + +builddependencies = [ + # use gettext built with system toolchain as build dep to avoid cyclic dependency (XZ -> gettext -> libxml2 -> XZ) + ('gettext', '0.22.5', '', SYSTEM), + ('binutils', '2.42'), +] + +# may become useful in non-x86 archs +# configopts = ' --disable-assembler ' + +sanity_check_paths = { + 'files': ['bin/lzmainfo', 'bin/unxz', 'bin/xz'], + 'dirs': [] +} + +sanity_check_commands = [ + "xz --help", + "unxz --help", +] + +moduleclass = 'tools'