unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* packaging qt applications
@ 2016-07-26 13:30 David Craven
  2016-07-26 13:41 ` John Darrington
  2016-07-26 14:18 ` Andreas Enge
  0 siblings, 2 replies; 7+ messages in thread
From: David Craven @ 2016-07-26 13:30 UTC (permalink / raw)
  To: guix-devel

Hi,

A package I'm working on depends on both qtbase and qtdeclarative. In
the configure phase I get an error that Qt5Config.cmake doesn't find
Qt5QmlConfig.cmake. When I use a snippet to remove this check I get:

```scheme
(snippet
   '(substitute* "CMakeLists.txt"
     (("find_package.*Qt5.*Qml Quick.*\n")
        "find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Core
DBus Gui)\n")))))
```

```sh
CMake Error at /gnu/store/ngnz5l2v22a6wnr7lshlm02jykmhzl3z-qtdeclarative-5.6.1-1/lib/cmake/Qt5Qml/Qt5QmlConfig.cmake:87
(find_package):
  Could not find a package configuration file provided by "Qt5Network"
  (requested version 5.6.1) with any of the following names:

    Qt5NetworkConfig.cmake
    qt5network-config.cmake

  Add the installation prefix of "Qt5Network" to CMAKE_PREFIX_PATH or set
  "Qt5Network_DIR" to a directory containing one of the above files.  If
  "Qt5Network" provides a separate development package or SDK, be sure it has
  been installed.
Call Stack (most recent call first):
  declarative/compositor/CMakeLists.txt:2 (find_package)
```
The CMAKE_PREFIX_PATH seems to be set correctly and no matter what
CMAKE_PREFIX_PATH or other env variables I set I keep getting one or
the other error.

Has some else run into this issue and managed to fix it?

David

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: packaging qt applications
  2016-07-26 13:30 packaging qt applications David Craven
@ 2016-07-26 13:41 ` John Darrington
  2016-07-26 14:18 ` Andreas Enge
  1 sibling, 0 replies; 7+ messages in thread
From: John Darrington @ 2016-07-26 13:41 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1993 bytes --]

Yes.  I have run into the problem.  Sadly, no I didn't work out how to fix it.

But during trying I did decide one thing - I will never use CMake in any of
my own projects.

J'

On Tue, Jul 26, 2016 at 03:30:48PM +0200, David Craven wrote:
     Hi,
     
     A package I'm working on depends on both qtbase and qtdeclarative. In
     the configure phase I get an error that Qt5Config.cmake doesn't find
     Qt5QmlConfig.cmake. When I use a snippet to remove this check I get:
     
     ```scheme
     (snippet
        '(substitute* "CMakeLists.txt"
          (("find_package.*Qt5.*Qml Quick.*\n")
             "find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Core
     DBus Gui)\n")))))
     ```
     
     ```sh
     CMake Error at /gnu/store/ngnz5l2v22a6wnr7lshlm02jykmhzl3z-qtdeclarative-5.6.1-1/lib/cmake/Qt5Qml/Qt5QmlConfig.cmake:87
     (find_package):
       Could not find a package configuration file provided by "Qt5Network"
       (requested version 5.6.1) with any of the following names:
     
         Qt5NetworkConfig.cmake
         qt5network-config.cmake
     
       Add the installation prefix of "Qt5Network" to CMAKE_PREFIX_PATH or set
       "Qt5Network_DIR" to a directory containing one of the above files.  If
       "Qt5Network" provides a separate development package or SDK, be sure it has
       been installed.
     Call Stack (most recent call first):
       declarative/compositor/CMakeLists.txt:2 (find_package)
     ```
     The CMAKE_PREFIX_PATH seems to be set correctly and no matter what
     CMAKE_PREFIX_PATH or other env variables I set I keep getting one or
     the other error.
     
     Has some else run into this issue and managed to fix it?
     
     David

-- 
Avoid eavesdropping.  Send strong encryted email.
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: packaging qt applications
  2016-07-26 13:30 packaging qt applications David Craven
  2016-07-26 13:41 ` John Darrington
@ 2016-07-26 14:18 ` Andreas Enge
  2016-07-26 14:43   ` David Craven
  1 sibling, 1 reply; 7+ messages in thread
From: Andreas Enge @ 2016-07-26 14:18 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

Hello David,

On Tue, Jul 26, 2016 at 03:30:48PM +0200, David Craven wrote:
> the configure phase I get an error that Qt5Config.cmake doesn't find
> Qt5QmlConfig.cmake. When I use a snippet to remove this check I get:
> 
>   Could not find a package configuration file provided by "Qt5Network"
>   (requested version 5.6.1) with any of the following names:
>     Qt5NetworkConfig.cmake
>     qt5network-config.cmake

only recently did we move towards a modular Qt setup; however, not all modules
are packaged so far. So it is quite possible that QML or network support are
still missing. Efraim should be able to tell you more about it, since he
started the work. (The problem reported yesterday for calibre was of the
same kind, we are missing qtwebkit.)

In the meantime, I would suggest you start packaging using the monolithic Qt
(the variable is named just "qt"; it is version 5.5 instead of the modular
5.6, which should not be a problem). So you can concentrate on your package
first.

If this works, you can still try to replace qt by the modular one. And if some
packages are missing, patches to add them will be very welcome!

Andreas

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: packaging qt applications
  2016-07-26 14:18 ` Andreas Enge
@ 2016-07-26 14:43   ` David Craven
  2016-07-26 18:55     ` Andreas Enge
  0 siblings, 1 reply; 7+ messages in thread
From: David Craven @ 2016-07-26 14:43 UTC (permalink / raw)
  To: Andreas Enge; +Cc: guix-devel

The application I'm packaging requires qt >= 5.6. And it's not that
the modules aren't packaged. They aren't found. qtbase provides
Qt5NetworkConfig.cmake and Qt5Qml.cmake is provided by qtdeclarative.
That's why this is weird - I don't know why they aren't found since
CMAKE_PREFIX_PATH is set correctly according to the documentation
find-package will look for cmake files in CMAKE_PREFIX_PATH/cmake
which is exactly where they are... strace doesn't provide any insight
into where it's going wrong either :/

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: packaging qt applications
  2016-07-26 14:43   ` David Craven
@ 2016-07-26 18:55     ` Andreas Enge
  2016-07-26 19:12       ` David Craven
  0 siblings, 1 reply; 7+ messages in thread
From: Andreas Enge @ 2016-07-26 18:55 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

On Tue, Jul 26, 2016 at 04:43:05PM +0200, David Craven wrote:
> The application I'm packaging requires qt >= 5.6. And it's not that
> the modules aren't packaged. They aren't found. qtbase provides
> Qt5NetworkConfig.cmake and Qt5Qml.cmake is provided by qtdeclarative.

No idea why this could happen. Maybe you could post your work in progress,
with a bit of luck someone else will have a clue...

Andreas

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: packaging qt applications
  2016-07-26 18:55     ` Andreas Enge
@ 2016-07-26 19:12       ` David Craven
  2016-07-26 19:19         ` David Craven
  0 siblings, 1 reply; 7+ messages in thread
From: David Craven @ 2016-07-26 19:12 UTC (permalink / raw)
  To: Andreas Enge; +Cc: guix-devel

Also I didn't mention that this only happens when running guix build
greenisland and not when running guix environment greenisland && cmake
.

The snippet is there because I know that Qml and Quick are there, they
just aren't being found. This let's the build continue until the
previous error.

I'm still trying to compile qt 5.6.1-1 so that should fix the problem
(when I get it to build), finding a cause to this problem would be
very nice dough...

```
(define-module (gnu packages wayland)
  #:use-module (gnu packages admin)
  #:use-module (gnu packages fontutils)
  #:use-module (gnu packages freedesktop)
  #:use-module (gnu packages gl)
  #:use-module (gnu packages glib)
  #:use-module (gnu packages gtk)
  #:use-module (gnu packages kde-frameworks)
  #:use-module (gnu packages libunwind)
  #:use-module (gnu packages linux)
  #:use-module (gnu packages pkg-config)
  #:use-module (gnu packages qt)
  #:use-module (gnu packages xdisorg)
  #:use-module (gnu packages xml)
  #:use-module (gnu packages xorg)
  #:use-module (guix build-system cmake)
  #:use-module (guix build-system gnu)
  #:use-module (guix download)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix packages))

(define-public wayland-protocols
  (package
    (name "wayland-protocols")
    (version "1.4")
    (source (origin
              (method url-fetch)
              (uri (string-append
                "https://wayland.freedesktop.org/releases/"
                "wayland-protocols-" version ".tar.xz"))
              (sha256
               (base32
                "0wpm7mz7ww6nn3vrgz7a9iyk7mk6za73wnq0n54lzl8yq8irljh1"))))
    (build-system gnu-build-system)
    (inputs
      `(("wayland" ,wayland)))
    (native-inputs
      `(("pkg-config" ,pkg-config)))
    (synopsis "Wayland protocols")
    (description "Placeholder.")
    (home-page "https://wayland.freedesktop.org")
    (license license:expat)))

(define-public greenisland
  (package
    (name "greenisland")
    (version "0.8.90")
    (source (origin
              (method url-fetch)
              (uri (string-append
                "https://github.com/greenisland/"
                "greenisland/archive/v" version ".tar.gz"))
              (sha256
               (base32
                "0454f1xh52f7ibl4w41x3qjfr5kq5yqjpxh5ylhahl8vrzk0ykbx"))
              (modules '((guix build utils)))
              (snippet
                '(substitute* "CMakeLists.txt"
                  (("find_package.*Qt5.*Qml Quick.*\n")
                  "find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG
REQUIRED Core DBus Gui)\n")))))
    (build-system cmake-build-system)
    (inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
        ("fontconfig" ,fontconfig)
        ("freetype" ,freetype)
        ("glib" ,glib)
        ("libdrm" ,libdrm-update)
        ("libinput" ,libinput)
        ("libxcursor" ,libxcursor)
        ("libxkbcommon" ,libxkbcommon)
        ("mesa" ,mesa-update)
        ("qtbase" ,qtbase)
        ("qtdeclarative" ,qtdeclarative)
        ("udev" ,eudev)
        ("wayland" ,wayland)
        ("wayland-protocols" ,wayland-protocols)
        ("xcb-util-cursor" ,xcb-util-cursor)))
    (native-inputs
      `(("glib:bin" ,glib "bin")
        ("pkg-config" ,pkg-config)))
    (synopsis "QtQuick Wayland compositor and shell for desktop and mobile")
    (description "Green Island provides a full blown Wayland compositor for
QtQuick as well as pluggable hardware abstraction, extensions, tools and a
Qt-style API for Wayland clients.")
    (home-page "http://hawaiios.org")
    (license (list license:gpl2 license:gpl3 license:lgpl2.1 license:lgpl3))))
```

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: packaging qt applications
  2016-07-26 19:12       ` David Craven
@ 2016-07-26 19:19         ` David Craven
  0 siblings, 0 replies; 7+ messages in thread
From: David Craven @ 2016-07-26 19:19 UTC (permalink / raw)
  To: Andreas Enge; +Cc: guix-devel

> I'm still trying to compile qt 5.6.1-1 so that should fix the problem
> (when I get it to build), finding a cause to this problem would be
> very nice dough...

FYI: Finished building qt 5.6.1-1 and got past the configure stage.
I'd still be interested why it didn't work this way...

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2016-07-26 19:19 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-26 13:30 packaging qt applications David Craven
2016-07-26 13:41 ` John Darrington
2016-07-26 14:18 ` Andreas Enge
2016-07-26 14:43   ` David Craven
2016-07-26 18:55     ` Andreas Enge
2016-07-26 19:12       ` David Craven
2016-07-26 19:19         ` David Craven

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).