guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

07/07: gnu: extra-cmake-modules: Update to 5.91.0.


From: guix-commits
Subject: 07/07: gnu: extra-cmake-modules: Update to 5.91.0.
Date: Tue, 10 May 2022 18:35:51 -0400 (EDT)

civodul pushed a commit to branch staging
in repository guix.

commit 6c777feb3eb9fb594fe731b3da081faea28cf31c
Author: Zhu Zihao <all_but_last@163.com>
AuthorDate: Mon May 2 22:25:01 2022 +0800

    gnu: extra-cmake-modules: Update to 5.91.0.
    
    * gnu/packages/kde-frameworks.scm (extra-cmake-modules): Update to 5.91.0.
    Fix the indentation.
    [native-inputs]: Use label-less input style.
    [arguments]: Use G-expresssions.
    <phases>: In phase 'fix-lib-path', use QT_MAJOR_VERSION to determine the
    installation path, Fix the compatibility with different Qt version.
    Add phase 'fix-test' to workaround with the broken KDEFetchTranslations 
test.
    
    Signed-off-by: Ludovic Courtès <ludo@gnu.org>
---
 gnu/packages/kde-frameworks.scm | 84 ++++++++++++++++++++++++-----------------
 1 file changed, 50 insertions(+), 34 deletions(-)

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index e914499541..9f957692cb 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -87,7 +87,7 @@
 (define-public extra-cmake-modules
   (package
     (name "extra-cmake-modules")
-    (version "5.70.0")
+    (version "5.91.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -96,7 +96,7 @@
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "10c5xs5shk0dcshpdxg564ay5y8hgmvfvmlhmhjf0dy79kcah3c3"))))
+                "0k65rvxh926ya6qahzk2ns7g1fya1429648mlx7iipxa61g8h5wp"))))
     (build-system cmake-build-system)
     (native-inputs
      ;; Add test dependency, except on armhf where building it is too
@@ -104,39 +104,55 @@
      (if (and (not (%current-target-system))
               (string=? (%current-system) "armhf-linux"))
          '()
-         `(("qtbase" ,qtbase-5))))                ;for tests (needs qmake)
+         (list qtbase-5)))               ;for tests (needs qmake)
     (arguments
-     `(#:tests? ,(and (not (%current-target-system))
-                      (not (null? (package-native-inputs this-package))))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-lib-path
-           (lambda _
-             ;; Always install into /lib and not into /lib64.
-             (substitute* "kde-modules/KDEInstallDirs.cmake"
-               (("\"lib64\"") "\"lib\"")
-               ;; TODO: Base the following on values taken from Qt
-               ;; Install plugins into lib/qt5/plugins
-               ;; TODO: Check if this is okay for Android, too
-               ;; (see comment in KDEInstallDirs.cmake)
-               (("_define_relative\\(QTPLUGINDIR \"\\$\\{_pluginsDirParent}\" 
\"plugins\"")
-                "_define_relative(QTPLUGINDIR \"${_pluginsDirParent}\" 
\"qt5/plugins\"")
-               ;; Install imports into lib/qt5/imports
-               (("_define_relative\\(QTQUICKIMPORTSDIR QTPLUGINDIR 
\"imports\"")
-                "_define_relative(QTQUICKIMPORTSDIR LIBDIR \"qt5/imports\"")
-               ;; Install qml-files into lib/qt5/qml
-               (("_define_relative\\(QMLDIR LIBDIR \"qml\"")
-                "_define_relative(QMLDIR LIBDIR \"qt5/qml\""))
-             (substitute* "modules/ECMGeneratePriFile.cmake"
-               ;; Install pri-files into lib/qt5/mkspecs
-               (("set\\(ECM_MKSPECS_INSTALL_DIR mkspecs/modules")
-                "set(ECM_MKSPECS_INSTALL_DIR lib/qt5/mkspecs/modules"))
-             #t))
-         ;; install and check phase are swapped to prevent install from failing
-         ;; after testsuire has run
-         (add-after 'install 'check-post-install
-           (assoc-ref %standard-phases 'check))
-         (delete 'check))))
+     (list
+      #:tests? (and (not (%current-target-system))
+                    (not (null? (package-native-inputs this-package))))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'fix-lib-path
+            (lambda _
+              ;; Always install into /lib and not into /lib64.
+              (substitute* "kde-modules/KDEInstallDirsCommon.cmake"
+                (("\"lib64\"") "\"lib\""))
+
+              ;; Determine the install path by the major version of Qt.
+              ;; TODO: Base the following on values taken from Qt
+              ;; Install plugins into lib/qt5/plugins
+              ;; TODO: Check if this is okay for Android, too
+              ;; (see comment in KDEInstallDirs.cmake)
+              (substitute* '("kde-modules/KDEInstallDirs5.cmake"
+                             "kde-modules/KDEInstallDirs6.cmake")
+                ;; Fix the installation path of Qt plugins.
+                (("_define_relative\\(QTPLUGINDIR \"\\$\\{_pluginsDirParent}\" 
\"plugins\"")
+                 "_define_relative(QTPLUGINDIR \"${_pluginsDirParent}\" 
\"qt${QT_MAJOR_VERSION}/plugins\"")
+                ;; Fix the installation path of QML files.
+                (("_define_relative\\(QMLDIR LIBDIR \"qml\"")
+                 "_define_relative(QMLDIR LIBDIR 
\"qt${QT_MAJOR_VERSION}/qml\""))
+
+              ;; Qt Quick Control 1 is no longer available in Qt 6.
+              (substitute* '("kde-modules/KDEInstallDirs5.cmake")
+                (("_define_relative\\(QTQUICKIMPORTSDIR QTPLUGINDIR 
\"imports\"")
+                 "_define_relative(QTQUICKIMPORTSDIR LIBDIR \"qt5/imports\""))
+
+              (substitute* "modules/ECMGeneratePriFile.cmake"
+                ;; Install pri-files into lib/qt${QT_MAJOR_VERSION}/mkspecs
+                (("set\\(ECM_MKSPECS_INSTALL_DIR mkspecs/modules")
+                 "set(ECM_MKSPECS_INSTALL_DIR 
lib/qt${QT_MAJOR_VERSION}/mkspecs/modules"))))
+          ;; Work around for the failed test KDEFetchTranslations.
+          ;; It complains that the cmake project name is not
+          ;; "frameworks/extra-cmake-modules".
+          ;; TODO: Fix it upstream.
+          (add-after 'unpack 'fix-test
+            (lambda _
+              (substitute* "tests/KDEFetchTranslations/CMakeLists.txt"
+                (("frameworks/extra-cmake-modules") "extra-cmake-modules"))))
+          ;; install and check phase are swapped to prevent install from 
failing
+          ;; after testsuire has run
+          (add-after 'install 'check-post-install
+            (assoc-ref %standard-phases 'check))
+          (delete 'check))))
     ;; optional dependencies - to save space, we do not add these inputs.
     ;; Sphinx > 1.2:
     ;;   Required to build Extra CMake Modules documentation in Qt Help format.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]