diff mbox

[06/31] gnu: kwindowsystem: Update to 5.24.0.

Message ID 20160801220815.GA9832@solar
State New
Headers show

Commit Message

Andreas Enge Aug. 1, 2016, 10:17 p.m. UTC
Hello!

On Mon, Aug 01, 2016 at 11:10:34PM +0200, Andreas Enge wrote:
> Sorry for the long message, which follows my own path in trying to debug
> this mess. To quickly summarise it:
> I think we need to modify the qtbase package to drop the
> NO_DEFAULT_PATH from Qt5Config.cmake.

I think that the attached patch solves the problem. Now the kwindowsystem
package fails as follows:
-- Found XCB: /gnu/store/jsy847sch7lnxjppkn1s1as22dbx74fx-libxcb-1.11/lib/libxcb.so;/gnu/store/3f6ysnalwhc73hj68c2vy9nc5zq8f3vr-xcb-util-keysyms-0.4.0/lib/libxcb-keysyms.so (found version "1.11") found components:  XCB KEYSYMS 
CMake Error at /gnu/store/kmbklh40857lxqvb8xvp6x9yvlfava79-extra-cmake-modules-5.24.0/share/ECM/modules/ECMPoQmTools.cmake:131 (find_package):
  Could not find a package configuration file provided by "Qt5LinguistTools"
  with any of the following names:

    Qt5LinguistToolsConfig.cmake
    qt5linguisttools-config.cmake

  Add the installation prefix of "Qt5LinguistTools" to CMAKE_PREFIX_PATH or
  set "Qt5LinguistTools_DIR" to a directory containing one of the above
  files.  If "Qt5LinguistTools" provides a separate development package or
  SDK, be sure it has been installed.
Call Stack (most recent call first):
  /gnu/store/kmbklh40857lxqvb8xvp6x9yvlfava79-extra-cmake-modules-5.24.0/share/ECM/modules/ECMPoQmTools.cmake:207 (ecm_process_po_files_as_qm)
  CMakeLists.txt:64 (ecm_install_po_files_as_qm)

Otherwise said, it goes beyond the line where it failed previously. I am just
surprised it does not print anything about Qt5X11Extras. In any case, the
CMakeCache.txt file in the build directory now contains the following lines:
   //The directory containing a CMake configuration file for Qt5X11Extras.
   Qt5X11Extras_DIR:PATH=/gnu/store/wlzvy1427jx3fjm9yj1yr4vv9fi065hc-qtx11extras-5.6.1-1/lib/cmake/Qt5X11Extras

I think that before continuing work on KDE, it may be a good idea to package
the missing Qt modules. (Well, I think we just need qttools here; which
makes me think that we might also want to add them as native inputs to
cmake-extra-modules before enabling tests, if we manage to do this.)

Andreas
From 2a4591e2eed1f0f5d88fe0a944cc7d294f5f37ab Mon Sep 17 00:00:00 2001
From: Andreas Enge <andreas@enge.fr>
Date: Mon, 1 Aug 2016 23:54:43 +0200
Subject: [PATCH] gnu: qtbase: Modify .cmake files to enable modules in
 different packages.

* gnu/packages/qt.scm (qtbase)[arguments]: In the configure phase, modify
.cmake and .cmake.in files so that find_package honors CMAKE_PREFIX_PATH.
---
 gnu/packages/qt.scm | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

David Craven Aug. 1, 2016, 10:21 p.m. UTC | #1
Wow that was fast! qttools is packaged and provides Qt5LinguistToolsConfig.cmake
David Craven Aug. 1, 2016, 10:28 p.m. UTC | #2
> Fast? I do not know. Several hours of work altogether...

Well I spent a while on it and didn't get anywhere...
David Craven Aug. 1, 2016, 10:51 p.m. UTC | #3
> I think that before continuing work on KDE, it may be a good idea to package
> the missing Qt modules.

That's probably a good idea. I identified the missing qt modules:

qttranslations
qtwebview
qtserialbus
qtquickcontrols2
qtgraphicaleffects
qtenginio
qtdoc
qtcanvas3d
qtactiveqt
qt3d
qtandroidextras
qtmacextras
qtwinextras

I think we can finish KDF Tier 1 modules first, so that there aren't
too many building sites. But I have two weeks that I can work on this
full time, so we should probably be able to get it all done till then
=)

I'd also like to get the sddm display manager working, need to do some
debugging there too.
David Craven Aug. 2, 2016, 5:36 p.m. UTC | #4
As an update:
1. Thanks to your patch, all packages build!
2. extra-cmake-modules: swapping the test and install phase fixed this.
3. It's a pattern that the test failures are caused by the guix-daemon.
    Probably less surprising to the more seasoned packagers than me =)
Ludovic Courtès Aug. 2, 2016, 9:31 p.m. UTC | #5
David Craven <david@craven.ch> skribis:

> 3. It's a pattern that the test failures are caused by the guix-daemon.
>     Probably less surprising to the more seasoned packagers than me =)

s/caused/exhibited/  ;-)

Make sure to read what follows “nothing but” at
<https://www.gnu.org/software/guix/manual/html_node/Build-Environment-Setup.html>.

Ludo’.
diff mbox

Patch

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index f246550..d1701c6 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -393,6 +393,13 @@  developers using C++ or QML, a CSS & JavaScript like language.")
                  (("/bin/pwd") (which "pwd")))
                (substitute* "src/corelib/global/global.pri"
                  (("/bin/ls") (which "ls")))
+               ;; The configuration files for other Qt5 packages are searched
+               ;; through a call to "find_package" in Qt5Config.cmake, which
+               ;; disables the use of CMAKE_PREFIX_PATH via the parameter
+               ;; "NO_DEFAULT_PATH". Re-enable it so that the different
+               ;; components can be installed in different places.
+               (substitute* (find-files "." ".*\\.cmake")
+                 (("NO_DEFAULT_PATH") ""))
                ;; do not pass "--enable-fast-install", which makes the
                ;; configure process fail
                (zero? (system*