new file: b/Brotli/Brotli-1.1.0-GCCcore-14.2.0.eb

new file:   e/Emacs/Emacs-29.4-GCCcore-12.2.0.eb
	new file:   e/Emacs/Emacs-29.4-GCCcore-14.2.0.eb
	new file:   f/fontconfig/fontconfig-2.15.0-GCCcore-14.2.0.eb
	new file:   f/freetype/freetype-2.13.2-GCCcore-14.2.0.eb
	new file:   g/GTK3/GTK3-3.24.42-GCCcore-14.2.0.eb
	new file:   g/gettext/gettext-0.22.5-GCCcore-14.2.0.eb
	new file:   g/gperf/gperf-3.1-GCCcore-14.2.0.eb
	new file:   i/intltool/intltool-0.51.0-GCCcore-14.2.0.eb
	new file:   j/jbigkit/jbigkit-2.1-GCCcore-14.2.0.eb
	new file:   l/LibTIFF/LibTIFF-4.7.0-GCCcore-14.2.0.eb
	new file:   l/libdeflate/libdeflate-1.20-GCCcore-14.2.0.eb
	new file:   l/libjpeg-turbo/libjpeg-turbo-3.0.1-GCCcore-14.2.0.eb
	new file:   l/libpng/libpng-1.6.45-GCCcore-14.2.0.eb
	new file:   n/NASM/NASM-2.16.03-GCCcore-14.2.0.eb
	new file:   p/Python/Python-3.13.1-GCCcore-12.2.0.eb
	new file:   u/util-linux/util-linux-2.40-GCCcore-14.2.0.eb
	new file:   x/X11/X11-20240607-GCCcore-14.2.0.eb
This commit is contained in:
Lukas Krupcik 2025-01-28 16:24:47 +01:00
parent ad23978c4e
commit fdd72d4f6f
18 changed files with 985 additions and 0 deletions

View File

@ -0,0 +1,37 @@
# IT4Innovations
# LK 2025
easyblock = 'CMakeMake'
name = 'Brotli'
version = '1.1.0'
homepage = 'https://github.com/google/brotli'
description = """Brotli is a generic-purpose lossless compression algorithm that compresses data using a combination
of a modern variant of the LZ77 algorithm, Huffman coding and 2nd order context modeling, with a compression ratio
comparable to the best currently available general-purpose compression methods. It is similar in speed with deflate
but offers more dense compression.
The specification of the Brotli Compressed Data Format is defined in RFC 7932."""
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
source_urls = ['https://github.com/google/brotli/archive']
sources = ['v%(version)s.tar.gz']
checksums = ['e720a6ca29428b803f4ad165371771f5398faba397edf6778837a18599ea13ff']
builddependencies = [
('binutils', '2.42'),
('CMake', '3.31.3'),
]
configopts = ['-DBUILD_SHARED_LIBS=ON', '-DBUILD_SHARED_LIBS=OFF']
sanity_check_paths = {
'files': ['bin/brotli', 'lib/libbrotlidec.%s' % SHLIB_EXT, 'lib/libbrotlienc.%s' % SHLIB_EXT,
'lib/libbrotlidec.a', 'lib/libbrotlienc.a'],
'dirs': [],
}
sanity_check_commands = ["brotli --help"]
moduleclass = 'lib'

View File

@ -0,0 +1,45 @@
# IT4Innovations
# LK 2025
easyblock = 'ConfigureMake'
name = 'Emacs'
version = '29.4'
homepage = 'https://www.gnu.org/software/emacs/'
description = """GNU Emacs is an extensible, customizable text editor--and more.
At its core is an interpreter for Emacs Lisp, a dialect of the Lisp programming
language with extensions to support text editing."""
toolchain = {'name': 'GCCcore', 'version': '12.2.0'}
source_urls = [GNU_SOURCE]
sources = [SOURCELOWER_TAR_GZ]
checksums = ['1adb1b9a2c6cdb316609b3e86b0ba1ceb523f8de540cfdda2aec95b6a5343abf']
builddependencies = [
('binutils', '2.39'),
('pkgconf', '1.9.3'),
]
dependencies = [
('zlib', '1.2.12'),
('libpng', '1.6.38'),
('libjpeg-turbo', '2.1.4'),
('ncurses', '6.3'),
('LibTIFF', '4.4.0'),
('X11', '20221110'),
('GTK3', '3.24.35'),
]
# If you want to use Emacs plugins you must install the gnutls command line tools
# osdependencies = [('gnutls-utils')]
configopts = '--with-gif=no --with-tiff=yes --with-x-toolkit=yes --with-xpm=yes --with-gnutls=no '
sanity_check_paths = {
'files': ["bin/emacs", "bin/emacs-%(version)s", "bin/emacsclient", "bin/etags"],
'dirs': []
}
moduleclass = 'tools'

View File

@ -0,0 +1,45 @@
# IT4Innovations
# LK 2025
easyblock = 'ConfigureMake'
name = 'Emacs'
version = '29.4'
homepage = 'https://www.gnu.org/software/emacs/'
description = """GNU Emacs is an extensible, customizable text editor--and more.
At its core is an interpreter for Emacs Lisp, a dialect of the Lisp programming
language with extensions to support text editing."""
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
source_urls = [GNU_SOURCE]
sources = [SOURCELOWER_TAR_GZ]
checksums = ['1adb1b9a2c6cdb316609b3e86b0ba1ceb523f8de540cfdda2aec95b6a5343abf']
builddependencies = [
('binutils', '2.42'),
('pkgconf', '2.3.0'),
]
dependencies = [
('zlib', '1.3.1'),
('libpng', '1.6.45'),
('libjpeg-turbo', '3.0.1'),
('ncurses', '6.5'),
('LibTIFF', '4.7.0'),
('X11', '20240607'),
# ('GTK3', '3.24.42'),
]
# If you want to use Emacs plugins you must install the gnutls command line tools
# osdependencies = [('gnutls-utils')]
configopts = '--with-gif=no --with-tiff=yes --with-x-toolkit=yes --with-xpm=yes --with-gnutls=no '
sanity_check_paths = {
'files': ["bin/emacs", "bin/emacs-%(version)s", "bin/emacsclient", "bin/etags"],
'dirs': []
}
moduleclass = 'tools'

View File

@ -0,0 +1,43 @@
# IT4Innovations
# LK 2025
easyblock = 'ConfigureMake'
name = 'fontconfig'
version = '2.15.0'
homepage = 'https://www.freedesktop.org/wiki/Software/fontconfig/'
description = """
Fontconfig is a library designed to provide system-wide font configuration,
customization and application access.
"""
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
toolchainopts = {'pic': True}
source_urls = ['https://www.freedesktop.org/software/fontconfig/release/']
sources = [SOURCE_TAR_GZ]
checksums = ['f5f359d6332861bd497570848fcb42520964a9e83d5e3abe397b6b6db9bcaaf4']
builddependencies = [
('binutils', '2.42'),
('gperf', '3.1'),
('pkgconf', '2.3.0'),
('Python', '3.13.1'),
]
dependencies = [
('expat', '2.6.4'),
('freetype', '2.13.2'),
('util-linux', '2.40'),
]
configopts = '--disable-docs '
sanity_check_paths = {
'files': ['include/fontconfig/fontconfig.h', 'lib/libfontconfig.%s' % SHLIB_EXT],
'dirs': []
}
moduleclass = 'vis'

View File

@ -0,0 +1,46 @@
# IT4Innovations
# LK 2025
name = 'freetype'
version = '2.13.2'
homepage = 'https://www.freetype.org'
description = """
FreeType 2 is a software font engine that is designed to be small, efficient,
highly customizable, and portable while capable of producing high-quality
output (glyph images). It can be used in graphics libraries, display servers,
font conversion tools, text image generation tools, and many other products
as well.
"""
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
toolchainopts = {'pic': True}
source_urls = [
GNU_SAVANNAH_SOURCE,
SOURCEFORGE_SOURCE,
]
sources = [SOURCE_TAR_GZ]
checksums = ['1ac27e16c134a7f2ccea177faba19801131116fd682efc1f5737037c5db224b5']
builddependencies = [('binutils', '2.42')]
dependencies = [
('bzip2', '1.0.8'),
('libpng', '1.6.45'),
('zlib', '1.3.1'),
('Brotli', '1.1.0'),
]
configopts = '--enable-freetype-config --with-harfbuzz=no'
sanity_check_paths = {
'files': ['bin/freetype-config', 'lib/libfreetype.a',
'lib/libfreetype.%s' % SHLIB_EXT, 'lib/pkgconfig/freetype2.pc'],
'dirs': ['include/freetype2'],
}
sanity_check_commands = ["freetype-config --help"]
moduleclass = 'vis'

View File

@ -0,0 +1,75 @@
# IT4Innovations
# LK 2025
easyblock = 'Bundle'
name = 'GTK3'
version = '3.24.42'
homepage = 'https://developer.gnome.org/gtk3/stable/'
description = """GTK+ is the primary library used to construct user interfaces in GNOME. It
provides all the user interface controls, or widgets, used in a common
graphical application. Its object-oriented API allows you to construct
user interfaces without dealing with the low-level details of drawing and
device interaction.
"""
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
builddependencies = [
('binutils', '2.42'),
('Autotools', '20231222'),
('Meson', '1.4.0'),
('Ninja', '1.12.1'),
('pkgconf', '2.3.0'),
('GObject-Introspection', '1.80.1'),
]
dependencies = [
('ATK', '2.38.0'),
('at-spi2-atk', '2.38.0'),
('cairo', '1.18.0'),
('Gdk-Pixbuf', '2.42.11'),
('GLib', '2.80.4'),
('Pango', '1.54.0'),
('libepoxy', '1.5.10'),
('X11', '20240607'),
('FriBidi', '1.0.15'),
('Wayland', '1.23.0'),
]
default_easyblock = 'MesonNinja'
default_component_specs = {
'sources': [SOURCELOWER_TAR_XZ],
'start_dir': '%(namelower)s-%(version)s',
}
components = [
('GTK+', version, {
'source_urls': [FTPGNOME_SOURCE],
'checksums': ['50f89f615092d4dd01bbd759719f8bd380e5f149f6fd78a94725e2de112377e2'],
}),
('hicolor-icon-theme', '0.18', {
'easyblock': 'MesonNinja',
'source_urls': ['https://icon-theme.freedesktop.org/releases/'],
'checksums': ['db0e50a80aa3bf64bb45cbca5cf9f75efd9348cf2ac690b907435238c3cf81d7'],
}),
('adwaita-icon-theme', '47.0', {
'source_urls': ['https://ftp.gnome.org/pub/GNOME/sources/%(namelower)s/%(version_major)s'],
'checksums': ['ad088a22958cb8469e41d9f1bba0efb27e586a2102213cd89cc26db2e002bdfe'],
}),
]
postinstallcmds = ['gtk-update-icon-cache']
sanity_check_paths = {
'files': ['bin/%s' % x for x in ['gtk3-demo', 'gtk3-demo-application', 'gtk3-icon-browser', 'gtk3-widget-factory',
'gtk-builder-tool', 'gtk-launch', 'gtk-query-immodules-3.0', 'gtk-query-settings',
'gtk-update-icon-cache']] +
['lib/%s-%%(version_major)s.%s' % (x, SHLIB_EXT) for x in ['libgailutil', 'libgdk', 'libgtk']],
'dirs': ['include/%s-%%(version_major)s.0' % x for x in ['gail', 'gtk']] +
['share/icons/hicolor', 'share/icons/Adwaita'],
}
moduleclass = 'vis'

View File

@ -0,0 +1,41 @@
# IT4Innovations
# LK 2025
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': '14.2.0'}
source_urls = [GNU_SOURCE]
sources = [SOURCE_TAR_GZ]
checksums = ['ec1705b1e969b83a9f073144ec806151db88127f5e40fe5a94cb6c8fa48996a0']
builddependencies = [('binutils', '2.42')]
dependencies = [
('libxml2', '2.13.4'),
('ncurses', '6.5'),
('libiconv', '1.18'),
]
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'

View File

@ -0,0 +1,35 @@
# IT4Innovations
# LK 2025
easyblock = 'ConfigureMake'
name = 'gperf'
version = '3.1'
homepage = 'https://www.gnu.org/software/gperf/'
description = """
GNU gperf is a perfect hash function generator. For a given list of strings,
it produces a hash function and hash table, in form of C or C++ code, for
looking up a value depending on the input string. The hash function is
perfect, which means that the hash table has no collisions, and the hash
table lookup needs a single string comparison only.
"""
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
source_urls = [GNU_SOURCE]
sources = [SOURCELOWER_TAR_GZ]
checksums = ['588546b945bba4b70b6a3a616e80b4ab466e3f33024a352fc2198112cdbb3ae2']
builddependencies = [
('binutils', '2.42'),
]
sanity_check_paths = {
'files': ['bin/gperf'],
'dirs': [],
}
sanity_check_commands = ["gperf --help"]
moduleclass = 'devel'

View File

@ -0,0 +1,40 @@
# IT4Innovations
# LK 2025
easyblock = 'ConfigureMake'
name = 'intltool'
version = '0.51.0'
homepage = 'https://freedesktop.org/wiki/Software/intltool/'
description = """intltool is a set of tools to centralize translation of
many different file formats using GNU gettext-compatible PO files."""
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
source_urls = ['https://launchpad.net/intltool/trunk/%(version)s/+download/']
sources = [SOURCE_TAR_GZ]
patches = ['intltool-%(version)s_fix-Perl-compat.patch']
checksums = [
'67c74d94196b153b774ab9f89b2fa6c6ba79352407037c8c14d5aeb334e959cd', # intltool-0.51.0.tar.gz
'e839f7228b2b92301831bca88ed0bc7bce5dbf862568f1644642988204903db6', # intltool-0.51.0_fix-Perl-compat.patch
]
builddependencies = [
('binutils', '2.42'),
]
dependencies = [
('Perl-bundle-CPAN', '5.40.0'),
]
fix_perl_shebang_for = ['bin/intltool-*']
sanity_check_paths = {
'files': ['bin/intltool%s' % x for x in ['-extract', '-merge', '-prepare', '-update', 'ize']],
'dirs': []
}
sanity_check_commands = ["intltool-merge --help"]
moduleclass = 'devel'

View File

@ -0,0 +1,48 @@
# IT4Innovations
# LK 2025
easyblock = 'MakeCp'
name = 'jbigkit'
version = '2.1'
homepage = 'https://www.cl.cam.ac.uk/~mgk25/jbigkit/'
description = """JBIG-KIT is a software implementation of the JBIG1 data
compression standard (ITU-T T.82), which was designed for bi-level image
data, such as scanned documents."""
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
toolchainopts = {'pic': True}
source_urls = ['https://www.cl.cam.ac.uk/~mgk25/jbigkit/download']
sources = [SOURCE_TAR_GZ]
patches = [
'%(name)s-%(version)s_libpath.patch',
'%(name)s-%(version)s_shlib.patch',
]
checksums = [
{'jbigkit-2.1.tar.gz': 'de7106b6bfaf495d6865c7dd7ac6ca1381bd12e0d81405ea81e7f2167263d932'},
{'jbigkit-2.1_libpath.patch': '97c88956090097b484fcdb90e12eab82212e67ddc862f035d7c6446a696786ce'},
{'jbigkit-2.1_shlib.patch': '54ae429e8ec949eceee0f902b676f572f1cdfbff46f77c7222acdeafb643a696'},
]
builddependencies = [
('binutils', '2.42'),
('pkgconf', '2.2.0'),
]
files_to_copy = [
(['libjbig/libjbig%s.%s' % (x, y) for x in ['85', ''] for y in ['a', SHLIB_EXT, SHLIB_EXT + '.0']], 'lib'),
(['libjbig/jbig85.h', 'libjbig/jbig.h', 'libjbig/jbig_ar.h'], 'include'),
(['pbmtools/pbmtojbg', 'pbmtools/jbgtopbm'], 'bin'),
]
sanity_check_paths = {
'files': ['lib/libjbig85.a', 'lib/libjbig.a',
'bin/pbmtojbg', 'bin/jbgtopbm',
'include/jbig.h', 'include/jbig_ar.h',
],
'dirs': ['bin', 'include', 'lib']
}
moduleclass = 'vis'

View File

@ -0,0 +1,41 @@
# IT4Innovations
# LK 2025
easyblock = 'ConfigureMake'
name = 'LibTIFF'
version = '4.7.0'
homepage = 'https://libtiff.gitlab.io/libtiff/'
description = "tiff: Library and tools for reading and writing TIFF data files"
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
toolchainopts = {'pic': True}
source_urls = ['https://download.osgeo.org/libtiff/']
sources = ['tiff-%(version)s.tar.gz']
checksums = ['67160e3457365ab96c5b3286a0903aa6e78bdc44c4bc737d2e486bcecb6ba976']
builddependencies = [('binutils', '2.42')]
dependencies = [
('zlib', '1.3.1'),
('libjpeg-turbo', '3.0.1'),
('XZ', '5.4.5'),
('jbigkit', '2.1'),
('zstd', '1.5.6'),
('libdeflate', '1.20'),
]
configopts = "--enable-ld-version-script "
configopts += "--disable-webp --disable-sphinx "
sanity_check_paths = {
'files': ['bin/tiffdump', 'bin/tiffinfo', 'include/tiff.h', 'lib/libtiff.a', 'lib/libtiff.%s' % SHLIB_EXT,
'lib/libtiffxx.a', 'lib/libtiffxx.%s' % SHLIB_EXT, 'lib/pkgconfig/libtiff-4.pc'],
'dirs': [],
}
sanity_check_commands = ["tiffinfo -h"]
moduleclass = 'lib'

View File

@ -0,0 +1,37 @@
# IT4Innovations
# LK 2025
easyblock = 'CMakeMake'
name = 'libdeflate'
version = '1.20'
homepage = 'https://github.com/ebiggers/libdeflate'
description = """Heavily optimized library for DEFLATE/zlib/gzip compression and decompression."""
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
github_account = 'ebiggers'
source_urls = [GITHUB_SOURCE]
sources = ['v%(version)s.tar.gz']
checksums = ['ed1454166ced78913ff3809870a4005b7170a6fd30767dc478a09b96847b9c2a']
builddependencies = [
('binutils', '2.42'),
('CMake', '3.31.3'),
]
sanity_check_paths = {
'files': [
'bin/%(name)s-gunzip', 'bin/%(name)s-gzip',
'lib/%(name)s.a', 'lib/%%(name)s.%s' % SHLIB_EXT,
'include/%(name)s.h',
],
'dirs': [],
}
sanity_check_commands = [
'%(name)s-gzip -h',
'%(name)s-gunzip -h',
]
moduleclass = 'system'

View File

@ -0,0 +1,49 @@
# IT4Innovations
# LK 2025
easyblock = 'CMakeMake'
name = 'libjpeg-turbo'
version = '3.0.1'
homepage = 'https://sourceforge.net/projects/libjpeg-turbo/'
description = """
libjpeg-turbo is a fork of the original IJG libjpeg which uses SIMD to
accelerate baseline JPEG compression and decompression. libjpeg is a library
that implements JPEG image encoding, decoding and transcoding.
"""
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
toolchainopts = {'pic': True}
source_urls = [SOURCEFORGE_SOURCE]
sources = [SOURCELOWER_TAR_GZ]
checksums = ['22429507714ae147b3acacd299e82099fce5d9f456882fc28e252e4579ba2a75']
builddependencies = [
('CMake', '3.31.3'),
('binutils', '2.42'),
]
dependencies = [
('NASM', '2.16.03'),
]
# make sure that libraries are installed to <prefix>/lib (instead of <prefix>/lib64),
# which helps with avoiding problems when libjpeg-turbo is a dependency that
# gets linked via RPATH and Meson/Ninja are involved,
# see https://github.com/easybuilders/easybuild-easyconfigs/issues/16256
configopts = ' -G"Unix Makefiles" -DWITH_JPEG8=1 -DCMAKE_INSTALL_LIBDIR:PATH=lib'
runtest = "test"
sanity_check_paths = {
'files': ['bin/cjpeg', 'bin/djpeg', 'bin/jpegtran', 'bin/rdjpgcom',
'bin/tjbench', 'bin/wrjpgcom', 'lib/libjpeg.a',
'lib/libjpeg.%s' % SHLIB_EXT, 'lib/libturbojpeg.a',
'lib/libturbojpeg.%s' % SHLIB_EXT],
'dirs': ['include', 'share'],
}
moduleclass = 'lib'

View File

@ -0,0 +1,34 @@
# IT4Innovations
# LK 2025
easyblock = 'ConfigureMake'
name = 'libpng'
version = '1.6.45'
homepage = 'http://www.libpng.org/pub/png/libpng.html'
description = "libpng is the official PNG reference library"
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
toolchainopts = {'pic': True}
source_urls = [SOURCEFORGE_SOURCE]
sources = [SOURCELOWER_TAR_GZ]
checksums = ['7dee9e1ca8152bf52f919456f4190330aee48209887f2ec0b3d9f0ad571df11b']
builddependencies = [('binutils', '2.42')]
dependencies = [('zlib', '1.3.1')]
local_majminver = '%(version_major)s%(version_minor)s'
sanity_check_paths = {
'files': ['include/pngconf.h', 'include/png.h', 'include/pnglibconf.h',
'lib/libpng.a', 'lib/libpng.%s' % SHLIB_EXT,
'lib/libpng%s.a' % local_majminver,
'lib/libpng%s.%s' % (local_majminver, SHLIB_EXT)],
'dirs': ['bin', 'include/libpng%s' % local_majminver, 'share/man'],
}
moduleclass = 'lib'

View File

@ -0,0 +1,28 @@
# IT4Innovations
# LK 2025
easyblock = 'ConfigureMake'
name = 'NASM'
version = '2.16.03'
homepage = 'https://www.nasm.us/'
description = """NASM: General-purpose x86 assembler"""
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
source_urls = ['https://www.nasm.us/pub/nasm/releasebuilds/%(version)s']
sources = [SOURCELOWER_TAR_BZ2]
checksums = ['bef3de159bcd61adf98bb7cc87ee9046e944644ad76b7633f18ab063edb29e57']
builddependencies = [
('binutils', '2.42'),
]
sanity_check_paths = {
'files': ['bin/nasm'],
'dirs': [],
}
moduleclass = 'lang'

View File

@ -0,0 +1,75 @@
# IT4Innovations
# LK 2025
name = 'Python'
version = '3.13.1'
homepage = 'https://python.org/'
description = """Python is a programming language that lets you work more quickly and integrate your systems
more effectively."""
toolchain = {'name': 'GCCcore', 'version': '12.2.0'}
toolchainopts = {'pic': True}
source_urls = ['https://www.python.org/ftp/%(namelower)s/%(version)s/']
sources = [SOURCE_TGZ]
patches = ['Python-3.12.3_avoid-tkinter-build.patch']
checksums = [
{'Python-3.13.1.tgz': '1513925a9f255ef0793dbf2f78bb4533c9f184bdd0ad19763fd7f47a400a7c55'},
{'Python-3.12.3_avoid-tkinter-build.patch': '34fa44ca67fc08d41c58db2e289317f12f32777a352a982dca2e63459fc089e3'},
]
builddependencies = [
('UnZip', '6.0'),
('pkgconf', '1.9.3'),
]
dependencies = [
('binutils', '2.39'),
('bzip2', '1.0.8'), # required for bz2 package in Python stdlib
('zlib', '1.2.12'),
('libreadline', '8.2'),
('ncurses', '6.3'),
('SQLite', '3.39.4'),
('XZ', '5.2.7'),
('libffi', '3.4.4'),
('OpenSSL', '3', '', SYSTEM),
]
install_pip = True
exts_default_options = {
'source_urls': [PYPI_SOURCE],
'use_pip': True,
}
# order is important!
# package versions updated 2025-01-02
exts_list = [
('flit_core', '3.10.1', {
'checksums': ['66e5b87874a0d6e39691f0e22f09306736b633548670ad3c09ec9db03c5662f7'],
}),
('wheel', '0.45.1', {
'checksums': ['661e1abd9198507b1409a20c02106d9670b2576e916d58f520316666abca6729'],
}),
('tomli', '2.2.1', {
'checksums': ['cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff'],
}),
('packaging', '24.2', {
'checksums': ['c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f'],
}),
('typing_extensions', '4.12.2', {
'checksums': ['1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8'],
}),
('setuptools', '75.6.0', {
'checksums': ['8199222558df7c86216af4f84c30e9b34a61d8ba19366cc914424cdbd28252f6'],
}),
('setuptools_scm', '8.1.0', {
'checksums': ['42dea1b65771cba93b7a515d65a65d8246e560768a66b9106a592c8e7f26c8a7'],
}),
('pip', '24.3.1', {
'checksums': ['ebcb60557f2aefabc2e0f918751cd24ea0d56d8ec5445fe1807f1d2109660b99'],
}),
]
moduleclass = 'lang'

View File

@ -0,0 +1,49 @@
# IT4Innovations
# LK 2025
easyblock = 'ConfigureMake'
name = 'util-linux'
version = '2.40'
homepage = 'https://www.kernel.org/pub/linux/utils/util-linux'
description = "Set of Linux utilities"
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
toolchainopts = {'pic': True}
source_urls = ['%s/v%%(version_major_minor)s' % homepage]
sources = [SOURCELOWER_TAR_GZ]
checksums = ['2a51d08cb71fd8e491e0cf633032c928f9a2848417f8441cb8cf7ef9971de916']
builddependencies = [
('binutils', '2.42'),
('Autotools', '20231222'), # for fix_waitpid patch
('pkgconf', '2.3.0'), # for fix_waitpid patch
]
dependencies = [
('ncurses', '6.5'),
('zlib', '1.3.1'),
('SQLite', '3.47.2'),
]
# disable account related utilities (they need OS dependent pam-devel files)
# disable wall and friends (requires group changing permissions for install user)
# install systemd service files in install dir
# install bash completion files in install dir
configopts = "--disable-chfn-chsh --disable-login --disable-su --disable-rfkill "
configopts += "--disable-wall --disable-use-tty-group "
configopts += "--disable-makeinstall-chown --disable-makeinstall-setuid "
configopts += "--with-systemdsystemunitdir='${prefix}/systemd' "
configopts += "--with-bashcompletiondir='${prefix}/share/bash-completion/completions' "
# disable building Python bindings (since we don't include Python as a dep)
configopts += "--without-python "
sanity_check_paths = {
'files': ['lib/lib%s.a' % x for x in ['blkid', 'mount', 'uuid']],
'dirs': ['include', 'bin', 'share', 'sbin'],
}
moduleclass = 'tools'

View File

@ -0,0 +1,217 @@
# IT4Innovations
# LK 2025
easyblock = 'Bundle'
name = 'X11'
version = '20240607'
homepage = 'https://www.x.org'
description = "The X Window System (X11) is a windowing system for bitmap displays"
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
builddependencies = [
('binutils', '2.42'),
('Autotools', '20231222'),
('Bison', '3.8.2'),
('gettext', '0.22.5'),
('pkgconf', '2.2.0'),
('intltool', '0.51.0'),
('Meson', '1.4.0'),
('Ninja', '1.12.1'),
('Doxygen', '1.11.0'),
]
dependencies = [
('bzip2', '1.0.8'),
('fontconfig', '2.15.0'),
('freetype', '2.13.2'),
('zlib', '1.3.1'),
('xorg-macros', '1.20.1'),
('libpciaccess', '0.18.1'),
]
source_urls = [
XORG_LIB_SOURCE,
XORG_PROTO_SOURCE,
'https://xcb.freedesktop.org/dist/',
'https://xkbcommon.org/download/',
XORG_DATA_SOURCE + '/xkeyboard-config',
XORG_DATA_SOURCE,
]
default_easyblock = 'ConfigureMake'
default_component_specs = {
'sources': [SOURCE_TAR_GZ],
'start_dir': '%(name)s-%(version)s',
}
components = [
('libpthread-stubs', '0.5', { # 2023-07-18
'checksums': ['593196cc746173d1e25cb54a93a87fd749952df68699aab7e02c085530e87747'],
}),
('xorgproto', '2024.1', { # 2024-03-26
'checksums': ['4f6b9b4faf91e5df8265b71843a91fc73dc895be6210c84117a996545df296ce'],
}),
('libXau', '1.0.11', { # 2022-12-08
'checksums': ['3a321aaceb803577a4776a5efe78836eb095a9e44bbc7a465d29463e1a14f189'],
}),
('libXdmcp', '1.1.5', { # 2024-03-02
'checksums': ['31a7abc4f129dcf6f27ae912c3eedcb94d25ad2e8f317f69df6eda0bc4e4f2f3'],
}),
('xcb-proto', '1.17.0', { # 2024-04-15
'checksums': ['392d3c9690f8c8202a68fdb89c16fd55159ab8d65000a6da213f4a1576e97a16'],
}),
('libxcb', '1.17.0', { # 2024-04-15
'checksums': ['2c69287424c9e2128cb47ffe92171e10417041ec2963bceafb65cb3fcf8f0b85'],
}),
('xtrans', '1.5.0', { # 2023-06-03
'checksums': ['a806f8a92f879dcd0146f3f1153fdffe845f2fc0df9b1a26c19312b7b0a29c86'],
}),
('libxkbcommon', '1.7.0', { # 2024-03-23
'easyblock': 'MesonNinja',
'sources': [SOURCE_TAR_XZ],
'checksums': ['65782f0a10a4b455af9c6baab7040e2f537520caa2ec2092805cdfd36863b247'],
'preconfigopts': '',
'configopts': '-Denable-wayland=false -Denable-docs=false ',
}),
('libX11', '1.8.9', { # 2024-04-05
'checksums': ['57ca5f07d263788ad661a86f4139412e8b699662e6b60c20f1f028c25a935e48'],
}),
('libXext', '1.3.6', { # 2024-02-04
'checksums': ['1a0ac5cd792a55d5d465ced8dbf403ed016c8e6d14380c0ea3646c4415496e3d'],
}),
('libFS', '1.0.9', { # 2022-08-26
'checksums': ['8bc2762f63178905228a28670539badcfa2c8793f7b6ce3f597b7741b932054a'],
}),
('libICE', '1.1.1', { # 2022-12-08
'checksums': ['04fbd34a11ba08b9df2e3cdb2055c2e3c1c51b3257f683d7fcf42dabcf8e1210'],
}),
('libSM', '1.2.4', { # 2022-12-20
'checksums': ['51464ce1abce323d5b6707ceecf8468617106e1a8a98522f8342db06fd024c15'],
}),
('libXScrnSaver', '1.2.4', { # 2022-12-05
'checksums': ['0656b2630475104d6df75d91ebb8e0153e61d14e9871ef1f403bcda4a62a838a'],
}),
('libXt', '1.3.0', { # 2023-05-09
'checksums': ['de4a80c4cc7785b9620e572de71026805f68e85a2bf16c386009ef0e50be3f77'],
}),
('libXmu', '1.2.1', { # 2024-04-16
'checksums': ['bf0902583dd1123856c11e0a5085bd3c6e9886fbbd44954464975fd7d52eb599'],
}),
('libXpm', '3.5.17', { # 2023-10-03
'checksums': ['959466c7dfcfcaa8a65055bfc311f74d4c43d9257900f85ab042604d286df0c6'],
}),
('libXaw', '1.0.16', { # 2024-03-10
'checksums': ['012f90adf8739f2f023d63a5fee1528949cf2aba92ef7ac1abcfc2ae9cf28798'],
}),
('libXfixes', '6.0.1', { # 2023-04-09
'checksums': ['e69eaa321173c748ba6e2f15c7cf8da87f911d3ea1b6af4b547974aef6366bec'],
}),
('libXcomposite', '0.4.6', { # 2022-12-04
'checksums': ['3599dfcd96cd48d45e6aeb08578aa27636fa903f480f880c863622c2b352d076'],
}),
('libXrender', '0.9.11', { # 2022-10-22
'checksums': ['6aec3ca02e4273a8cbabf811ff22106f641438eb194a12c0ae93c7e08474b667'],
}),
('libXcursor', '1.2.2', { # 2024-03-02
'checksums': ['98c3a30a3f85274c167d1ac5419d681ce41f14e27bfa5fe3003c8172cd8af104'],
}),
('libXdamage', '1.1.6', { # 2022-12-04
'checksums': ['2afcc139eb6eb926ffe344494b1fc023da25def42874496e6e6d3aa8acef8595'],
}),
('libfontenc', '1.1.8', { # 2024-03-02
'checksums': ['b55039f70959a1b2f02f4ec8db071e5170528d2c9180b30575dccf7510d7fb9f'],
}),
('libXfont', '1.5.4', { # 2017-11-28
'checksums': ['59be6eab53f7b0feb6b7933c11d67d076ae2c0fd8921229c703fc7a4e9a80d6e'],
}),
('libXfont2', '2.0.6', { # 2022-08-26
'checksums': ['a944df7b6837c8fa2067f6a5fc25d89b0acc4011cd0bc085106a03557fb502fc'],
}),
('libXft', '2.3.8', { # 2023-04-17
'checksums': ['32e48fe2d844422e64809e4e99b9d8aed26c1b541a5acf837c5037b8d9f278a8'],
}),
('libXi', '1.8.1', { # 2023-05-04
'checksums': ['3b5f47c223e4b63d7f7fe758886b8bf665b20a7edb6962c423892fd150e326ea'],
}),
('libXinerama', '1.1.5', { # 2022-10-29
'checksums': ['2efa855cb42dc620eff3b77700d8655695e09aaa318f791f201fa60afa72b95c'],
}),
('libXrandr', '1.5.4', { # 2023-10-04
'checksums': ['c72c94dc3373512ceb67f578952c5d10915b38cc9ebb0fd176a49857b8048e22'],
}),
('libXres', '1.2.2', { # 2022-12-05
'checksums': ['8abce597ced4a7ab89032aee91f6f784d9960adc772b2b59f17e515cd4127950'],
}),
('libXtst', '1.2.4', { # 2022-09-27
'checksums': ['01366506aeb033f6dffca5326af85f670746b0cabbfd092aabefb046cf48c445'],
}),
('libXv', '1.0.12', { # 2022-12-05
'checksums': ['ce706619a970a580a0e35e9b5c98bdd2af243ac6494c65f44608a89a86100126'],
}),
('libXvMC', '1.0.14', { # 2024-02-04
'checksums': ['3ad5d2b991219e2bf9b2f85d40b12c16f1afec038715e462f6058af73a9b5ef8'],
}),
('libXxf86dga', '1.1.6', { # 2022-12-05
'checksums': ['87c7482b1e29b4eeb415815641c4f69c00545a8138e1b73ff1f361f7d9c22ac4'],
}),
('libXxf86vm', '1.1.5', { # 2022-09-27
'checksums': ['f3f1c29fef8accb0adbd854900c03c6c42f1804f2bc1e4f3ad7b2e1f3b878128'],
}),
('libdmx', '1.1.5', { # 2023-06-03
'checksums': ['070e82cc1daa1b21ee1339aef56a909eab04cbe7d430fabfbb01ecd21b2dd9f3'],
}),
('libxkbfile', '1.1.3', { # 2024-02-04
'checksums': ['c4c2687729d1f920f165ebb96557a1ead2ef655809ab5eaa66a1ad36dc31050d'],
}),
('libxshmfence', '1.3.2', { # 2022-12-08
'checksums': ['e93a85099604beb244ee756dcaf70e18b08701c1ca84c4de0126cd71bd6c8181'],
}),
('xcb-util', '0.4.1', { # 2022-12-20
'checksums': ['21c6e720162858f15fe686cef833cf96a3e2a79875f84007d76f6d00417f593a'],
}),
('xcb-util-image', '0.4.1', { # 2022-10-18
'checksums': ['0ebd4cf809043fdeb4f980d58cdcf2b527035018924f8c14da76d1c81001293b'],
}),
('xcb-util-keysyms', '0.4.1', { # 2022-10-19
'checksums': ['1fa21c0cea3060caee7612b6577c1730da470b88cbdf846fa4e3e0ff78948e54'],
}),
('xcb-util-renderutil', '0.3.10', { # 2022-10-19
'checksums': ['e04143c48e1644c5e074243fa293d88f99005b3c50d1d54358954404e635128a'],
}),
('xcb-util-wm', '0.4.2', { # 2022-10-19
'checksums': ['dcecaaa535802fd57c84cceeff50c64efe7f2326bf752e16d2b77945649c8cd7'],
}),
('xcb-util-cursor', '0.1.5', { # 2023-10-19
'checksums': ['0e9c5446dc6f3beb8af6ebfcc9e27bcc6da6fe2860f7fc07b99144dfa568e93b'],
}),
('xkeyboard-config', '2.42', { # 2024-06-07
'easyblock': 'MesonNinja',
'sources': [SOURCE_TAR_XZ],
'checksums': ['a6b06ebfc1f01fc505f2f05f265f95f67cc8873a54dd247e3c2d754b8f7e0807'],
# required to overrule parent preconfigopts that runs autogen.sh if configure script is missing
'preconfigopts': '',
}),
('printproto', '1.0.5', { # 2011-01-06
'checksums': ['e8b6f405fd865f0ea7a3a2908dfbf06622f57f2f91359ec65d13b955e49843fc'],
}),
('libXp', '1.0.4', { # 2022-09-12
'checksums': ['05e46af1ccb68f1752cca5879774a4fb9bf3b19fe088eb745034956e0c6fadba'],
}),
('xbitmaps', '1.1.3', { # 2023-02-23
'checksums': ['93b433b7ff223c4685fdba583b4bd30f2706be2413a670021084422d85b0269d'],
}),
]
preconfigopts = "if [ ! -f configure ]; then ./autogen.sh; fi && "
sanity_check_paths = {
'files': ['include/X11/Xlib.h', 'include/X11/Xutil.h'],
'dirs': ['include/GL', 'include/X11', 'include/X11/extensions', 'lib/pkgconfig',
'share/pkgconfig', 'share/X11/xkb'],
}
moduleclass = 'vis'