Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
6.5.4
-
None
Description
When Qt is installed in a modular way (putting the different modules qtbase, qtdeclarative, etc. in different prefixes) the macdeployqt tool does not work properly because 1) it can't find the qmlimportscanner tool and 2) it can not find the QML import paths, and 3) it tries to find QML code in qtbase which does not have any QML code obviously.
Because Nix installs Qt in a modular fashion, we have prepared a set of patches to workaround that here:
https://github.com/NixOS/nixpkgs/pull/248149#discussion_r1291099393
The patches that solve problem 2 and problem 3 seem like they could be merged upstream without causing any further issue.
For problem 1 our solution is a bit more of a workaround, but the better solution I'm not sure what it is. One problem is that `macdeployqt` is provided by `qtbase`, which can not be made depend on qtdeclarative. Maybe it would help moving macdeployqt to qttools, which I think was it's previous location in Qt 5? There's still the question on how to inform macdeployqt about the location of qmlimportscanner in that scenario - maybe the user should do it, via a command line argument or environment variable.