qt5: Add missing include path to pkg-config files

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.
This commit is contained in:
xbreak 2020-05-11 18:34:11 +00:00
parent c89072465c
commit ee5975319b
No known key found for this signature in database
GPG Key ID: 727AA697791BE1F5
2 changed files with 19 additions and 0 deletions

@ -67,6 +67,11 @@ let
./qtbase.patch.d/0010-qtbase-qtpluginpath.patch
./qtbase.patch.d/0011-qtbase-assert.patch
./qtbase.patch.d/0012-fix-header_module.patch
# Ensure -I${includedir} is added to Cflags in pkg-config files.
# See https://github.com/NixOS/nixpkgs/issues/52457
./qtbase.patch.d/0014-qtbase-pkg-config.patch
# https://bugreports.qt.io/browse/QTBUG-81715
# remove after updating to qt > 5.12.7
(fetchpatch {

@ -0,0 +1,14 @@
diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp
--- a/qmake/generators/makefile.cpp
+++ b/qmake/generators/makefile.cpp
@@ -3390,8 +3390,7 @@ MakefileGenerator::writePkgConfigFile()
<< varGlue("QMAKE_PKGCONFIG_CFLAGS", "", " ", " ")
// << varGlue("DEFINES","-D"," -D"," ")
;
- if (!project->values("QMAKE_DEFAULT_INCDIRS").contains(includeDir))
- t << "-I${includedir}";
+ t << "-I${includedir}";
if (target_mode == TARG_MAC_MODE && project->isActiveConfig("lib_bundle")
&& libDir != QLatin1String("/Library/Frameworks")) {
t << " -F${libdir}";