summary refs log tree commit diff
diff options
context:
space:
mode:
authorHartmut Goebel <h.goebel@crazy-compilers.com>2017-09-30 17:45:35 +0200
committerHartmut Goebel <h.goebel@crazy-compilers.com>2017-10-13 13:53:40 +0200
commit61cc757d5fdb5a08543796dd7c7e122e7c9d986e (patch)
treeedf59f7d50805146d264cb767485ee32e8faeee6
parent5430732b22dcee5ae162826ee1dfefb9510eaeca (diff)
downloadguix-61cc757d5fdb5a08543796dd7c7e122e7c9d986e.tar.gz
gnu: kde-framworks: Fix installation directories.
After the qtbase installation directories have been changed, kf5's plugins
etc. need to be install into lib/qt5/…, too. We change the global definitions
in "KDEInstallDirs.cmake", so this changes will apply to all packages without
these to need to define the paths. THis is okay, since "KDEInstallDirs.cmake"
defines the directory-layout guix is using.

* gnu/packages/kde-frameworks.scm (extra-cmake-modules)[#:phase fix-lib-path]:
  In modules/KDEInstallDirs.cmake also patch QTPLUGINDIR, QTQUICKIMPORTSDIR,
  QMLDIR.
  (kwindowsystem)[#:phase check]: Adjust QT_PLUGIN_PATH.
  (kfilemetadata)[#:phase check-setup]: dito.
-rw-r--r--gnu/packages/kde-frameworks.scm16
1 files changed, 13 insertions, 3 deletions
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 58bc742365..a503226d62 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -92,7 +92,17 @@
            (lambda _
              ;; Always install into /lib and not into /lib64.
              (substitute* "kde-modules/KDEInstallDirs.cmake"
-               (("\"lib64\"") "\"lib\""))))
+               (("\"lib64\"") "\"lib\"")
+               ;; TODO: Base the following on values taken from Qt
+               ;; Install plugins into lib/qt5/plugins
+               (("_define_relative\\(QTPLUGINDIR LIBDIR \"plugins\"")
+                "_define_relative(QTPLUGINDIR LIBDIR \"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\""))))
          ;; install and check phase are swapped to prevent install from failing
          ;; after testsuire has run
          (add-after 'install 'check-post-install
@@ -1042,7 +1052,7 @@ configuration pages, message boxes, and password requests.")
                  (begin
                    (let ((out (assoc-ref outputs "out")))
                      (setenv "QT_PLUGIN_PATH"
-                             (string-append out "/lib/plugins:"
+                             (string-append out "/lib/qt5/plugins:"
                                             (getenv "QT_PLUGIN_PATH"))))
                    ;; The test suite requires a running X server, setting
                    ;; QT_QPA_PLATFORM=offscreen does not suffice and even make
@@ -1485,7 +1495,7 @@ from DocBook files.")
            (lambda* (#:key outputs #:allow-other-keys)
              (let ((out (assoc-ref outputs "out")))
                (setenv "QT_PLUGIN_PATH"
-                       (string-append out "/lib/plugins:"
+                       (string-append out "/lib/qt5/plugins:"
                                     (getenv "QT_PLUGIN_PATH"))))
              #t)))))
     (native-inputs