Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions easybuild/easyconfigs/g/gettext/gettext-0.22.5-GCCcore-13.3.0.eb
Original file line number Diff line number Diff line change
@@ -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'
39 changes: 39 additions & 0 deletions easybuild/easyconfigs/g/gettext/gettext-0.22.5.eb
Original file line number Diff line number Diff line change
@@ -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'
23 changes: 23 additions & 0 deletions easybuild/easyconfigs/l/libiconv/libiconv-1.17-GCCcore-13.3.0.eb
Original file line number Diff line number Diff line change
@@ -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'
27 changes: 27 additions & 0 deletions easybuild/easyconfigs/l/libxml2/libxml2-2.12.7-GCCcore-13.3.0.eb
Original file line number Diff line number Diff line change
@@ -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'
53 changes: 53 additions & 0 deletions easybuild/easyconfigs/n/ncurses/ncurses-6.5-GCCcore-13.3.0.eb
Original file line number Diff line number Diff line change
@@ -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'
48 changes: 48 additions & 0 deletions easybuild/easyconfigs/n/ncurses/ncurses-6.5.eb
Original file line number Diff line number Diff line change
@@ -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'
34 changes: 34 additions & 0 deletions easybuild/easyconfigs/x/XZ/XZ-5.4.5-GCCcore-13.3.0.eb
Original file line number Diff line number Diff line change
@@ -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'