Jhbuild vs gnome-build-meta

What is the recommended way to build all gnome apps in the GNOME ecosystem ?

  • jhbuild
  • gnome-build-meta

For applications, the recommendation is to use the Flatpak manifest that apps ship. Use GNOME Builder for automatic management of dependencies.

JHBuild is a tool used mainly for system components and libraries.

gnome-build-meta is a tool used to release the GNOME run times and generate VM images.

Should have been more clear.

I meant "build ALL gnome apps" in one go ( not each app individually )

What are you actually trying to achieve?

You’re going to want to use gnome-build-meta for this, but have reasonable expectations in mind please: it’s a tool for release engineering, not a tool for development. It won’t be easy to actually run the applications.

I frequently end up building gnome apps ( "appX" ) from git and it needs the latest "libY" which needs the latest "libZ" etc. I don’t want to keep doing this manually every time. I want to have an environment where I fire a command, and I get the latest app with all dependencies taken care of.

Also, for Appstream related work.


I thought "jhbuild" was doing the same ( building full GNOME though without the OS packaging part ), before "gnome-build-meta" came into existence.

Won’t a "jhbuild build" ( which builds the default moduleset from "~/.config/jhbuildrc" ) work here ?

I would recommend jhbuild, but instead of trying to build everything, I would build only what you really need. I’d rely on system dependencies for everything else.

Release team does not maintain the jhbuild modulesets anymore (not for a long time now) and they were very fragile even when we did try to keep them working. You’ll need to be capable of fixing build failures. The more you build, the more trouble you’re likely to run into. But if you only build what you really need, then jhbuild is probably the best tool right now.

Another option you could do is build things manually using toolbx and install them into your toolbx.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.