all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: phodina via Guix-patches via <guix-patches@gnu.org>
To: "Marek Paśnikowski" <marekpasnikowski@protonmail.com>
Cc: "Maxim Cournoyer" <maxim.cournoyer@gmail.com>,
	"Ludovic Courtès" <ludo@gnu.org>,
	"Maxime Devos" <maximedevos@telenet.be>,
	"Brendan Tildesley" <mail@brendan.scot>,
	"Leo Famulari" <leo@famulari.name>,
	"marius@gnu.org" <marius@gnu.org>,
	"Hartmut Goebel" <h.goebel@crazy-compilers.com>,
	57608@debbugs.gnu.org
Subject: [bug#57608] Upstreaming KDE Plasma and rest of packages
Date: Tue, 04 Oct 2022 06:52:02 +0000	[thread overview]
Message-ID: <rSP7l0x20iAtx1mm4ZRtWMpr5fboGIQ-dqNUpdtLxbR1gF9EFfN9928d0fsaptrIlTglBCypNOewO1Xz5BpHG4oyHd9XzQYwil0rWzjtX-c=@protonmail.com> (raw)
In-Reply-To: <g-lKM71JLyctFcT8NCaj4T4FQpfHrXS6Q5t76FuzN8Sq8RKNn8TxZ1hVTXh4uZ7W3sW2T6oSIUZHAHIbjBvjY5zeUacRrfRZklgKOJ061jE=@protonmail.com>

Hi Marek and Ludo',


> Good morning / evening.
> 
> Today my small Thinkpad finally finished building the new release of Plasma. In the system configuration, I declared `(service plasma-desktop-service-type)`, as my desire is just to see the KDE desktop. My testing methodology is to edit my Guix configuration on a testing branch and sequentially perform `guix pull`, `guix home reconfigure` and `guix system reconfigure`.
> 

Thanks for testing the build Marek!

Well building KDE takes definitely long time. Even more building the development version.
 
> In order to perform this test I set `https://github.com/phodina/guix.git` as the Git remote and pulled the `patch/plasma` branch. I made no customizations to the repository.
> 
> The commit used is `d9ca04ca425915a7b991f3bcfa72b5b0e6f48e45`.
> 
> This time, I encountered several different issues during the rebuilds:
> 1. (irrelevant to KDE) build of gnome-keyring fails on the `check` phase, so I had to comment `(service gnome-desktop-service-type)` out of my system configuration;

Haven't seen this one but there were some other gnome things (and others like gstreamer) that failed. Therefore I also disabled the `gnome-desktop-service-type`.

> 2. `kaccounts-integration` appears to be defined in two files;

Thanks in the new version (patchset - I've rebased the branch, you'll have to "downgrade" guix on the next pull) it's already removed and the locations for package definitions are revised.

> 3. the overall state of the Plasma Desktop regressed from a broken, but visible panel ( https://github.com/phodina/guix/issues/6 ) to no panel - at least the initial animation completes and the cursor moves;

The issue is caused by Guix "bug" in package `extra-cmake-modules`.

The problem is that the function `ecm_find_qmlmodule` looks for Qt6 modules - well attempts by launching `Qt6::qmlplugindump`.

I've tried to specify the TARGET and QT_MAJOR to Qt::5 and also removing the Qt6 branch in `extra-cmake-modules/modules/ECMFindQmlModule.cmake.in`.

Here's the excerpt of the build of `kwin`:
```
-- Could NOT find hwdata (missing: hwdata_FOUND hwdata_PNPIDS_FILE)
-- Found QtQuick-QMLModule: TRUE (found version "")
-- qmlplugindump failed for QtQuick.Controls.
-- Could NOT find QtQuick.Controls-QMLModule (missing: QtQuick.Controls-QMLModule_FOUND)
-- Found QtQuick.Layouts-QMLModule: TRUE (found version "")
-- Found QtQuick.Window-QMLModule: TRUE (found version "")
-- Found QtMultimedia-QMLModule: TRUE (found version "")
-- Found org.kde.kquickcontrolsaddons-QMLModule: TRUE (found version "")
-- qmlplugindump failed for org.kde.plasma.core.
-- Could NOT find org.kde.plasma.core-QMLModule (missing: org.kde.plasma.core-QMLModule_FOUND)
```

And when we check for qmlplugindump we get this:

```
/tmp/guix-build-kwin-5.25.5.drv-2/kwin-5.25.5$ grep -r qmlplugindump
Findorg.kde.plasma.components-QMLModule.cmake:    find_program(QMLPLUGINDUMP_PROGRAM NAMES qmlplugindump HINTS ${qt_binaries_dir})
Findorg.kde.plasma.components-QMLModule.cmake:    get_target_property(QMLPLUGINDUMP_PROGRAM Qt6::qmlplugindump LOCATION)
Findorg.kde.plasma.components-QMLModule.cmake:    message(WARNING "Could not find qmlplugindump. It is necessary to look up qml module dependencies.")
Findorg.kde.plasma.components-QMLModule.cmake:    message(STATUS "qmlplugindump failed for org.kde.plasma.components.")
Findorg.kde.plasma.core-QMLModule.cmake:    find_program(QMLPLUGINDUMP_PROGRAM NAMES qmlplugindump HINTS ${qt_binaries_dir})
Findorg.kde.plasma.core-QMLModule.cmake:    get_target_property(QMLPLUGINDUMP_PROGRAM Qt6::qmlplugindump LOCATION)
Findorg.kde.plasma.core-QMLModule.cmake:    message(WARNING "Could not find qmlplugindump. It is necessary to look up qml module dependencies.")
Findorg.kde.plasma.core-QMLModule.cmake:    message(STATUS "qmlplugindump failed for org.kde.plasma.core.")
Findorg.kde.kquickcontrolsaddons-QMLModule.cmake:    find_program(QMLPLUGINDUMP_PROGRAM NAMES qmlplugindump HINTS ${qt_binaries_dir})
Findorg.kde.kquickcontrolsaddons-QMLModule.cmake:    get_target_property(QMLPLUGINDUMP_PROGRAM Qt6::qmlplugindump LOCATION)
Findorg.kde.kquickcontrolsaddons-QMLModule.cmake:    message(WARNING "Could not find qmlplugindump. It is necessary to look up qml module dependencies.")
Findorg.kde.kquickcontrolsaddons-QMLModule.cmake:    message(STATUS "qmlplugindump failed for org.kde.kquickcontrolsaddons.")
FindQtMultimedia-QMLModule.cmake:    find_program(QMLPLUGINDUMP_PROGRAM NAMES qmlplugindump HINTS ${qt_binaries_dir})
FindQtMultimedia-QMLModule.cmake:    get_target_property(QMLPLUGINDUMP_PROGRAM Qt6::qmlplugindump LOCATION)
FindQtMultimedia-QMLModule.cmake:    message(WARNING "Could not find qmlplugindump. It is necessary to look up qml module dependencies.")
FindQtMultimedia-QMLModule.cmake:    message(STATUS "qmlplugindump failed for QtMultimedia.")
FindQtQuick.Window-QMLModule.cmake:    find_program(QMLPLUGINDUMP_PROGRAM NAMES qmlplugindump HINTS ${qt_binaries_dir})
FindQtQuick.Window-QMLModule.cmake:    get_target_property(QMLPLUGINDUMP_PROGRAM Qt6::qmlplugindump LOCATION)
FindQtQuick.Window-QMLModule.cmake:    message(WARNING "Could not find qmlplugindump. It is necessary to look up qml module dependencies.")
FindQtQuick.Window-QMLModule.cmake:    message(STATUS "qmlplugindump failed for QtQuick.Window.")
FindQtQuick.Layouts-QMLModule.cmake:    find_program(QMLPLUGINDUMP_PROGRAM NAMES qmlplugindump HINTS ${qt_binaries_dir})
FindQtQuick.Layouts-QMLModule.cmake:    get_target_property(QMLPLUGINDUMP_PROGRAM Qt6::qmlplugindump LOCATION)
FindQtQuick.Layouts-QMLModule.cmake:    message(WARNING "Could not find qmlplugindump. It is necessary to look up qml module dependencies.")
FindQtQuick.Layouts-QMLModule.cmake:    message(STATUS "qmlplugindump failed for QtQuick.Layouts.")
FindQtQuick.Controls-QMLModule.cmake:    find_program(QMLPLUGINDUMP_PROGRAM NAMES qmlplugindump HINTS ${qt_binaries_dir})
FindQtQuick.Controls-QMLModule.cmake:    get_target_property(QMLPLUGINDUMP_PROGRAM Qt6::qmlplugindump LOCATION)
FindQtQuick.Controls-QMLModule.cmake:    message(WARNING "Could not find qmlplugindump. It is necessary to look up qml module dependencies.")
FindQtQuick.Controls-QMLModule.cmake:    message(STATUS "qmlplugindump failed for QtQuick.Controls.")
FindQtQuick-QMLModule.cmake:    find_program(QMLPLUGINDUMP_PROGRAM NAMES qmlplugindump HINTS ${qt_binaries_dir})
FindQtQuick-QMLModule.cmake:    get_target_property(QMLPLUGINDUMP_PROGRAM Qt6::qmlplugindump LOCATION)
FindQtQuick-QMLModule.cmake:    message(WARNING "Could not find qmlplugindump. It is necessary to look up qml module dependencies.")
FindQtQuick-QMLModule.cmake:    message(STATUS "qmlplugindump failed for QtQuick.")
```

However, the `extra-cmake-modules` depends only on `qtbase-5` and just for tests. The incriminated program is part of different package:

``` 
find /gnu/store -iname qmlplugindump
/gnu/store/7dpp0vpli7f4j4idaj5iwcpra8hl3xfb-qtdeclarative-5.15.2/bin/qmlplugindump
```

So the solution is probably to add `qtdeclarative-5` to list of inputs. However the same problem might happen with Qt6 and maybe more extra modules.

Stay tuned for this one as I have to rebuild majority of the packages :-D

There is also bug about this in earlier verions of `extra-cmake-modules` but the code is deprecated if I apply the patch [1] and it does not solve the problem that Guix stores all in the `/gnu/store/`.

To add to my curiosity Nix does not appear to have this problem [2] but they use some `setup-hook.sh` [2] - needs more studying.
 
> 4. `(define-public plasma (package (version "5.25.4")))` in `kde-plasma.scm` sticks out from the rest of packages on version "5.25.5".

Thanks. It's also updated as well as the rest of the packages to the newest packages.


Regarding the fwdup-service - Ludo'. That patch was sent by mistake as I wanted to see the firmware version in KDE environment. But I'd rather leave it for separate patch as it applies to Gnome and cli tools as well.

I've also enabled more tests and rewritten Qt and other packages to use gexps. 

So the amount of patches is now about close to 160. But on the other hand it also now packages apps like Kalendar.


[1] https://gitweb.gentoo.org/repo/gentoo.git/diff/kde-frameworks/extra-cmake-modules/files/extra-cmake-modules-5.40.0-qmlplugindump-path.patch?id=13dec085bcd84e7c7c67ae53cd5152c08bc9213e
[2] https://github.com/NixOS/nixpkgs/blob/nixos-22.05/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/default.nix

----
Petr




  reply	other threads:[~2022-10-04  7:03 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-06  7:14 [bug#57608] Upstreaming KDE Plasma and rest of packages phodina via Guix-patches via
2022-09-19 17:50 ` phodina via Guix-patches via
2022-09-24 13:12   ` Ludovic Courtès
2022-09-24 13:15   ` Ludovic Courtès
2022-10-02 17:14     ` guix-patches--- via
2022-10-04  6:52       ` phodina via Guix-patches via [this message]
2022-10-04 11:07         ` guix-patches--- via
2022-10-04 14:01           ` phodina via Guix-patches via
2022-10-06 12:09             ` phodina via Guix-patches via
2022-10-06 18:29               ` kiasoc5 via Guix-patches via
2022-10-07 12:57                 ` phodina via Guix-patches via
2022-10-07 14:09                   ` Maxim Cournoyer
2022-10-10 13:03                     ` guix-patches--- via
2022-11-21 21:11               ` Marius Bakke
2022-11-22 10:20                 ` phodina via Guix-patches via
2022-11-22 10:56                   ` Marius Bakke
2022-12-27 21:15                     ` phodina via Guix-patches via
2022-12-28  0:48                       ` Maxim Cournoyer
2022-10-29 11:59 ` Brendan Tildesley
2022-10-29 20:32   ` guix-patches--- via
2022-10-29 23:49     ` Brendan Tildesley
2022-10-31  7:42     ` phodina via Guix-patches via
2023-09-02  4:23 ` bug#57608: " 宋文武 via Guix-patches via

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='rSP7l0x20iAtx1mm4ZRtWMpr5fboGIQ-dqNUpdtLxbR1gF9EFfN9928d0fsaptrIlTglBCypNOewO1Xz5BpHG4oyHd9XzQYwil0rWzjtX-c=@protonmail.com' \
    --to=guix-patches@gnu.org \
    --cc=57608@debbugs.gnu.org \
    --cc=h.goebel@crazy-compilers.com \
    --cc=leo@famulari.name \
    --cc=ludo@gnu.org \
    --cc=mail@brendan.scot \
    --cc=marekpasnikowski@protonmail.com \
    --cc=marius@gnu.org \
    --cc=maxim.cournoyer@gmail.com \
    --cc=maximedevos@telenet.be \
    --cc=phodina@protonmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.