[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#57608] Upstreaming KDE Plasma and rest of packages
From: |
phodina |
Subject: |
[bug#57608] Upstreaming KDE Plasma and rest of packages |
Date: |
Tue, 04 Oct 2022 06:52:02 +0000 |
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
- [bug#57608] Upstreaming KDE Plasma and rest of packages, Marek Paśnikowski, 2022/10/02
- [bug#57608] Upstreaming KDE Plasma and rest of packages,
phodina <=
- [bug#57608] Upstreaming KDE Plasma and rest of packages, Marek Paśnikowski, 2022/10/04
- [bug#57608] Upstreaming KDE Plasma and rest of packages, phodina, 2022/10/04
- [bug#57608] Upstreaming KDE Plasma and rest of packages, phodina, 2022/10/06
- [bug#57608] Upstreaming KDE Plasma and rest of packages, kiasoc5, 2022/10/06
- [bug#57608] Upstreaming KDE Plasma and rest of packages, phodina, 2022/10/07
- [bug#57608] Upstreaming KDE Plasma and rest of packages, Maxim Cournoyer, 2022/10/07
- [bug#57608] Upstreaming KDE Plasma and rest of packages, Marek Paśnikowski, 2022/10/10