2019-08-30 06:58:28 +02:00
|
|
|
|
# GLib
|
2001-04-17 02:55:34 +02:00
|
|
|
|
|
2019-07-23 12:17:41 +02:00
|
|
|
|
GLib is the low-level core library that forms the basis for projects such
|
|
|
|
|
as GTK and GNOME. It provides data structure handling for C, portability
|
|
|
|
|
wrappers, and interfaces for such runtime functionality as an event loop,
|
|
|
|
|
threads, dynamic loading, and an object system.
|
2001-04-17 02:55:34 +02:00
|
|
|
|
|
2012-03-24 15:33:38 +01:00
|
|
|
|
The official download locations are:
|
2019-08-30 06:58:28 +02:00
|
|
|
|
<https://download.gnome.org/sources/glib>
|
2001-04-17 02:55:34 +02:00
|
|
|
|
|
|
|
|
|
The official web site is:
|
2019-08-30 06:58:28 +02:00
|
|
|
|
<https://www.gtk.org/>
|
2001-04-17 02:55:34 +02:00
|
|
|
|
|
2019-08-30 06:58:28 +02:00
|
|
|
|
## Installation
|
2001-04-17 02:55:34 +02:00
|
|
|
|
|
2023-05-24 17:19:47 +02:00
|
|
|
|
See the file ‘[INSTALL.md](INSTALL.md)’. There is
|
|
|
|
|
[separate and more in-depth documentation](./docs/win32-build.md) for building
|
|
|
|
|
GLib on Windows.
|
2001-04-17 02:55:34 +02:00
|
|
|
|
|
2021-06-18 11:43:23 +02:00
|
|
|
|
## Supported versions
|
|
|
|
|
|
2023-09-28 18:08:01 +02:00
|
|
|
|
Upstream GLib only supports the most recent stable release series, the previous
|
|
|
|
|
stable release series, and the current development release series. All
|
|
|
|
|
older versions are not supported upstream and may contain bugs, some of which
|
|
|
|
|
may be exploitable security vulnerabilities.
|
2021-06-18 11:43:23 +02:00
|
|
|
|
|
|
|
|
|
See [SECURITY.md](SECURITY.md) for more details.
|
|
|
|
|
|
2020-12-07 11:33:24 +01:00
|
|
|
|
## Documentation
|
|
|
|
|
|
|
|
|
|
API documentation is available online for GLib for the:
|
|
|
|
|
* [GLib](https://docs.gtk.org/glib/)
|
|
|
|
|
* [GObject](https://docs.gtk.org/gobject/)
|
|
|
|
|
* [GModule](https://docs.gtk.org/gmodule/)
|
|
|
|
|
* [GIO](https://docs.gtk.org/gio/)
|
|
|
|
|
|
2020-07-27 14:43:31 +02:00
|
|
|
|
## Discussion
|
2012-03-24 15:33:38 +01:00
|
|
|
|
|
2020-07-27 14:43:31 +02:00
|
|
|
|
If you have a question about how to use GLib, seek help on [GNOME’s Discourse
|
|
|
|
|
instance](https://discourse.gnome.org/tags/glib). Alternatively, ask a question
|
|
|
|
|
on [StackOverflow and tag it `glib`](https://stackoverflow.com/questions/tagged/glib).
|
2012-03-24 15:33:38 +01:00
|
|
|
|
|
2020-07-27 14:43:31 +02:00
|
|
|
|
## Reporting bugs
|
|
|
|
|
|
|
|
|
|
Bugs should be [reported to the GNOME issue tracking system](https://gitlab.gnome.org/GNOME/glib/issues/new).
|
|
|
|
|
You will need to create an account for yourself. You may also submit bugs by
|
|
|
|
|
e-mail (without an account) by e-mailing <incoming+gnome-glib-658-issue-@gitlab.gnome.org>,
|
|
|
|
|
but this will give you a degraded experience.
|
|
|
|
|
|
|
|
|
|
Bugs are for reporting problems in GLib itself, not for asking questions about
|
|
|
|
|
how to use it. To ask questions, use one of our [discussion forums](#discussion).
|
|
|
|
|
|
|
|
|
|
In bug reports please include:
|
2012-03-24 15:33:38 +01:00
|
|
|
|
|
|
|
|
|
* Information about your system. For instance:
|
2019-08-30 06:58:28 +02:00
|
|
|
|
* What operating system and version
|
|
|
|
|
* For Linux, what version of the C library
|
|
|
|
|
* And anything else you think is relevant.
|
2012-03-24 15:33:38 +01:00
|
|
|
|
* How to reproduce the bug.
|
2019-08-30 06:58:28 +02:00
|
|
|
|
* If you can reproduce it with one of the test programs that are built
|
2020-07-27 14:43:31 +02:00
|
|
|
|
in the `tests/` subdirectory, that will be most convenient. Otherwise,
|
2012-03-24 15:33:38 +01:00
|
|
|
|
please include a short test program that exhibits the behavior.
|
|
|
|
|
As a last resort, you can also provide a pointer to a larger piece
|
|
|
|
|
of software that can be downloaded.
|
|
|
|
|
* If the bug was a crash, the exact text that was printed out
|
2020-06-12 15:02:30 +02:00
|
|
|
|
when the crash occurred.
|
2012-03-24 15:33:38 +01:00
|
|
|
|
* Further information such as stack traces may be useful, but
|
|
|
|
|
is not necessary.
|
|
|
|
|
|
2020-07-27 14:43:31 +02:00
|
|
|
|
## Contributing to GLib
|
2012-03-24 15:33:38 +01:00
|
|
|
|
|
2020-07-27 14:43:31 +02:00
|
|
|
|
Please follow the [contribution guide](./CONTRIBUTING.md) to know how to
|
|
|
|
|
start contributing to GLib.
|
|
|
|
|
|
|
|
|
|
Patches should be [submitted as merge requests](https://gitlab.gnome.org/GNOME/glib/-/merge_requests/new)
|
2024-08-29 09:58:36 +02:00
|
|
|
|
to gitlab.gnome.org. Note that you will need to be logged in to the site to use
|
|
|
|
|
this page. If the patch fixes an existing issue, please refer to the
|
2020-07-27 14:43:31 +02:00
|
|
|
|
issue in your commit message with the following notation (for issue 123):
|
|
|
|
|
```
|
2018-05-31 23:44:02 +02:00
|
|
|
|
Closes: #123
|
2020-07-27 14:43:31 +02:00
|
|
|
|
```
|
2012-03-24 15:33:38 +01:00
|
|
|
|
|
2020-07-27 14:43:31 +02:00
|
|
|
|
Otherwise, create a new merge request that introduces the change. Filing a
|
2018-05-31 23:44:02 +02:00
|
|
|
|
separate issue is not required.
|
2021-06-07 14:26:46 +02:00
|
|
|
|
|