mesonbuild / mesonwrap

Meson wraps service and tools, please use https://github.com/mesonbuild/wrapdb for wraps issues
https://wrapdb.mesonbuild.com
Apache License 2.0
26 stars 7 forks source link

new wraps: glib, json-glib, libhandy, gtk #90

Closed tristan957 closed 4 years ago

tristan957 commented 5 years ago

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.

sarum9in commented 5 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.

tristan957 commented 5 years ago

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

tristan957 commented 5 years ago

@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

sarum9in commented 5 years ago

Sorry for delay, looking now: https://github.com/mesonbuild/libhandy created

sarum9in commented 5 years ago

libgio_dep suggests that the name should be libgio? How is glib related to gio?

sarum9in commented 5 years ago

http://github.com/mesonbuild/json-glib created

sarum9in commented 5 years ago

https://gitlab.gnome.org/GNOME/gtk/blob/master/gtk/meson.build#L1134 uses libgtk_dep, we probably should name libgtk also?

tristan957 commented 5 years ago

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.

nirbheek commented 5 years ago

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.

tristan957 commented 5 years ago

@nirbheek thank you for the lesson about glib and gtk.