Skip to content

[GLib] [package list]

GLib/2.69.1-cpeGNU-21.06 (GLib-2.69.1-cpeGNU-21.06.eb)

This software is archived in the LUMI-SoftwareStack GitHub repository as easybuild/easyconfigs/__archive__/g/GLib/GLib-2.69.1-cpeGNU-21.06.eb. The corresponding module would be GLib/2.69.1-cpeGNU-21.06.

# Note that GLib is really made to be compiled with GCC and nothing else
# due to the use of compiler-specific pragma, so you may get warnings
# about unrecognizded pragmas when compiling with another compiler.
easyblock = 'MesonNinja'

local_gettext_version =      '0.21'          # https://ftp.gnu.org/pub/gnu/gettext/
local_libffi_version =       '3.4.2'         # ftp://sourceware.org/pub/libffi/
local_libiconv_version =     '1.16'          # https://ftp.gnu.org/pub/gnu/libiconv/
local_libxml2_version =      '2.9.12'        # http://xmlsoft.org/sources/
local_PCRE2_version =        '10.37'         # https://ftp.pcre.org/pub/pcre/
local_util_version =         '2.37.1'        # https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/

local_GLib_version = '2.69.1' # https://ftp.gnome.org/pub/GNOME/sources/glib/

name =    'GLib'
version = local_GLib_version

homepage = 'http://www.gtk.org/'

whatis = [
    'Description: One of the GTK+ base libraries',
    'The module provides a number of command line utilities and static and shared libraries',
]

description = """
GLib provides the core application building blocks for libraries and
applications written in C. It provides the core object system used in GNOME,
the main loop implementation, and a large set of utility functions for strings
and common data structures.

The module provides a number of command line utilities and staqtic and shared
libraries.
"""

docurls= [
    'Web-based documentation: https://developer.gnome.org/glib/',
]

docpaths = [
    'share/gtk-doc/html/glib',
    'share/gtk-doc/html/gobject',
    'share/gtk-doc/html/gio'
]

toolchain     = {'name': 'cpeGNU', 'version': '21.06'}
toolchainopts = {'pic': True}

# Check on https://ftp.gnome.org/pub/GNOME/sources/glib/
source_urls = [FTPGNOME_SOURCE]
sources =     [SOURCELOWER_TAR_XZ]

builddependencies = [
    # Python is required for building against GLib, at least when
    # gdbus-codegen or one of the other python scripts are used.
    # Since Meson 0.50 and later are Python >=3.5 only we can't build
    # Python specific versions of GLib that uses Python 2.x
    # thus Python should not be a runtime dependency for GLib.
    # Packages that use GLib should either have an explicit
    # (build)dependency on Python or it will use the system version
    # EasyBuild itself uses.
    ('buildtools', '%(toolchain_version)s', '', True),
]

dependencies = [
    ('libffi',     local_libffi_version),
    ('gettext',    local_gettext_version),
    ('libiconv',   local_libiconv_version),
    ('libxml2',    local_libxml2_version),
    ('PCRE2',      local_PCRE2_version),
    ('util-linux', local_util_version),
]

# avoid using hardcoded path to Python binary in build step
preconfigopts = "export PYTHON=python3 && "

configopts  = "--buildtype=release --default-library=both "
configopts += "-Diconv=external "

#parallel = 1 # For debugging

postinstallcmds = ["sed -i -e 's|#!.*python[0-9.]*$|#!/usr/bin/env python|' %(installdir)s/bin/*"]

sanity_check_paths = {
    'files': ['lib/libglib-%(version_major)s.0.a', 'lib/libglib-%%(version_major)s.0.%s' % SHLIB_EXT],
    'dirs': ['bin', 'include'],
}

moduleclass = 'vis'

[GLib] [package list]