From 176354c2f887942a9bdb6ccbdb754094eacd06fa Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Wed, 16 Feb 2022 13:34:55 +0100 Subject: gnu: python-pyside-2: Fix detection of Qt modules. * gnu/packages/qt.scm (python-pyside-2)[inputs]: Add qtdeclarative, qtquickcontrols2 and qtwebengine. [arguments]: Add 'fix-qt-module-detection' phase. --- gnu/packages/qt.scm | 46 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) (limited to 'gnu/packages/qt.scm') diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 5a55c522af..38348b52d5 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -21,7 +21,7 @@ ;;; Copyright © 2020 Michael Rohleder ;;; Copyright © 2020, 2021 Maxim Cournoyer ;;; Copyright © 2021 Brendan Tildesley -;;; Copyright © 2021 Guillaume Le Vaillant +;;; Copyright © 2021, 2022 Guillaume Le Vaillant ;;; Copyright © 2021 Nicolò Balzarotti ;;; ;;; This file is part of GNU Guix. @@ -2878,15 +2878,18 @@ color-related widgets.") clang-toolchain qtbase-5 qtdatavis3d + qtdeclarative qtlocation qtmultimedia qtquickcontrols + qtquickcontrols2 qtscript qtscxml qtsensors qtspeech qtsvg qtwebchannel + qtwebengine qtwebsockets qtx11extras qtxmlpatterns)) @@ -2905,10 +2908,51 @@ color-related widgets.") (string-append "-DPYTHON_EXECUTABLE=" (assoc-ref %build-inputs "python") "/bin/python")) + #:modules ((guix build cmake-build-system) + (guix build utils) + (srfi srfi-1)) #:phases (modify-phases %standard-phases (add-after 'unpack 'go-to-source-dir (lambda _ (chdir "sources/pyside2") #t)) + (add-after 'go-to-source-dir 'fix-qt-module-detection + (lambda* (#:key inputs #:allow-other-keys) + ;; Activate qt module support even if it not in the same + ;; directory as qtbase. + (substitute* "../cmake_helpers/helpers.cmake" + (("\\(\"\\$\\{found_basepath\\}\" GREATER \"0\"\\)") + "true")) + ;; Add include directories for qt modules. + (let ((dirs (map (lambda (name) + (string-append (assoc-ref inputs name) + "/include/qt5")) + '("qtdatavis3d" + "qtdeclarative" + "qtlocation" + "qtmultimedia" + "qtquickcontrols" + "qtquickcontrols2" + "qtscript" + "qtscxml" + "qtsensors" + "qtspeech" + "qtsvg" + "qttools" + "qtwebchannel" + "qtwebengine" + "qtwebsockets" + "qtx11extras" + "qtxmlpatterns")))) + (substitute* "cmake/Macros/PySideModules.cmake" + (("\\$\\{PATH_SEP\\}\\$\\{core_includes\\}" all) + (fold (lambda (dir paths) + (string-append paths "${PATH_SEP}" dir)) + all + dirs))) + (setenv "CXXFLAGS" (fold (lambda (dir paths) + (string-append paths " -I" dir)) + "" + dirs))))) (add-before 'configure 'set-clang-dir (lambda* (#:key inputs #:allow-other-keys) (let ((clang (assoc-ref inputs "clang-toolchain"))) -- cgit v1.2.3