%general-entities; ]> GLib-&glib2-version; GLib2 Introduction to GLib The GLib package contains low-level libraries useful for providing data structure handling for C, portability wrappers and interfaces for runtime functionality such as an event loop, threads, dynamic loading and an object system. &lfs121_checked; Package Information Download (HTTP): Download (FTP): Download MD5 sum: &glib2-md5sum; Download size: &glib2-size; Estimated disk space required: &glib2-buildsize; Estimated build time: &glib2-time; Additional Downloads GObject Introspection (Recommended) Download: Download MD5 sum: &gobject-introspection-md5sum; Download size: &gobject-introspection-size; Patch for Log Level Selection (Optional) Optional patch: GLib Dependencies Required Recommended , , and Optional (for some GObject Introspection tests), (for some tests), and bindfs (both needed for one test), (for bindings), (for some GObject Introspection tests), (for GObject Introspection documentation), , , (to build API documentation), (for some tests, but this is a circular dependency), and (both for g-ir-doc-tool), and sysprof Additional Runtime Dependencies Quoted directly from the INSTALL file: Some of the mimetype-related functionality in GIO requires the update-mime-database and update-desktop-database utilities, which are part of and , respectively. These two utilities are also needed for some tests. Installation of GLib If desired, apply the optional patch. In many cases, applications that use this library, either directly or indirectly via other libraries such as , output numerous warnings when run from the command line. This patch enables the use of an environment variable, GLIB_LOG_LEVEL, that suppresses unwanted messages. The value of the variable is a digit that corresponds to: 1 Alert 2 Critical 3 Error 4 Warning 5 Notice For instance export GLIB_LOG_LEVEL=4 will skip output of Warning and Notice messages (and Info/Debug messages if they are turned on). If GLIB_LOG_LEVEL is not defined, normal message output will not be affected. patch -Np1 -i ../glib-skip_warnings-1.patch If a previous version of glib is installed, move the headers out of the way so that later packages do not encounter conflicts: 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 Install GLib by running the following commands: mkdir build && cd build && meson setup .. \ --prefix=/usr \ --buildtype=release \ -Dintrospection=disabled \ -Dman-pages=enabled && ninja The GLib test suite requires desktop-file-utils for some tests. However, desktop-file-utils requires GLib in order to compile; therefore, you must first install GLib and then run the test suite. As the root user, install this package for the first time to allow building GObject Introspection: ninja install Build GObject Introspection: tar xf ../../gobject-introspection-&gobject-introspection-version;.tar.xz && meson setup gobject-introspection-&gobject-introspection-version; gi-build \ --prefix=/usr --buildtype=release && ninja -C gi-build To test the results of GObject Introspection, issue: ninja -C gi-build test. As the &root; user, install GObject Introspection for generating the introspection data of GLib libraries (required by various packages using Glib, especially some GNOME packages): ninja -C gi-build install Now generate the introspection data: meson configure -Dintrospection=enabled && ninja If you have installed and wish to build the API documentation for this package, issue: sed 's/glib-2.0/glib-&glib2-version;/' \ -i ../docs/reference/meson.build && meson configure -Ddocumentation=true && ninja As the &root; user, install this package again for the introspection data (and optionally, the documentation): ninja install You should now install and and proceed to run the test suite. Do not run the test suite as &root; or some tests will fail unexpectedly and leave some non-FHS-compliant directories in the /usr hierarchy. To test the results, after having installed the packages, issue: LC_ALL=C ninja test as a non-&root; user. Command Explanations -Dman-pages=enabled: This switch causes the build to create and install the package man pages. Contents GLib Contents Installed Programs Installed Libraries Installed Directories 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, and gtester-report libgio-2.0.so, libgirepository-2.0.so, libglib-2.0.so, libgmodule-2.0.so, libgobject-2.0.so, and libgthread-2.0.so /usr/include/gio-unix-2.0, /usr/include/glib-2.0, /usr/lib/gio, /usr/lib/glib-2.0, /usr/share/glib-2.0, and /usr/share/doc/glib-&glib2-version; (optional) GObject Introspection Contents Installed Program Installed Libraries Installed Directories g-ir-annotation-tool, g-ir-compiler, g-ir-doc-tool (optional), g-ir-generate, g-ir-inspect, and g-ir-scanner libgirepository-1.0.so and _giscanner.&python3-lib-suffix;.so /usr/include/gobject-introspection-1.0, /usr/lib/girepository-1.0, /usr/lib/gobject-introspection, /usr/share/gir-1.0, and /usr/share/gobject-introspection-1.0 Short Descriptions gapplication can be used to start applications and to send messages to already-running instances of other applications application gdbus is a simple tool used for working with D-Bus objects gdbus gdbus-codegen is used to generate code and/or documentation for one or more D-Bus interfaces gdbus-codegen gi-compile-repository converts one or more GIR files into one or more typelib files gi-compile-repository gi-decompile-typelib is a GIR decompiler that uses the repository API gi-decompile-typelib gi-inspect-typelib is a utility that gives information about a GI typelib gi-inspect-typelib gio is a utility that makes many GIO features available from the command line gio gio-querymodules is used to create a giomodule.cache file in the listed directories. This file lists the implemented extension points for each module that has been found gio-querymodules glib-compile-resources is used to read the resource description from a file and the files that it references to create a binary resource bundle that is suitable for use with the GResource API glib-compile-resources glib-compile-schemas is used to compile all the GSettings XML schema files in a directory into a binary file with the name gschemas.compiled that can be used by GSettings glib-compile-schemas glib-genmarshal is a C code marshaller generation utility for GLib closures glib-genmarshal glib-gettextize is a variant of the gettext internationalization utility glib-gettextize glib-mkenums is a C language enum description generation utility glib-mkenums gobject-query is a small utility that draws a tree of types gobject-query gresource offers a simple command line interface to GResource gresource gsettings offers a simple command line interface to GSettings gsettings gtester is a test running utility gtester gtester-report is a test report formatting utility gtester-report libgio-2.0.so is a library providing useful classes for general purpose I/O, networking, IPC, settings, and other high level application functionality libgio-2.0.so libgirepository-2.0.so is a library providing access to typelibs and introspection data which describes C APIs libgirepository-2.0.so libglib-2.0.so is a general-purpose, portable utility library, which provides many useful data types, macros, type conversions, string utilities, file utilities, a mainloop abstraction, and so on libglib-2.0.so libgmodule-2.0.so provides portable API for dynamically loading modules libgmodule-2.0.so libgobject-2.0.so provides the GLib base type system and object class libgobject-2.0.so libgthread-2.0.so is a skeleton library for backwards compatibility; it used to be the GLib thread library but the functionalities has been merged info libglib-2.0 libgthread-2.0.so g-ir-annotation-tool creates or extracts annotation data from GI typelibs g-ir-annotation-tool g-ir-compiler is a counterpart of gi-compile-repository for the old libgirepository-1.0 API g-ir-compiler g-ir-doc-tool generates Mallard files that can be viewed with yelp or rendered to HTML with yelp-build from yelp-tools g-ir-doc-tool g-ir-inspect is a counterpart of gi-inspect-typelib for the old libgirepository-1.0 API g-ir-inspect g-ir-generate is a counterpart of gi-decompile-typelib for the old libgirepository-1.0 API g-ir-generate g-ir-scanner is a tool which generates GIR XML files by parsing headers and introspecting GObject based libraries g-ir-scanner libgirepository-1.0.so is a counterpart of libgirepository-2.0 with the old 1.0 API libgirepository-1.0.so