This fixes build in qt514 case.
The usual way here is to provide patches for each qt5 version
separately. No other module adds them in this generic way.
The problem is when you combine the approaches; qtModule will only
take the list from the module and ignore the version-specific list.
qtModule was defined outside of addPackages, which caused it to use a self
variable that isn't affected by updates using overrideScope. This caused
overrides to qtbase to be incompletely applied. I also entirely removed the
outer self variable to prevent it from being accidently used again.
Qt Base is built with LLVM 5 on Darwin. LLVM 11 causes problems for
WebEngine because of the "version" includes in libc++abi. LLVM 7 would
work but since parts are built with LLVM 5 anyway it seemed like a more
straightforward option.
Make Qt applications work on macOS Big Sur even if they're built with
an older version of the macOS SDK (<10.14 - we're currently using
10.12). This issue is fixed in 5.12.11, but it requires macOS SDK
10.13 to build. See https://bugreports.qt.io/browse/QTBUG-87014 for
more info.
As it is currently it's almost impossible to accomplish something like:
```nix
...
(qt5.callPackage (
{ qtModule, qtbase, qtdeclarative }:
qtModule {
pname = "qt3d";
qtInputs = [ qtbase qtdeclarative ];
outputs = [ "out" "dev" "bin" ];
}
) { })
...
```
because all the required variables such as qtModule are internal-only.
By exposing these it's easier for external projects not to be bound
exactly by the module definitions explicitly listed in nixpkgs.
The qmake hook sets its own `CONFIG+=debug` or `CONFIG+=release` depending on
how `qtbase` was built. We no longer rely on using the custom deriver for this
feature.
This reverts commit 4b7d9dc868.
The KDE project has changed their source index pages so that the links to
package metadata files are generated by JavaScript after the page loads. As a
result, wget is no longer able to recursively fetch the package metadata
automatically.
This is achieved by patching qtbase `qmake/generators/makefile.cpp` to
unconditionally add the missing `-I${includedir}`. The include path is
otherwise conditioned on whether it is already available or not. Since there is
no unified set of system include paths in nix this cause problems as reported
in #52457.