From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andreas Enge Subject: QtHaveModule Date: Fri, 5 Aug 2016 01:19:32 +0200 Message-ID: <20160804231932.GA20149@solar> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:48131) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bVRvS-0007Ur-L6 for guix-devel@gnu.org; Thu, 04 Aug 2016 19:19:43 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bVRvN-0007wz-Lr for guix-devel@gnu.org; Thu, 04 Aug 2016 19:19:42 -0400 Received: from mailrelay7.public.one.com ([91.198.169.215]:43674) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bVRvN-0007wX-A1 for guix-devel@gnu.org; Thu, 04 Aug 2016 19:19:37 -0400 Content-Disposition: inline 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: guix-devel@gnu.org Hello, a little request for help, and a message to keep track of what I have tried out... The upgrade from Qt 5.5 to 5.6.1-1 broke owncloud-client and bitcoin-core. Apparently qtwebkit was moved into its own, community released (whatever this means) module. So I am trying to add a package for qtwebkit. The configure phase ends with this message: Encountered 2 configuration warning(s): ! QtQuick module not found, QML APIs will not be built ! Missing GStreamer or QtMultimedia, disabling HTML5 media element support I added qtdeclarative (for the former) and qtmultimedia, but nothing changed. The error messages come from qtwebkit-opensource-src-5.6.1/Tools/qmake/mkspecs/features/features.prf: qtHaveModule(quick): WEBKIT_CONFIG += have_qtquick else: CONFIGURE_WARNINGS += "QtQuick module not found, QML APIs will not be built" ... # HTML5 Media Support for builds with GStreamer unix:!mac:!contains(QT_CONFIG, no-pkg-config) { packagesExist("glib-2.0 gio-2.0 gstreamer-1.0 gstreamer-plugins-base-1.0") { WEBKIT_CONFIG += video use_gstreamer } else: packagesExist("glib-2.0 gio-2.0 \'gstreamer-0.10 >= 0.10.30\' \'gstreamer-plugins-base-0.10 >= 0.10.30\'") { WEBKIT_CONFIG += video use_gstreamer use_gstreamer010 } use?(gstreamer): WEBKIT_CONFIG += use_native_fullscreen_video } !enable?(video):qtHaveModule(multimediawidgets) { WEBKIT_CONFIG += video use_qt_multimedia } !enable?(video) { CONFIGURE_WARNINGS += "Missing GStreamer or QtMultimedia, disabling HTML5 media element support" } This makes me think that "qtHaveModule" does not work; and I wonder whether in our other Qt modules that have Qt modules as input, these are actually detected correctly. Well, I tried qtsensors, and did not notice this problem. I suspect that this is due to our installing the different modules into separate output paths, which already caused problems, see commit 7972d8a2e98af6592050a37036c2c80a01358fcf. Nix should have the same problem; they call a shell script "setup-hook.sh" that extends an environment variable NIX_QT5_MODULES by the output path of each module. This is then used in a complicated shell script setup-hook.sh of qtbase. Assistance would be greatly appreciated! Andreas