all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Zhu Zihao <all_but_last@163.com>
To: 55222@debbugs.gnu.org
Subject: [bug#55222] [PATCH][staging]: gnu: extra-cmake-modules: Update to 5.91.0.
Date: Mon, 02 May 2022 22:30:09 +0800	[thread overview]
Message-ID: <864k283t0w.fsf@163.com> (raw)


[-- Attachment #1.1: Type: text/plain, Size: 0 bytes --]



[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 255 bytes --]

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-extra-cmake-modules-Update-to-5.91.0.patch --]
[-- Type: text/x-patch, Size: 7900 bytes --]

From ff17ceca02f40ddcc737eb2753f60828890e1404 Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Mon, 2 May 2022 22:25:01 +0800
Subject: [PATCH] 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.
---
 gnu/packages/kde-frameworks.scm | 119 ++++++++++++++++++--------------
 1 file changed, 68 insertions(+), 51 deletions(-)

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index e914499541..6f29d09eaa 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -85,72 +85,89 @@ (define-module (gnu packages kde-frameworks)
   #:use-module (srfi srfi-1))
 
 (define-public extra-cmake-modules
-  (package
-    (name "extra-cmake-modules")
-    (version "5.70.0")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "mirror://kde/stable/frameworks/"
-                    (version-major+minor version) "/"
-                    name "-" version ".tar.xz"))
-              (sha256
-               (base32
-                "10c5xs5shk0dcshpdxg564ay5y8hgmvfvmlhmhjf0dy79kcah3c3"))))
-    (build-system cmake-build-system)
-    (native-inputs
-     ;; Add test dependency, except on armhf where building it is too
-     ;; expensive.
-     (if (and (not (%current-target-system))
-              (string=? (%current-system) "armhf-linux"))
-         '()
-         `(("qtbase" ,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
+ (package
+   (name "extra-cmake-modules")
+   (version "5.91.0")
+   (source (origin
+             (method url-fetch)
+             (uri (string-append
+                   "mirror://kde/stable/frameworks/"
+                   (version-major+minor version) "/"
+                   name "-" version ".tar.xz"))
+             (sha256
+              (base32
+               "0k65rvxh926ya6qahzk2ns7g1fya1429648mlx7iipxa61g8h5wp"))))
+   (build-system cmake-build-system)
+   (native-inputs
+    ;; Add test dependency, except on armhf where building it is too
+    ;; expensive.
+    (if (and (not (%current-target-system))
+             (string=? (%current-system) "armhf-linux"))
+        '()
+        (list qtbase-5)))               ;for tests (needs qmake)
+   (arguments
+    (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/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)
+             (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}\" \"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(QTPLUGINDIR \"${_pluginsDirParent}\" \"qt${QT_MAJOR_VERSION}/plugins\"")
+               ;; Fix the installation path of QML files.
                (("_define_relative\\(QMLDIR LIBDIR \"qml\"")
-                "_define_relative(QMLDIR LIBDIR \"qt5/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/qt5/mkspecs
+               ;; Install pri-files into lib/qt${QT_MAJOR_VERSION}/mkspecs
                (("set\\(ECM_MKSPECS_INSTALL_DIR mkspecs/modules")
-                "set(ECM_MKSPECS_INSTALL_DIR lib/qt5/mkspecs/modules"))
+                "set(ECM_MKSPECS_INSTALL_DIR lib/qt${QT_MAJOR_VERSION}/mkspecs/modules"))
              #t))
+         ;; 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.
-    ;; Qt5LinguistTools , Qt5 linguist tools. , <http://www.qt.io/>
-    ;;   Required to run tests for the ECMPoQmTools module.
-    ;; Qt5Core
-    ;;   Required to run tests for the ECMQtDeclareLoggingCategory module,
-    ;;   and for some tests of the KDEInstallDirs module.
-    (home-page "https://community.kde.org/Frameworks")
-    (synopsis "CMake module files for common software used by KDE")
-    (description "The Extra CMake Modules package, or ECM, adds to the
+   ;; 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.
+   ;; Qt5LinguistTools , Qt5 linguist tools. , <http://www.qt.io/>
+   ;;   Required to run tests for the ECMPoQmTools module.
+   ;; Qt5Core
+   ;;   Required to run tests for the ECMQtDeclareLoggingCategory module,
+   ;;   and for some tests of the KDEInstallDirs module.
+   (home-page "https://community.kde.org/Frameworks")
+   (synopsis "CMake module files for common software used by KDE")
+   (description "The Extra CMake Modules package, or ECM, adds to the
 modules provided by CMake to find common software.  In addition, it provides
 common build settings used in software produced by the KDE community.")
-    (license license:bsd-3)))
+   (license license:bsd-3)))
 
 (define-public phonon
   (package
-- 
2.36.0


[-- Attachment #3: Type: text/plain, Size: 100 bytes --]


-- 
Retrieve my PGP public key:

  gpg --recv-keys D47A9C8B2AE3905B563D9135BE42B352A9F6821F

Zihao

             reply	other threads:[~2022-05-02 14:33 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-02 14:30 Zhu Zihao [this message]
2022-05-10 22:46 ` bug#55222: [PATCH][staging]: gnu: extra-cmake-modules: Update to 5.91.0 Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=864k283t0w.fsf@163.com \
    --to=all_but_last@163.com \
    --cc=55222@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.