diff options
author | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2022-07-17 18:52:17 -0400 |
---|---|---|
committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2022-07-31 21:55:42 -0400 |
commit | d48c98cd129b86ae7d9307c3bb8d3db99bed24e7 (patch) | |
tree | 9b2b008262224a92f797d4d2488b7f3fb682d0b3 | |
parent | 663f12ea2420227e50aff1485cbf0731a46ca021 (diff) | |
download | guix-d48c98cd129b86ae7d9307c3bb8d3db99bed24e7.tar.gz |
gnu: qtbase: Honor CMAKE_PREFIX_PATH.
* gnu/packages/qt.scm (qtbase)[phases]{honor-CMAKE_PREFIX_PATH}: New phase.
-rw-r--r-- | gnu/packages/qt.scm | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index fd26264892..c2e509fcdf 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -618,6 +618,27 @@ developers using C++ or QML, a CSS & JavaScript like language.") "-DFEATURE_mips_dspr2=OFF"))) ((#:phases phases) #~(modify-phases #$phases + (add-after 'unpack 'honor-CMAKE_PREFIX_PATH + (lambda _ + ;; The configuration files for other Qt packages are searched + ;; through a call to "find_package" in Qt5Config.cmake, which + ;; disables the use of CMAKE_PREFIX_PATH via the parameter + ;; "NO_DEFAULT_PATH". Re-enable it so that the different + ;; components can be installed in different places. + (substitute* (find-files "." "\\.cmake(\\.in)?$") + (("\\bNO_DEFAULT_PATH\\b") "")) + ;; Because Qt goes against the grain of CMake and set + ;; NO_DEFAULT_PATH, it needs to invent yet another variable + ;; to do what CMAKE_PREFIX_PATH could have done: + ;; QT_ADDITIONAL_PACKAGES_PREFIX_PATH. Since we patch out + ;; the NO_DEFAULT_PATH, we can set the default value of + ;; QT_ADDITIONAL_PACKAGES_PREFIX_PATH to that of + ;; CMAKE_PREFIX_PATH to ensure tools such as + ;; 'qmlimportscanner' from qtdeclarative work out of the + ;; box. + (substitute* "cmake/QtConfig.cmake.in" + (("(set\\(QT_ADDITIONAL_PACKAGES_PREFIX_PATH )\"\"" _ head) + (string-append head "\"$ENV{CMAKE_PREFIX_PATH}\""))))) (delete 'patch-bin-sh) (delete 'patch-xdg-open) (add-after 'patch-paths 'patch-more-paths |