guix-devel
[Top][All Lists]
Advanced

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

Re: QT install and search paths


From: Thomas Danckaert
Subject: Re: QT install and search paths
Date: Thu, 24 Aug 2017 13:37:49 +0200 (CEST)

From: Hartmut Goebel <address@hidden>
Subject: QT install and search paths
Date: Wed, 23 Aug 2017 20:25:10 +0200

[...] I found this in qt.scm
(qtbase):

           (search-path-specification
            (variable "QT_PLUGIN_PATH")
            (files '("plugins")))

This means that `lib/plugins` is *not* included in QT_PLUGIN_PATH
and thus not searched. (Which I assume is the reason for many
test-failures.)

(indeed, e.g. for kdevplatform, I set the QT_PLUGIN_PATH before running tests)

Also in qt.scm (qtbase) there is:

               (substitute* qt_config.prf
                  …
                 (("\\$\\$\\[QT_INSTALL_PLUGINS\\]")
                  "$$replace(dir, mkspecs/modules, plugins)")

I assume this should make the plugins to be in stalled in …/plugins,
but KDE framework is installing into …/lib/plugins.

I'm not sure if this is an error, or if KDE chooses this directory on purpose.

Either way, I think qtbase's QT_PLUGIN_PATH setting only has an effect if a user installs qtbase directly in their profile (or do I misunderstand native-search-paths? The manual doesn't explain the difference between "native-search-paths" and "search-paths"), so applications using these plugins will still need to set the correct environment variable themselves somehow?

A previous discussion is here

https://lists.gnu.org/archive/html/guix-devel/2016-12/msg00776.html

For the kdevelop package, I wrapped the executable, setting a bunch of Qt-related environment variables. This works as a stop-gap, but it will break down when a user uses multiple Qt/KDE applications with different plugin requirements (some KDE daemons, such as kdeinit, need to find all their plugins at the moment they are started).

Ludo suggested using a profile hook to set the required environment variables depending on the installed applications, but I never looked into it further because wrapping the executable was “good enough” for. For a KDE desktop, I think you'll need a better solution.

Thomas

reply via email to

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