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.
This commit is contained in:
Hartmut Goebel 2017-09-30 17:45:35 +02:00
parent 5430732b22
commit 61cc757d5f
No known key found for this signature in database
GPG key ID: 634A8DFFD3F631DF

View file

@ -92,7 +92,17 @@ (define-public extra-cmake-modules
(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 @@ (define-public kwindowsystem
(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 @@ (define-public kfilemetadata
(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