README.md 1.93 KB
Newer Older
Evan Nemerson's avatar
Evan Nemerson committed
1
2
3
4
This repository provides Vala bindings to various libraries which do
not provide their own bindings, and for which valac does not provide
bindings.

5
## Rationale
Evan Nemerson's avatar
Evan Nemerson committed
6
7
8

In most cases it is preferable for libraries to ship their own
bindings (some of the reasons why, as well as information on how to do
9
10
11
12
13
14
so, are at Vala Binding's
[Upstream Guide](https://wiki.gnome.org/Projects/Vala/UpstreamGuide).
Some libraries, however, are unable or unwilling to do so. Other
bindings are distributed with valac, but generally that is reserved
for relatively popular libraries with well structured VAPIs and have
a fairly strong aversion to breaking backwards compatibility.
Evan Nemerson's avatar
Evan Nemerson committed
15

16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Bindings included in this repository are meant to be copied into your
project or used as a git submodule or subtree, and are *not* intended
to be installed system-wide or packaged by distributions.  This means
that projects choose when to upgrade bindings instead of having the
bindings upgraded for them when a new version of Vala is installed,
which means backwards incompatible changes are allowed in this
repository.

Unlike valac, where submissions are carefully screened before
inclusion, the barrier to entry for this repository is quite low.
Pretty much the only thing which would preclude inclusion is a
licensing issue.  Contributors need not commit to maintaining the
bindings, preserving backwards compatibility, testing, etc.  With that
in mind, this repository provides a good stable, central location for
bindings.
Evan Nemerson's avatar
Evan Nemerson committed
31

32
## Usage
Evan Nemerson's avatar
Evan Nemerson committed
33
34
35
36
37
38
39

Because the bindings shipped in this repository provide no
backwards-compatibility promises, it is designed to be used as a git
submodule.  If that is not acceptable (for example, if you don't use
git), it is recommended you simply copy the bindings you need into
your source tree.

40
## Submitting Bindings For Inclusion
Evan Nemerson's avatar
Evan Nemerson committed
41
42

If you have bindings which you would like to see housed in this
Rico Tzschichholz's avatar
Rico Tzschichholz committed
43
repository, simply submit an issue to Gitlab:
44

Rico Tzschichholz's avatar
Rico Tzschichholz committed
45
  https://gitlab.gnome.org/GNOME/vala-extra-vapis