forked from AuroraMiddleware/gtk
0b4bfd5c93
When filing a new merge request it's often hard to know who to ask for a review; using the Git log doesn't always help — the person that touched a file last may just be fixing the build or a compiler warning. The `CODE-OWNERS` file format is something that GitHub uses in order to pre-fill the list of reviewers: https://help.github.com/articles/about-codeowners/ Ideally, in the future, we'll be able to use this file with a bot like homu to automatically go through newly filed merge requests and automatically ask the relevant people for reviews, instead of doing this manually.
66 lines
1.9 KiB
Markdown
66 lines
1.9 KiB
Markdown
If you want to hack on the GTK+ project, you'll need to have the development
|
|
tools appropriate for your operating system, including:
|
|
|
|
- Python 3.x
|
|
- Meson
|
|
- Ninja
|
|
- Gettext (19.7 or newer)
|
|
- a C99 compatible compiler
|
|
|
|
Up-to-date instructions about developing GNOME applications and libraries
|
|
can be found here:
|
|
|
|
* https://developer.gnome.org
|
|
|
|
Information about using GitLab with GNOME can be found here:
|
|
|
|
* https://wiki.gnome.org/GitLab
|
|
|
|
In order to get Git GTK+ installed on your system, you need to have the
|
|
required versions of all the GTK+ dependencies; typically, this means a
|
|
recent version of GLib, Cairo, Pango, and ATK, as well as the platform
|
|
specific dependencies for the windowing system you are using (Wayland, X11,
|
|
Windows, or macOS).
|
|
|
|
You should start by forking the GTK repository from the GitLab web UI, and
|
|
cloning from your fork:
|
|
|
|
```ssh
|
|
$ git clone https://gitlab.gnome.org/yourusername/gtk.git
|
|
$ cd gtk
|
|
```
|
|
|
|
**Note**: if you plan to push changes to back to the main repository and
|
|
have a GNOME account, you can skip the fork, and use the following instead:
|
|
|
|
```sh
|
|
$ git clone git@gitlab.gnome.org:GNOME/gtk.git
|
|
$ cd gtk
|
|
```
|
|
|
|
To compile the Git version of GTK+ on your system, you will need to
|
|
configure your build using Meson:
|
|
|
|
```sh
|
|
$ meson _builddir .
|
|
$ cd _builddir
|
|
$ ninja
|
|
```
|
|
|
|
**Note**: For information about submitting patches and pushing changes
|
|
to Git, see the `README.md` and `README.commits` files. In particular,
|
|
don't, under any circumstances, push anything to Git before reading and
|
|
understanding `README.commmits`.
|
|
|
|
Typically, you should work on your own branch:
|
|
|
|
```sh
|
|
$ git checkout -b your-branch
|
|
```
|
|
|
|
Once you've finished working on the bug fix or feature, push the branch
|
|
to the Git repository and open a new merge request, to let the GTK
|
|
maintainers review your contribution. The [CODE-OWNERS](./docs-CODE-OWNERS)
|
|
document contains the list of core contributors to GTK and the areas for
|
|
which they are responsible.
|