From mboxrd@z Thu Jan 1 00:00:00 1970 From: iyzsong@member.fsf.org (=?utf-8?B?5a6L5paH5q2m?=) Subject: Re: QT install and search paths Date: Thu, 24 Aug 2017 19:59:30 +0800 Message-ID: <874lsxi3bx.fsf@member.fsf.org> References: <42cac0e9-d948-3ea1-7312-d003751fd6a8@crazy-compilers.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:47655) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dkqnY-0001eD-9B for guix-devel@gnu.org; Thu, 24 Aug 2017 07:59:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dkqnV-0008GK-67 for guix-devel@gnu.org; Thu, 24 Aug 2017 07:59:44 -0400 Received: from rezeros.cc ([2001:19f0:7001:2f3e:5400:ff:fe84:e55d]:38686) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dkqnU-0008FH-MW for guix-devel@gnu.org; Thu, 24 Aug 2017 07:59:41 -0400 In-Reply-To: <42cac0e9-d948-3ea1-7312-d003751fd6a8@crazy-compilers.com> (Hartmut Goebel's message of "Wed, 23 Aug 2017 20:25:10 +0200") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Hartmut Goebel Cc: guix-devel Hartmut Goebel writes: > Hi, > > I'm currently working on the build of KDE's plasma-desktop. When strac-in= g the tets, I dicoverd that plaugins are searched in > > /gnu/store/=E2=80=A6-qtbase-5.9.1/plugins/=E2=80=A6 > > while most of the KDE program use > > /gnu/store/=E2=80=A6-plasma-workspace-5.10.4/lib/plugins/=E2=80=A6 (mind= the additional `lib`) > > which is not searched. Wondering why, 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 thu= s not searched. (Which I assume is the reason for many test-failures.) > > Also in qt.scm (qtbase) there is: > > (substitute* qt_config.prf > =E2=80=A6 > (("\$\$\[QT_INSTALL_PLUGINS\]") > "$$replace(dir, mkspecs/modules, plugins)") > > I assume this should make the plugins to be in stalled in =E2=80=A6/plugi= ns, Yes, 'dir' would be $out/mkspecs/modules, this will make a qmake based package install its Qt plugins into $out/plugins. > but KDE framework is installing into =E2=80=A6/lib/plugins. > > So I assume this is wrong or there are other places which need to be adpo= ted to the changed directory layout. > > What do you think? Currently, it doesn't follow a normal package layout, We should change it to (like it in Debian and ArchLinux): ARCHDATA: lib/qt DATA: share/qt DOCS: share/doc/qt HEADERS: include/qt LIBS: lib PLUGINS: lib/qt/plugins LIBEXECS: lib/qt/libexec BINS: bin IMPORTS: lib/qt/imports QML: lib/qt/qml EXAMPLES: share/doc/qt/examples Which need adjust the configure flags, search-patchs and the qt_config.prf of our qtbase package (and maybe some kde ones, I don't know).