guix-devel
[Top][All Lists]
Advanced

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

Build failure of extra-cmake-modules 5.91.0 (was: Status of KDE Plasma)


From: Zhu Zihao
Subject: Build failure of extra-cmake-modules 5.91.0 (was: Status of KDE Plasma)
Date: Mon, 02 May 2022 02:03:45 +0800
User-agent: mu4e 1.6.10; emacs 27.2

Hi.

I'm creating a patch that updates ECM to 5.91.0 but it failed the check.

The build log reports the KDEFetchTranslations test failed, with
following log

```
 3/86 Test  #3: KDEFetchTranslations 
.........................................................***Failed    0.34 sec
Internal cmake changing into directory: 
/tmp/guix-build-extra-cmake-modules-5.91.0.drv-0/build/tests/KDEFetchTranslations
Error: cmake execution failed
The C compiler identification is GNU 10.3.0
The CXX compiler identification is GNU 10.3.0
Detecting C compiler ABI info
Detecting C compiler ABI info - done
Check for working C compiler: 
/gnu/store/069aq2v993kpc41yabp5b6vm4wb9jkhg-gcc-10.3.0/bin/gcc - skipped
Detecting C compile features
Detecting C compile features - done
Detecting CXX compiler ABI info
Detecting CXX compiler ABI info - done
Check for working CXX compiler: 
/gnu/store/069aq2v993kpc41yabp5b6vm4wb9jkhg-gcc-10.3.0/bin/c++ - skipped
Detecting CXX compile features
Detecting CXX compile features - done
module: KDEInstallDirs
Installing in . Run 
/tmp/guix-build-extra-cmake-modules-5.91.0.drv-0/build/tests/KDEFetchTranslations/prefix.sh
 to set the environment for extra-cmake-modules.
module: KDECMakeSettings
Could not set up the appstream test. appstreamcli is missing.
module: ECMMarkNonGuiExecutable
CMake Error at CMakeLists.txt:22 (message):
  Wrong repository name: extra-cmake-modules, should be
  'frameworks/extra-cmake-modules'


Configuring incomplete, errors occurred!
See also 
"/tmp/guix-build-extra-cmake-modules-5.91.0.drv-0/build/tests/KDEFetchTranslations/CMakeFiles/CMakeOutput.log".
```

It says that the name of project should equal to
`frameworks/extra-cmake-modules`. But I don't see they set the project
name to `frameworks/extra-cmake-modules`.

I checked the package recipe of Archlinux and Nixpkgs, looks that they
don't have this issue.

WDYT?

Attachment: signature.asc
Description: PGP signature

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index e914499541..e57e9e1d0a 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -85,48 +85,64 @@ (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)
-               (("_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* "kde-modules/KDEInstallDirsCommon.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)
+             (for-each
+              (lambda (qt-ver)
+                (define file (string-append "kde-modules/KDEInstallDirs"
+                                            qt-ver ".cmake"))
+                (substitute* file
+                  ;; Fix the installation path of Qt plugins.
+                  (("_define_relative\\(QTPLUGINDIR 
\"\\$\\{_pluginsDirParent}\" \"plugins\"")
+                   (string-append
+                    "_define_relative(QTPLUGINDIR \"${_pluginsDirParent}\" 
\"qt"
+                    qt-ver "/plugins\""))
+                  ;; Fix the installation path of QML files.
+                  (("_define_relative\\(QMLDIR LIBDIR \"qml\"")
+                   (string-append "_define_relative(QMLDIR LIBDIR \"qt"
+                                  qt-ver "/qml\"")))
+
+                ;; Qt Quick 1 series is removed in Qt6.
+                (when (string=? qt-ver "5")
+                  (substitute* file
+                    (("_define_relative\\(QTQUICKIMPORTSDIR QTPLUGINDIR 
\"imports\"")
+                     "_define_relative(QTQUICKIMPORTSDIR LIBDIR 
\"qt5/imports\""))))
+              '("5" "6"))
+
              (substitute* "modules/ECMGeneratePriFile.cmake"
                ;; Install pri-files into lib/qt5/mkspecs
                (("set\\(ECM_MKSPECS_INSTALL_DIR mkspecs/modules")
@@ -137,20 +153,20 @@ (define-public extra-cmake-modules
          (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
-- 
Retrieve my PGP public key:

  gpg --recv-keys D47A9C8B2AE3905B563D9135BE42B352A9F6821F

Zihao

reply via email to

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