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
27 changes: 27 additions & 0 deletions easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-15.2.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name = 'bzip2'
version = '1.0.8'

homepage = 'https://sourceware.org/bzip2'
description = """
bzip2 is a freely available, patent free, high-quality data compressor. It
typically compresses files to within 10% to 15% of the best available
techniques (the PPM family of statistical compressors), whilst being around
twice as fast at compression and six times faster at decompression.
"""

toolchain = {'name': 'GCCcore', 'version': '15.2.0'}
toolchainopts = {'pic': True}

source_urls = ['https://sourceware.org/pub/%(name)s/']
sources = [SOURCE_TAR_GZ]
patches = ['bzip2-%(version)s-pkgconfig.patch']
checksums = [
'ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269', # bzip2-1.0.8.tar.gz
'9299e8ee4d014ea973777b6ea90661fe329dfa991f822add4c763ea9ddb9aab1', # bzip2-1.0.8-pkgconfig.patch
]

builddependencies = [
('binutils', '2.45'),
]

moduleclass = 'tools'
55 changes: 55 additions & 0 deletions easybuild/easyconfigs/n/ncurses/ncurses-6.6-GCCcore-15.2.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
easyblock = 'ConfigureMake'

name = 'ncurses'
version = '6.6'

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': '15.2.0'}
toolchainopts = {'pic': True}

source_urls = [GNU_SOURCE]
sources = [SOURCE_TAR_GZ]
checksums = ['355b4cbbed880b0381a04c46617b7656e362585d52e9cf84a67e2009b749ff11']

builddependencies = [
('binutils', '2.45'),
('pkgconf', '2.5.1'),
]

# Avoid ncurses trying to write to system paths if TERMINFO is set
preconfigopts = "unset TERMINFO && "
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'
38 changes: 38 additions & 0 deletions easybuild/easyconfigs/p/pkgconf/pkgconf-2.5.1-GCCcore-15.2.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
easyblock = 'ConfigureMake'

name = 'pkgconf'
version = '2.5.1'

homepage = 'https://github.com/pkgconf/pkgconf'

description = """pkgconf is a program which helps to configure compiler and linker flags for development libraries.
It is similar to pkg-config from freedesktop.org."""

toolchain = {'name': 'GCCcore', 'version': '15.2.0'}

source_urls = ['https://github.com/pkgconf/pkgconf/archive/refs/tags/']
sources = [SOURCE_TAR_GZ]
checksums = ['79721badcad1987dead9c3609eb4877ab9b58821c06bdacb824f2c8897c11f2a']

builddependencies = [
('binutils', '2.45'),
('Autotools', '20250626'),
]

preconfigopts = './autogen.sh && '

postinstallcmds = ["cd %(installdir)s/bin && ln -s pkgconf pkg-config"]

sanity_check_paths = {
'files': ['bin/pkg-config', 'bin/pkgconf'],
'dirs': [],
}

sanity_check_commands = [
"pkg-config --help",
"pkgconf --help",
]

modextravars = {'PKG_CONFIG': '%(installdir)s/bin/pkgconf'}

moduleclass = 'devel'
60 changes: 60 additions & 0 deletions easybuild/easyconfigs/u/UnZip/UnZip-6.0-GCCcore-15.2.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
easyblock = 'ConfigureMake'

name = 'UnZip'
version = '6.0'

homepage = 'http://www.info-zip.org/UnZip.html'
description = """UnZip is an extraction utility for archives compressed
in .zip format (also called "zipfiles"). Although highly compatible both
with PKWARE's PKZIP and PKUNZIP utilities for MS-DOS and with Info-ZIP's
own Zip program, our primary objectives have been portability and
non-MSDOS functionality."""

toolchain = {'name': 'GCCcore', 'version': '15.2.0'}
toolchainopts = {'cstd': 'gnu89'}

source_urls = ['https://download.sourceforge.net/infozip']
sources = ['%(namelower)s%(version_major)s%(version_minor)s.tar.gz']
patches = [
'UnZip-%(version)s_various-security-and-other-fixes-from-Ubuntu.patch',
]
checksums = [
'036d96991646d0449ed0aa952e4fbe21b476ce994abc276e49d30e686708bd37', # unzip60.tar.gz
# UnZip-6.0_various-security-and-other-fixes-from-Ubuntu.patch
'06b9307fd5aa018896bd4126818c00c1fd284a06cc3681cf0492f951ebb57ffe',
]

builddependencies = [
('binutils', '2.45'),
]

dependencies = [
('bzip2', '1.0.8'),
]

skipsteps = ['configure']

local_cf = ['$CFLAGS', '$CPPFLAGS', '-I.', '-DACORN_FTYPE_NFS', '-DWILD_STOP_AT_DIR', '-DLARGE_FILE_SUPPORT'
'-DUNICODE_SUPPORT', '-DUNICODE_WCHAR', '-DUTF8_MAYBE_NATIVE', '-DNO_LCHMOD', '-DDATE_FORMAT=DF_YMD',
'-DUSE_BZIP2', '-DIZ_HAVE_UXUIDGID', '-DNOMEMCPY', '-DNO_WORKING_ISPRINT']

buildopts = ' '.join([
"-f unix/Makefile",
'CC="$CC"',
'D_USE_BZ2=-DUSE_BZIP2',
'L_BZ2=-lbz2',
'LF2="$LDFLAGS"',
'CF="%s"' % ' '.join(local_cf),
'unzips',
])

installopts = '-f unix/Makefile prefix=%(installdir)s '

sanity_check_paths = {
'files': ['bin/unzip', 'bin/zipinfo'],
'dirs': ['man/man1']
}

sanity_check_commands = ["unzip -v"]

moduleclass = 'tools'