From ee5975319b149007a0100f15cc3356d352fb5b1c Mon Sep 17 00:00:00 2001 From: xbreak Date: Mon, 11 May 2020 18:34:11 +0000 Subject: [PATCH] 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. --- pkgs/development/libraries/qt-5/5.12/default.nix | 5 +++++ .../qtbase.patch.d/0014-qtbase-pkg-config.patch | 14 ++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0014-qtbase-pkg-config.patch diff --git a/pkgs/development/libraries/qt-5/5.12/default.nix b/pkgs/development/libraries/qt-5/5.12/default.nix index 78d711e969b5..3123e83960e8 100644 --- a/pkgs/development/libraries/qt-5/5.12/default.nix +++ b/pkgs/development/libraries/qt-5/5.12/default.nix @@ -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 { diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0014-qtbase-pkg-config.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0014-qtbase-pkg-config.patch new file mode 100644 index 000000000000..90caaea1cf4d --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0014-qtbase-pkg-config.patch @@ -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}"; +