On Fri, 27 Mar 2020 13:10:34 -0400 David Michael <[email protected]> wrote:
> I'd like to be able to install qt5 packages in a sysroot for staging, > and this is an initial patch for it. The pkg-config variables might not > be required, but it seemed appropriate to pass the sysroot-configured > versions through the build. There are a few caveats: > > - The upstream configure scripts do some bad things like this: > https://code.qt.io/cgit/qt/qtbase.git/tree/configure.pri#n363 > That makes the build fail for systems using lib64 (e.g. amd64). I'm > able to work around this by defining PKG_CONFIG_LIBDIR for dev-qt/*. Indeed, that sucks. We should probably patch that out. I don't know what it means where it says "or use -pkg-config to override this test", do you? I suspect you could define PKG_CONFIG_LIBDIR=/ or anywhere that simply exists and it will still work because our wrapper redefines that variable anyway. > - This isn't for real cross-compiling. There are places where it > tries to execute cross-compiled programs that I haven't investigated > yet, so this is only for building a sysroot for an architecture > compatible with the build system for now. Understood. I did try to do cross-compiling with Qt4 once upon a time and I did make a little headway but it wasn't fun. > - The qt packages depend on each other being installed in / as well as > the sysroot, so their ebuilds will need BDEPENDs added. I imagine you'd at least need qtcore for qmake and moc. Probably not the rest though? > - I've only gotten to testing a few packages that are dependencies of > other applications (like VLC), so I may be missing breakages. > > The patch basically just sets -sysroot when $SYSROOT is defined. It > also needs to set -extprefix to the normal prefix, since otherwise it > would default to installing into /sysroot/prefix. Is anyone involved in > qt maintenance more experienced with this and able to comment? I'm not the Qt guy but I am the cross guy. I'm not in a position to test this right now but it looks good and I love the simplicity of it. It's a hell of a lot simpler than Qt4 was. To be honest, we should be setting QMAKE_PKG_CONFIG regardless. -- James Le Cuirot (chewi) Gentoo Linux Developer
pgppueAPzt7VC.pgp
Description: OpenPGP digital signature
