[Development] Qt 6 buildsystem support requirements

Allan Sandfeld Jensen kde at carewolf.com
Sat Jul 21 08:40:47 CEST 2018


On Samstag, 21. Juli 2018 07:38:10 CEST Bogdan Vatra via Development wrote:
> Hi,
> 
> În ziua de sâmbătă, 21 iulie 2018, la 05:35:48 EEST, Thiago Macieira a 
scris:
> > Hello
> > 
> > Having spent far too much time trying to figure out why crappy
> > buildsystems
> 
> [...]
> 
> > 1) Ease of obtention
> > 
> > a) Must be packaged by all major package managers where Qt 6 is expected
> > to
> > 
> > be relevant. That is, it must be available as a package in:
> >  - ArchLinux
> >  - Debian testing
> >  - Gentoo
> >  - Fedora current and previous
> >  - openSUSE current and previous
> >  - Ubuntu LTS released more than 6 months prior
> >  - Homebrew (macOS)
> 
> [...]
> 
> > b) Must be easily compiled from source on a standard system installation.
> > All of its dependencies must come from the system's package manager and
> > there must be no cyclic dependencies. That is, it cannot require itself to
> > build and it must not depend on Qt, either in source form or binary.
> 
> You really hate QBS don't you ? :)
> 
> Anyway IMHO is more important to have a clean, nice and easy to use syntax
> and to be tooling friendly than 1.b.
> 
> GN[1] is another example of build system which didn't care too much about
> 1.a,b,c and it still used in quite big projects (e.g. chrome, fuchsia). To
> my huge surprise, they managed to move it into a separate repo and remove
> all chromium dependencies (yep, a few months ago you had to checkout the
> entire chromium repo to build it :) ).
> 
Sounds good, but at least for the last year it has also been so unstable that 
any older version of GN couldn't build a newer Chromium release, and all the 
build logic was heavily tied to how Chromium does this, and it has a 
bootstrapper than never worked in any releases ever, so the only way to build 
GN was to download GN and build it with the blackbox binary.

`Allan





More information about the Development mailing list