Closed tristan957 closed 4 years ago
It would be nice if these wraps matched pkgconfig filenames. Could you please provide links to individual project home directories and respective pkgconfig files? Thank you.
GLib: https://gitlab.gnome.org/GNOME/glib, https://gitlab.gnome.org/GNOME/glib/blob/master/gio/meson.build#L825 JSON-GLib: https://gitlab.gnome.org/GNOME/json-glib, https://gitlab.gnome.org/GNOME/json-glib/blob/master/json-glib/meson.build#L86 libhandy: https://source.puri.sm/Librem5/libhandy, https://source.puri.sm/Librem5/libhandy/blob/master/src/meson.build#L235 GTK: https://gitlab.gnome.org/GNOME/gtk, https://gitlab.gnome.org/GNOME/gtk/blob/gtk-3-24/gtk+-3.0.pc.in
@sarum9in I can submit a PR if you would like. Would love to contribute what I put together so it can be used by others
Sorry for delay, looking now: https://github.com/mesonbuild/libhandy created
libgio_dep
suggests that the name should be libgio
? How is glib related to gio?
https://gitlab.gnome.org/GNOME/gtk/blob/master/gtk/meson.build#L1134 uses libgtk_dep
, we probably should name libgtk
also?
GLib is the over-arching repository which encompasses gobject
, gio
, gmodule
, etc. I am not sure why the devs chose to name it that for its meson export.
libgtk
seems reasonable to me. Maybe the wrap community should just standardize on {wrap_name}_dep.
About naming, glib ships four different libraries: libglib, libgobject, libgmodule, libgio. The pkg-config files are glib-2.0
gobject-2.0
, gmodule-2.0
, gio-2.0
. libglib is the 'base' library, libgmodule depends on libglib, libgobject depends on libglib, and libgio depends on libgobject. You will want to make all four _dep
variables available for projects to use.
For gtk, there's two things: gtk3 and gtk4. The gtk3 meson port is experimental, which is why it's not in the tarballs yet. gtk4 is meson-only and is being developed in parallel and is parallel-installable. However you should not link a project to both gtk3 and gtk4. The pkg-config files are called gtk+-3.0
and gtk4
.
@nirbheek thank you for the lesson about glib and gtk.
The wrap files can be found here: https://git.sr.ht/~tristan957/harvest-almanac/tree/master/subprojects. They might need to be renamed to match pkg-config files however. The GTK wrap is interesting because they don't ship meson support in their tarball, so I am using their 3.24 branch (latest stable) which does include meson support. libhandy has no stable releases so I am just using the master branch.