GLib-2.80.4

Introduction à GLib

Le paquet GLib contient des bibliothèques de bas niveau utiles pour avoir la gestion de structures de données pour le C, des enveloppes de portabilité et des interfaces pour des fonctionnalités d'exécution telles qu'une boucle d'événements, les fils d'exécution, le chargement dynamique et un système d'objets.

Ce paquet est connu pour pouvoir être construit et fonctionner correctement avec une plateform 12.2.

Informations sur le paquet

  • Téléchargement (HTTP) : https://download.gnome.org/sources/glib/2.80/glib-2.80.4.tar.xz

  • Téléchargement (FTP) :

  • Somme de contrôle MD5 du téléchargement : 4334211338220a165350d1c4a1597b0e

  • Taille du téléchargement : 5,3 Mo

  • Estimation de l'espace disque requis : 189 Mo (plus 22 Mo pour les tests)

  • Estimation du temps de construction : 0,9 SBU (plus 0,4 SBU pour les tests ; dans les deux cas avec parallélisme = 4)

Téléchargements supplémentaires

GObject Introspection (Recommandé)

Correctif pour le choix du niveau de journalisation (facultatif)

Dépendances de GLib

Requises

packaging-24.1

Recommandées

Facultatives

Cairo-1.18.0 (pour certains tests de GObject Introspection), dbus-1.14.10 (pour certains tests), Fuse-3.16.2 et bindfs (tous deux requis pour un test), GDB-15.1 (pour les liaisons), Gjs-1.80.2 (pour certains tests de GObject Introspection), GTK-Doc-1.34.0 (pour la documentation de GObject Introspection), docbook-xml-4.5, docbook-xsl-nons-1.79.2, Gi-DocGen-2024.1 (pour construire la documentation de l'API), glib-networking-2.80.0 (pour certains tests, mais il s'agit d'une dépendance circulaire), Mako-1.3.5 et Markdown-3.6 (tous deux pour g-ir-doc-tool) et sysprof

Dépendances de Additional Runtime

Installation de GLib

Si vous le souhaitez, appliquez le correctif facultatif. Dans beaucoup de cas, les applications qui utilisent cette bibliothèque, directement ou indirectement via d'autres bibliothèques comme GTK+-3.24.43, affichent de nombreux avertissements lorsqu'ils sont lancés depuis la ligne de commande. Ce correctif permet d'utiliser une variable d'environnement, GLIB_LOG_LEVEL, qui supprime les messages non souhaités. La valeur de la variable est un nombre qui correspond à :

1 Alerte
2 Critique
3 Erreur
4 Avertissement
5 Remarque

Par exemple export GLIB_LOG_LEVEL=4 ignorera les sorties de messages d'avertissement et de remarque (et les messages Info/Debug s'ils sont activés). Si GLIB_LOG_LEVEL n'est pas défini, la sortie des messages normaux ne sera pas affectée.

patch -Np1 -i ../glib-skip_warnings-1.patch
[Avertissement]

Avertissement

Si vous avez installé une version précédente de glib, déplacez les en-têtes là où ils ne gêneront pas pour que les paquets suivants n'aient pas de conflits :

if [ -e /usr/include/glib-2.0 ]; then
    rm -rf /usr/include/glib-2.0.old &&
    mv -vf /usr/include/glib-2.0{,.old}
fi

Installez GLib en exécutant les commandes suivantes :

mkdir build &&
cd    build &&

meson setup ..                  \
      --prefix=/usr             \
      --buildtype=release       \
      -D introspection=disabled \
      -D man-pages=enabled      &&
ninja

La suite de tests de GLib exige desktop-file-utils pour quelques tests. Cependant, desktop-file-utils exige GLib pour se compiler ; vous devrez donc installer d'abord GLib puis lancer la suite de test.

En tant qu'utilisateur root, installez ce paquet une première fois pour permettre la construction de GObject Introspection :

ninja install

Construisez GObject Introspection :

tar xf ../../gobject-introspection-1.80.1.tar.xz &&

meson setup gobject-introspection-1.80.1 gi-build \
            --prefix=/usr --buildtype=release     &&
ninja -C gi-build

Pour tester les résultats de GObject Introspection, exécutez : ninja -C gi-build test.

En tant qu'utilisateur root, installez GObject Introspection pour générer les données d'introspection des bibliothèque GLib (requises par divers paquets qui utilisent Glib, surtout certains paquets de GNOME) :

ninja -C gi-build install

Générez maintenant les données d'introspection :

meson configure -D introspection=enabled &&
ninja

Si vous avez installé Gi-DocGen-2024.1 et souhaitez construire la documentation de l'API de ce paquet, exécutez :

sed 's/glib-2.0/glib-2.80.4/'        \
    -i ../docs/reference/meson.build &&
meson configure -D documentation=true &&
ninja

En tant qu'utilisateur root, installez de nouveau ce paquet pour les données d'introspection (et éventuellement, la documentation) :

ninja install

Vous devriez maintenant installer desktop-file-utils-0.27 et shared-mime-info-2.4 et lancer la suite de tests.

[Avertissement]

Avertissement

Ne lancez pas la suite de tests en tant que root ou certains tests échoueront de manière inattendue et laisseront des répertoires qui ne se conforment pas à la FHS dans la hiérarchie /usr.

[Note]

Note

Si vous avez installé glib-skip_warnings-1.patch et avez paramétré la variable d'environnement GLIB_LOG_LEVEL, effacez-la avant d'exécuter les tests. Elle causera plusieurs échecs des tests.

Pour tester les résultats, après avoir installé ces paquets, exécutez : LC_ALL=C ninja test en tant qu'utilisateur non root.

Explication des commandes

--buildtype=release : spécifie le type de construction convenant aux versions stables de ce paquet, comme la valeur par défaut produit des binaires non optimisés.

-D man-pages=enabled : Ce paramètre cause la construction et l'installation des pages de manuel du paquet.

Contenu

Contenu de GLib

Programmes installés: gapplication, gdbus, gdbus-codegen, gi-compile-repository, gi-decompile-typelib, gi-inspect-typelib gio, gio-querymodules, glib-compile-resources, glib-compile-schemas, glib-genmarshal, glib-gettextize, glib-mkenums, gobject-query, gresource, gsettings, gtester et gtester-report
Bibliothèques installées: libgio-2.0.so, libgirepository-2.0.so, libglib-2.0.so, libgmodule-2.0.so, libgobject-2.0.so et libgthread-2.0.so
Répertoires installés: /usr/include/gio-unix-2.0, /usr/include/glib-2.0, /usr/lib/gio, /usr/lib/glib-2.0, /usr/share/glib-2.0 et /usr/share/doc/glib-2.80.4 (facultatif)

Contenu de GObject Introspection

Programme installé: g-ir-annotation-tool, g-ir-compiler, g-ir-doc-tool (optional), g-ir-generate, g-ir-inspect et g-ir-scanner
Bibliothèques installées: libgirepository-1.0.so et _giscanner.cpython-312-<arch>-linux-gnu.so
Répertoires installés: /usr/include/gobject-introspection-1.0, /usr/lib/girepository-1.0, /usr/lib/gobject-introspection, /usr/share/gir-1.0 et /usr/share/gobject-introspection-1.0

Descriptions courtes

gapplication

peut être utilisé pour démarrer des applications et pour envoyer des messages aux instances déjà lancées d'autres applications

gdbus

est un outil simple utilisé pour fonctionner avec des objets D-Bus

gdbus-codegen

est utilisé pour générer du code et de la documentation pour une ou plusieurs interfaces D-Bus

gi-compile-repository

convertit une ou plusieurs fichiers GIR en un ou plusieurs fichiers typelib

gi-decompile-typelib

est un décompilateur GIR qui utilise l'API du dépôt

gi-inspect-typelib

est un utilitaire qui donne des informations à propos d'un typelib GI

gio

est un utilitaire qui rend plusieurs fonctionnalités de GIO disponibles depuis la ligne de commande

gio-querymodules

est utilisé pour créer un fichier giomodule.cache dans les répertoires listés. Ce fichier liste les points d'extension implémentés pour chaque module trouvé

glib-compile-resources

est utilisé pour lire la description des ressources à partir d'un fichier et des fichiers référencés pour créer un catalogue de ressources binaire adapté à une utilisation avec l'API GResource

glib-compile-schemas

est utilisé pour compiler tous les fichiers de schémas XML de GSettings du répertoire en un fichier binaire nommé gschemas.compiled utilisable par GSettings

glib-genmarshal

est un outil de génération marshaller de code C pour les closures GLib

glib-gettextize

est une variante de l'outil d'internationalisation gettext

glib-mkenums

est un outil de génération de description des enum du langage C

gobject-query

est un outil qui dessine une arborescence de types

gresource

offre une interface simple en ligne de commande avec GResource

gsettings

offre une interface simple en ligne de commande avec GSettings

gtester

est un outil d'exécution de tests

gtester-report

est un outil de formatage de rapports de test

libgio-2.0.so

est une bibliothèque qui fournit des classes utiles pour le traitement des entrées-sorties, le réseau, les IPC, les paramètres et d'autres fonctionnalités applicatives de haut-niveau

libgirepository-2.0.so

est une bibliothèque qui permet d'accéder aux données typelib et d'introspection qui décrivent des API C

libglib-2.0.so

est une bibliothèque auxiliaire portable générique qui fournit plusieurs types de données, macros, conversions de types, utilitaires de chaines, utilitaires de fichiers, une abstraction d'une boucle principales, etc

libgmodule-2.0.so

fournit une API portable pour charger dynamiquement des modules

libgobject-2.0.so

fournit le système de type de base de GLib et les classes d'objets

libgthread-2.0.so

est une bibliothèque vide pour la compatibilité arrière. Il s'agissait de la bibliothèque de threading de GLib mais les fonctionnalités ont été déplacées dans libglib-2.0

g-ir-annotation-tool

crée ou extrait des données d'annotation depuis les typelibs GI

g-ir-compiler

est un équivaleunt à gi-compile-repository pour l'ancienne API de libgirepository-1.0

g-ir-doc-tool

génère les fichiers Mallard qui peuvent être visualisés avec yelp ou rendu en HTML avec yelp-build de yelp-tools

g-ir-inspect

est un équivalent à gi-inspect-typelib pour l'ancienne API de libgirepository-1.0

g-ir-generate

est un équivalent à gi-decompile-typelib pour l'ancienne API de libgirepository-1.0

g-ir-scanner

est un outil qui génère des fichiers XML GIR en analysant les en-têtes et en examinant les bibliothèques basées sur GObject

libgirepository-1.0.so

est un équivalent à libgirepository-2.0 pour l'ancienne API 1.0