about summary refs log tree commit diff
path: root/README.md
blob: 559c6cf6ed771719d2c055b93d4a490cd76a3d29 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# hare-gi
GObject Introspection code generator for Hare. In short, it creates bindings for
GTK family of libraries (GTK+, GDK, Pango, etc).

## Generating and installing bindings
Dependencies:
* An up-to-date [Hare] toolchain
* [hare-fastxml]
* Development files for the desired GTK version and its dependencies. Make sure
`/usr/share/gir-1.0` is included.

A few core libraries do not ship GIR XML files by default. They can be obtained
from gobject-introspection:

```
git clone https://gitlab.gnome.org/GNOME/gobject-introspection.git
meson setup build/
ninja -C build/

# The path where this is downloaded will be used later
```

### GTK 3
```
./generate <path to gobject-introspection>
make install
```

### GTK 4
```
./generate4 <path to gobject-introspection>
make install4
```

## Running examples
### GTK 3
```
make demo
./demo
```

### GTK 4
```
make demo4
./demo4
```

## Contributing
Please send patches to [~yerinalexey/public-inbox@lists.sr.ht][archives] using
[git send-email] with prefix set to `hare-gi`:

```shell-session
$ git config format.subjectPrefix "PATCH hare-gi"
```

[Hare]: https://harelang.org/installation
[hare-fastxml]: https://git.sr.ht/~yerinalexey/hare-fastxml
[archives]: https://lists.sr.ht/~yerinalexey/public-inbox
[git send-email]: https://git-send-email.io