GNU bug report logs - #56771
[PATCH 00/33] *** Update Jami to 20220725, core Qt packages along the way

Previous Next

Package: guix-patches;

Reported by: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Date: Mon, 25 Jul 2022 21:18:01 UTC

Severity: normal

Tags: patch

Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 56771 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [bug#56771] [PATCH 02/33] gnu: qtbase: Honor CMAKE_PREFIX_PATH.
Date: Mon, 25 Jul 2022 19:07:32 -0400
* gnu/packages/qt.scm (qtbase)[phases]{honor-CMAKE_PREFIX_PATH}: New phase.
---
 gnu/packages/qt.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

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 @@ (define-public qtbase
                  "-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
-- 
2.36.1





This bug report was last modified 3 years and 10 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.