Message ID | ANCM3vMC9_nvIF4bkAdXPil90L78_O63O-cwGQkGIdp5uJXqDZ6Cyh3RurYRW6qqUVN1TEGURVHBNqnQrpDPLZ9Qt2Xg1SSVQQS7a8Nsioc=@protonmail.com |
---|---|
State | New |
Headers | show |
Series | [bug#57608] Upstreaming KDE Plasma and rest of packages | expand |
Context | Check | Description |
---|---|---|
cbaines/applying patch | fail | |
cbaines/issue | success | View issue |
cbaines/applying patch | fail | |
cbaines/issue | success | View issue |
cbaines/applying patch | fail | View Laminar job |
cbaines/issue | success | View issue |
Hi! An impressive patch series. :-) phodina <phodina@protonmail.com> skribis: > From ce8fab8c61ade5c317445a5df26189e51061c1ec Mon Sep 17 00:00:00 2001 > From: Petr Hodina <phodina@protonmail.com> > Date: Wed, 7 Sep 2022 07:48:41 +0200 > Subject: [PATCH] gnu: Add fwupd service. > > * gnu/services/firmware.scm (fwupd): New variable. Simply: * gnu/services/firmware.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. … and actually add it to gnu/local.mk. > +++ b/gnu/services/firmware.scm > @@ -0,0 +1,70 @@ > +;;; GNU Guix --- Functional package management for GNU > +;;; Copyright ?? 2022 Petr Hodina <phodina@protonmail.com> Typo. > +(define-record-type* <fwupd-configuration> fwupd-configuration > + make-fwupd-configuration fwupd-configuration? > + (fwupd fwupd-configuration-fwupd > + (default fwupd))) Please indent in the same way as done elsewhere. We’ll also need an entry in the manual for this one, maybe under “Desktop Services”? Ludo’.
Hi, phodina <phodina@protonmail.com> skribis: > + (home-page "https://invent.kde.org/plasma/plasma-pass") > + (synopsis "Plasma applet for the Pass password manager") > + (description "Provides Plasma applet for the Pass password manager.") You’d save time by making sure details such as synopsis/description are all right (info "(guix) Synopses and Descriptions"). Now I realize there’s a long list of people Cc’d so I’ll let’em check the remaining patches and commit them if they deem it appropriate. :-) Thanks, 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`. 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; 2. `kaccounts-integration` appears to be defined in two files; 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; 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". Below is a collection of log snippets relating to the aforementioned issues. 1. ```$ zcat /var/log/guix/drvs/hp/ahf0x32fr2wsvp34wdnfl2dyf9m5bc-gnome-keyring-42.1.drv.gz PASS: test-gnome2-private-key 1 /gnome2-store/private-key/load PASS: test-gnome2-private-key 2 /gnome2-store/private-key/save SKIP: test-import Bail out! Gck-FATAL-WARNING: couldn't close session properly: The module has not been initialized (test-import:23825): Gck-WARNING **: 16:24:33.365: couldn't close session properly: The module has not been initialized ERROR: test-import process failed: -5 PASS: test-initialize 1 /pkcs11/rpc-layer/initialize/normal PASS: test-initialize 2 /pkcs11/rpc-layer/initialize/control ``` 2. ```WARNING: (gnu packages kde-plasma): `kaccounts-integration' imported from both (gnu packages kde) and (gnu packages kde-pim)```; 3. ```$ sudo herd restart xorg-server -> $ sudo tail -f /var/log/messages -> Start user session in GDM Oct 2 18:51:58 localhost elogind[282]: New session c11 of user marek. Oct 2 18:52:10 localhost gnome-session-binary[22756]: WARNING: Lost name on bus: org.gnome.SessionManager Oct 2 18:52:10 localhost gdm-x-session: GLib: Source ID 2 was not found when attempting to remove it Oct 2 18:52:10 localhost gdm-session-worker: GLib-GObject: g_object_unref: assertion 'G_IS_OBJECT (object)' failed Oct 2 18:52:10 localhost elogind[282]: Removed session c10. Oct 2 18:52:10 localhost pulseaudio[22793]: [pulseaudio] core-util.c: Failed to create secure directory (/run/user/975/pulse): No such file or directory Oct 2 18:52:10 localhost gdm: Gdm: Child process -22742 was already dead. Oct 2 18:52:47 localhost ntpd[281]: Soliciting pool server 94.23.94.78 Oct 2 18:52:49 localhost shepherd[1]: [dbus-daemon] Geoclue-Message: 18:52:49.433: Service not used for 60 seconds. Shutting down.. ```
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
The current branch (at commit 5b1a2c2b5eb2029a2330ee3a2bbd7b648f4cea5c ) can not be pulled by guix. Should I bisect this? Here is the build log: ``` marek@aisaka $ guix pull --allow-downgrades --disable-authentication Updating channel 'guix' from Git repository at 'file:///home/marek/src/aisaka'... guix pull: warning: moving channel 'guix' from f64c80a53843006aa96bbdb3d5286f67c7dc8d8f to unrelated commit 5b1a2c2b5eb2029a2330ee3a2bbd7b648f4cea5c guix pull: warning: channel authentication disabled Updating channel 'jeko' from Git repository at 'https://framagit.org/Jeko/guix-jeko-channel.git'... guix pull: warning: channel authentication disabled Building from these channels: jeko https://framagit.org/Jeko/guix-jeko-channel.git 3c4fd0d guix file:///home/marek/src/aisaka 5b1a2c2 Computing Guix derivation for 'x86_64-linux'... / substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0% The following derivation will be built: /gnu/store/4f3n9qvm66g1znil24iqnx70jk9x7ysb-profile.drv building package cache... /builder for `/gnu/store/bhnd46s8ki5iml29ndq6y93fxhllgjmd-guix-package-cache.drv' failed to produce output path `/gnu/store/rwd3d86r0b938mha6cxiyhi9y9nrv80f-guix-package-cache' build of /gnu/store/bhnd46s8ki5iml29ndq6y93fxhllgjmd-guix-package-cache.drv failed View build log at '/var/log/guix/drvs/bh/nd46s8ki5iml29ndq6y93fxhllgjmd-guix-package-cache.drv.gz'. cannot build derivation `/gnu/store/4f3n9qvm66g1znil24iqnx70jk9x7ysb-profile.drv': 1 dependencies couldn't be built guix pull: error: build of `/gnu/store/4f3n9qvm66g1znil24iqnx70jk9x7ysb-profile.drv' failed marek@aisaka $ zcat /var/log/guix/drvs/bh/nd46s8ki5iml29ndq6y93fxhllgjmd-guix-package-cache.drv.gz (repl-version 0 1 1) Generating package cache for '/gnu/store/9jk80ks6jz193b03mn92lvclr61w6dvf-profile'... Backtrace: In guix/memoization.scm: 101:0 19 (_ #<hash-table 7fffe21a8500 1756/3517> #<package akon?> ?) In guix/packages.scm: 1249:12 18 (_) In srfi/srfi-1.scm: 460:18 17 (fold #<procedure 7fffe36c0700 at guix/packages.scm:12?> ?) In guix/packages.scm: 1253:42 16 (_ _ ("x86_64-linux")) In guix/memoization.scm: 101:0 15 (_ #<hash-table 7fffe21a8500 1756/3517> #<package kio@?> ?) In guix/packages.scm: 1249:12 14 (_) In srfi/srfi-1.scm: 460:18 13 (fold #<procedure 7fffe36f3d20 at guix/packages.scm:12?> ?) In guix/packages.scm: 1253:42 12 (_ _ ("x86_64-linux")) In guix/memoization.scm: 101:0 11 (_ #<hash-table 7fffe21a8500 1756/3517> #<package kdbu?> ?) In guix/packages.scm: 1249:12 10 (_) In srfi/srfi-1.scm: 460:18 9 (fold #<procedure 7fffe36f36e0 at guix/packages.scm:12?> ?) In guix/packages.scm: 1253:42 8 (_ _ ("x86_64-linux")) In guix/memoization.scm: 101:0 7 (_ #<hash-table 7fffe21a8500 1756/3517> #<package kini?> ?) In guix/packages.scm: 1257:37 6 (_) 1517:16 5 (package->bag _ _ _ #:graft? _) 1622:43 4 (thunk) In gnu/packages/kde-frameworks.scm: 2655:44 3 (arguments #<package kinit@5.98.0 guix/packages.scm:144?>) In ice-9/boot-9.scm: 1685:16 2 (raise-exception _ #:continuable? _) 1780:13 1 (_ #<&compound-exception components: (#<&undefined-vari?>) In unknown file: 0 (backtrace #<undefined>) (exception unbound-variable (value #f) (value "Unbound variable: ~S") (value (this-package-inputs)) (value #f)) ```
I suggest to wait till tomorrow as I plan to make some additional changes and push them. Now the branch is out of sync with my local machine where I rebuilt the patches due to change to `extra-cmake-modules`. I'd like to test the code as I saw the issues about missing components were resolved in `kwin`. Also I'd like to attach the patchset v2 here. However it still might not result in fully working Plasma. ---- Petr -------- Original Message -------- On Oct 4, 2022, 1:07 PM, Marek Paśnikowski wrote: > The current branch (at commit > 5b1a2c2b5eb2029a2330ee3a2bbd7b648f4cea5c ) can not be pulled > by guix. Should I bisect this? > > Here is the build log: > > ``` > marek@aisaka $ guix pull --allow-downgrades --disable-authentication > Updating channel 'guix' from Git repository at 'file:///home/marek/src/aisaka'... > guix pull: warning: moving channel 'guix' from f64c80a53843006aa96bbdb3d5286f67c7dc8d8f to unrelated commit 5b1a2c2b5eb2029a2330ee3a2bbd7b648f4cea5c > guix pull: warning: channel authentication disabled > Updating channel 'jeko' from Git repository at 'https://framagit.org/Jeko/guix-jeko-channel.git'... > guix pull: warning: channel authentication disabled > Building from these channels: > jeko https://framagit.org/Jeko/guix-jeko-channel.git 3c4fd0d > guix file:///home/marek/src/aisaka 5b1a2c2 > Computing Guix derivation for 'x86_64-linux'... / > substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% > substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0% > The following derivation will be built: > /gnu/store/4f3n9qvm66g1znil24iqnx70jk9x7ysb-profile.drv > > building package cache... > /builder for `/gnu/store/bhnd46s8ki5iml29ndq6y93fxhllgjmd-guix-package-cache.drv' failed to produce output path `/gnu/store/rwd3d86r0b938mha6cxiyhi9y9nrv80f-guix-package-cache' > build of /gnu/store/bhnd46s8ki5iml29ndq6y93fxhllgjmd-guix-package-cache.drv failed > View build log at '/var/log/guix/drvs/bh/nd46s8ki5iml29ndq6y93fxhllgjmd-guix-package-cache.drv.gz'. > cannot build derivation `/gnu/store/4f3n9qvm66g1znil24iqnx70jk9x7ysb-profile.drv': 1 dependencies couldn't be built > guix pull: error: build of `/gnu/store/4f3n9qvm66g1znil24iqnx70jk9x7ysb-profile.drv' failed > > marek@aisaka $ zcat /var/log/guix/drvs/bh/nd46s8ki5iml29ndq6y93fxhllgjmd-guix-package-cache.drv.gz > (repl-version 0 1 1) > Generating package cache for '/gnu/store/9jk80ks6jz193b03mn92lvclr61w6dvf-profile'... > > Backtrace: > In guix/memoization.scm: > 101:0 19 (_ #<hash-table 7fffe21a8500 1756/3517> #<package akon?> ?) > In guix/packages.scm: > 1249:12 18 (_) > In srfi/srfi-1.scm: > 460:18 17 (fold #<procedure 7fffe36c0700 at guix/packages.scm:12?> ?) > In guix/packages.scm: > 1253:42 16 (_ _ ("x86_64-linux")) > In guix/memoization.scm: > 101:0 15 (_ #<hash-table 7fffe21a8500 1756/3517> #<package kio@?> ?) > In guix/packages.scm: > 1249:12 14 (_) > In srfi/srfi-1.scm: > 460:18 13 (fold #<procedure 7fffe36f3d20 at guix/packages.scm:12?> ?) > In guix/packages.scm: > 1253:42 12 (_ _ ("x86_64-linux")) > In guix/memoization.scm: > 101:0 11 (_ #<hash-table 7fffe21a8500 1756/3517> #<package kdbu?> ?) > In guix/packages.scm: > 1249:12 10 (_) > In srfi/srfi-1.scm: > 460:18 9 (fold #<procedure 7fffe36f36e0 at guix/packages.scm:12?> ?) > In guix/packages.scm: > 1253:42 8 (_ _ ("x86_64-linux")) > In guix/memoization.scm: > 101:0 7 (_ #<hash-table 7fffe21a8500 1756/3517> #<package kini?> ?) > In guix/packages.scm: > 1257:37 6 (_) > 1517:16 5 (package->bag _ _ _ #:graft? _) > 1622:43 4 (thunk) > In gnu/packages/kde-frameworks.scm: > 2655:44 3 (arguments #<package kinit@5.98.0 guix/packages.scm:144?>) > In ice-9/boot-9.scm: > 1685:16 2 (raise-exception _ #:continuable? _) > 1780:13 1 (_ #<&compound-exception components: (#<&undefined-vari?>) > In unknown file: > 0 (backtrace #<undefined>) > > (exception unbound-variable (value #f) (value "Unbound variable: ~S") (value (this-package-inputs)) (value #f)) > ```
So here are the patches. There are in tar as there is 171 of them :-) - The last patch is for building a desktop if you want to test it and don't want to wait for the gnome desktop to be built. - Package kwin-effects-yet-another-magic-lamp unfortunately broke due to update of kwin to 5.25.5. - The other package is kapidox . There I tried to remove the phase `sanity-check` but there is still missing gv module - Package discover runs but can't connect to whatever online so you don't get SW listed to install - Some good news - kalendar, itinerary, kongress and other apps seem to work fine - The deal breaker is that Plasma DE does not work ... yet. X11 displays black screen and wayland does not even start. I have dedicated machine where I intend to have a look into the issue by strace, going through logs etc. - I also tried to update krita to 5.1.1 and ran out of space in tmpfs - it ate about 30 GB and failed ~90% of the build on clean machine with 32 GB of RAM. Is there a way to run build in different location - on the SSD/NVME/HDD? I'll keep the branch plasma on github stable [1]. Any comments, reviews, testers and tips are welcome :-) [1] https://github.com/phodina/guix/commit/a4d236529c260d27998ee48cd969fa52bfd3d62e ---- Petr ------- Original Message ------- On Tuesday, October 4th, 2022 at 4:01 PM, phodina <phodina@protonmail.com> wrote: > I suggest to wait till tomorrow as I plan to make some additional changes and push them. > > Now the branch is out of sync with my local machine where I rebuilt the patches due to change to `extra-cmake-modules`. > > I'd like to test the code as I saw the issues about missing components were resolved in `kwin`. > > Also I'd like to attach the patchset v2 here. > > However it still might not result in fully working Plasma. > > ---- > Petr > > -------- Original Message -------- > On Oct 4, 2022, 1:07 PM, Marek Paśnikowski < marekpasnikowski@protonmail.com> wrote: > >> The current branch (at commit >> 5b1a2c2b5eb2029a2330ee3a2bbd7b648f4cea5c ) can not be pulled >> by guix. Should I bisect this? >> >> Here is the build log: >> >> ``` >> marek@aisaka $ guix pull --allow-downgrades --disable-authentication >> Updating channel 'guix' from Git repository at 'file:///home/marek/src/aisaka'... >> guix pull: warning: moving channel 'guix' from f64c80a53843006aa96bbdb3d5286f67c7dc8d8f to unrelated commit 5b1a2c2b5eb2029a2330ee3a2bbd7b648f4cea5c >> guix pull: warning: channel authentication disabled >> Updating channel 'jeko' from Git repository at 'https://framagit.org/Jeko/guix-jeko-channel.git'... >> guix pull: warning: channel authentication disabled >> Building from these channels: >> jeko https://framagit.org/Jeko/guix-jeko-channel.git 3c4fd0d >> guix file:///home/marek/src/aisaka 5b1a2c2 >> Computing Guix derivation for 'x86_64-linux'... / >> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% >> substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0% >> The following derivation will be built: >> /gnu/store/4f3n9qvm66g1znil24iqnx70jk9x7ysb-profile.drv >> >> building package cache... >> /builder for `/gnu/store/bhnd46s8ki5iml29ndq6y93fxhllgjmd-guix-package-cache.drv' failed to produce output path `/gnu/store/rwd3d86r0b938mha6cxiyhi9y9nrv80f-guix-package-cache' >> build of /gnu/store/bhnd46s8ki5iml29ndq6y93fxhllgjmd-guix-package-cache.drv failed >> View build log at '/var/log/guix/drvs/bh/nd46s8ki5iml29ndq6y93fxhllgjmd-guix-package-cache.drv.gz'. >> cannot build derivation `/gnu/store/4f3n9qvm66g1znil24iqnx70jk9x7ysb-profile.drv': 1 dependencies couldn't be built >> guix pull: error: build of `/gnu/store/4f3n9qvm66g1znil24iqnx70jk9x7ysb-profile.drv' failed >> >> marek@aisaka $ zcat /var/log/guix/drvs/bh/nd46s8ki5iml29ndq6y93fxhllgjmd-guix-package-cache.drv.gz >> (repl-version 0 1 1) >> Generating package cache for '/gnu/store/9jk80ks6jz193b03mn92lvclr61w6dvf-profile'... >> >> Backtrace: >> In guix/memoization.scm: >> 101:0 19 (_ #<hash-table 7fffe21a8500 1756/3517> #<package akon?> ?) >> In guix/packages.scm: >> 1249:12 18 (_) >> In srfi/srfi-1.scm: >> 460:18 17 (fold #<procedure 7fffe36c0700 at guix/packages.scm:12?> ?) >> In guix/packages.scm: >> 1253:42 16 (_ _ ("x86_64-linux")) >> In guix/memoization.scm: >> 101:0 15 (_ #<hash-table 7fffe21a8500 1756/3517> #<package kio@?> ?) >> In guix/packages.scm: >> 1249:12 14 (_) >> In srfi/srfi-1.scm: >> 460:18 13 (fold #<procedure 7fffe36f3d20 at guix/packages.scm:12?> ?) >> In guix/packages.scm: >> 1253:42 12 (_ _ ("x86_64-linux")) >> In guix/memoization.scm: >> 101:0 11 (_ #<hash-table 7fffe21a8500 1756/3517> #<package kdbu?> ?) >> In guix/packages.scm: >> 1249:12 10 (_) >> In srfi/srfi-1.scm: >> 460:18 9 (fold #<procedure 7fffe36f36e0 at guix/packages.scm:12?> ?) >> In guix/packages.scm: >> 1253:42 8 (_ _ ("x86_64-linux")) >> In guix/memoization.scm: >> 101:0 7 (_ #<hash-table 7fffe21a8500 1756/3517> #<package kini?> ?) >> In guix/packages.scm: >> 1257:37 6 (_) >> 1517:16 5 (package->bag _ _ _ #:graft? _) >> 1622:43 4 (thunk) >> In gnu/packages/kde-frameworks.scm: >> 2655:44 3 (arguments #<package kinit@5.98.0 guix/packages.scm:144?>) >> In ice-9/boot-9.scm: >> 1685:16 2 (raise-exception _ #:continuable? _) >> 1780:13 1 (_ #<&compound-exception components: (#<&undefined-vari?>) >> In unknown file: >> 0 (backtrace #<undefined>) >> >> (exception unbound-variable (value #f) (value "Unbound variable: ~S") (value (this-package-inputs)) (value #f)) >> ```
On Thu, Oct 06 2022, 12:09:24 PM +0000 phodina via Guix-patches via <guix-patches@gnu.org> wrote: > - The deal breaker is that Plasma DE does not work ... yet. X11 > displays black screen and wayland does not even start. I have > dedicated machine where I intend to have a look into the issue by > strace, going through logs etc. Maybe https://issues.guix.gnu.org/57742 is a factor for blocking the wayland session? --
> On Thu, Oct 06 2022, 12:09:24 PM +0000 > phodina via Guix-patches via guix-patches@gnu.org wrote: > > > - The deal breaker is that Plasma DE does not work ... yet. X11 > > displays black screen and wayland does not even start. I have > > dedicated machine where I intend to have a look into the issue by > > strace, going through logs etc. > > > Maybe https://issues.guix.gnu.org/57742 is a factor for blocking the > wayland session? > > -- Thanks for the tip. Also there is issue with the KCM modules that they were not found. So I had to patch package `extra-cmake-modules` and add more runtime Qt dependencies. ---- Petr
Hi, phodina <phodina@protonmail.com> writes: >> On Thu, Oct 06 2022, 12:09:24 PM +0000 >> phodina via Guix-patches via guix-patches@gnu.org wrote: >> >> > - The deal breaker is that Plasma DE does not work ... yet. X11 >> > displays black screen and wayland does not even start. I have >> > dedicated machine where I intend to have a look into the issue by >> > strace, going through logs etc. >> >> >> Maybe https://issues.guix.gnu.org/57742 is a factor for blocking the >> wayland session? >> >> -- > > Thanks for the tip. > > Also there is issue with the KCM modules that they were not found. So > I had to patch package `extra-cmake-modules` and add more runtime Qt > dependencies. I think a basic, easy change we could do is restoring QT_PLUGIN_PATH for Qt6 *only*. This would fix things like wayland support, by having qtwayland available in the user profile, while providing some incentive to upgrade Qt5 packages to Qt6 :-). Still, requiring the user to manually install qtwayland in their user profile sounds suboptimal. Perhaps qt-build-system should simply propagate it? --8<---------------cut here---------------start------------->8--- $ guix size qtbase [...] total: 1419.4 MiB $ guix size qtwayland [...] total: 1575.9 MiB --8<---------------cut here---------------end--------------->8--- So, a ~10% increase in size would mean qt applications just works, on either xorg or wayland sessions, right? And if we do it this way, we do not need to change any of the current QT_PLUGIN_PATH wrapping. Unless there are other Qt plugins that really make more sense to be used as plugins, rather than hard dependencies?
It's me again, with a build report of this version of patches. This time it is very short, because there is no visible change in state of (plasma-desktop-service-type). The whole set of changes got built, with one irregularity. Like previously, gnome-keyring failed in its 'check' phase. I decided to bisect that after completing the Plasma Desktop on its own. I commented out both the Plasma and Gnome declarations and bisected, and declared installation of "gnome-keyring" package. It kept building fine up to the git HEAD. That was weird, so I tried bisecting the whole (gnome-desktop-service-type). This also built fine. At this point, adding the (plasma-desktop-service-type) was also fine, and now I have everything built just fine. The commit used is "a4d236529c260d27998ee48cd969fa52bfd3d62e". The branch used is "patch/plasma". I have no idea why the previously failing test suddenly passed. Should I report this weird behavior as an another issue?
phodina <phodina@protonmail.com> skriver: > So here are the patches. There are in tar as there is 171 of them :-) > > - The last patch is for building a desktop if you want to test it and don't want to wait for the gnome desktop to be built. > > - Package kwin-effects-yet-another-magic-lamp unfortunately broke due to update of kwin to 5.25.5. > > - The other package is kapidox . There I tried to remove the phase `sanity-check` but there is still missing gv module > > - Package discover runs but can't connect to whatever online so you don't get SW listed to install > > - Some good news - kalendar, itinerary, kongress and other apps seem to work fine > > - The deal breaker is that Plasma DE does not work ... yet. X11 displays black screen and wayland does not even start. I have dedicated machine where I intend to have a look into the issue by strace, going through logs etc. > > - I also tried to update krita to 5.1.1 and ran out of space in tmpfs - it ate about 30 GB and failed ~90% of the build on clean machine with 32 GB of RAM. Is there a way to run build in different location - on the SSD/NVME/HDD? > > I'll keep the branch plasma on github stable [1]. Awesome work Petr. :-) I went through the branch and applied most of the patches. With a few changes: * shortened multi-line URLs * added (file-name ...) for git sources * removed knetworkmanager -- AFAICT it is identical to networkmanager-qt * switched to git-fetch for packages that were downloading tarballs from the KDE GitLab. This is because such autogenerated tarballs are not stable: they may get regenerated with a different hash. * dropped the !! commits * Minor tweaks to synopses and descriptions * A few commits had a random edit to a different package: I reverted those edits. An example: https://github.com/phodina/guix/commit/5eaa9c49a78eed419db7847668a55c079bad5b71 * Removed use of direct variable references, i.e. #$qtbase. Always use (search-input-file ...), (search-input-directory ...) or as a last resort #$(this-package-input "foo"). * Skipped commits that would trigger a lot of rebuilds, e.g. gpgme. * Skipped cosmetic commits such as using G-expressions in Qt packages; mainly because of rebuilds, but also because they were not indented properly. Some also introduced direct #$variable references. * Dropped the plasma-desktop-service since it was not working for me. For later reference, when adding patches, please add a sentence or two at the top of the patch describing what it does. I did not edit the patches (except for a long file name), because I did not know what it was for. Presumably you did; future you will thank you! Pushed to 'master' as fe3be8d5e0..82804298ad !
Hi Marius, Thanks for the review and push to master! > Awesome work Petr. :-) > > I went through the branch and applied most of the patches. With a few > changes: > > * shortened multi-line URLs Sorry I used the formatter ('guix style') and it set the URLs as such). > * added (file-name ...) for git sources > * removed knetworkmanager -- AFAICT it is identical to networkmanager-qt > * switched to git-fetch for packages that were downloading tarballs from > the KDE GitLab. This is because such autogenerated tarballs are not > stable: they may get regenerated with a different hash. Is this issue somewhere described? I've lately used more tarballs to git download on other packages. Is the issue connected with any Gitlab/Forge or just the KDE and the release scripts? > * dropped the !! commits > * Minor tweaks to synopses and descriptions My apologies as I noticed there were few packages with wrong license or missing description. > * A few commits had a random edit to a different package: I reverted > those edits. An example: > https://github.com/phodina/guix/commit/5eaa9c49a78eed419db7847668a55c079bad5b71 Caused due to rebasing and working on a large patchset. I'll split it next time and sent it by smaller parts. > * Removed use of direct variable references, i.e. #$qtbase. Always use > (search-input-file ...), (search-input-directory ...) or as a last > resort #$(this-package-input "foo"). Thanks for the hint. I'll fix all the packages where I use this syntax! > * Skipped commits that would trigger a lot of rebuilds, e.g. gpgme. I'll submit it in new ticket. > * Skipped cosmetic commits such as using G-expressions in Qt packages; > mainly because of rebuilds, but also because they were not indented > properly. Some also introduced direct #$variable references. I'll fix the issues and submit it as a new ticket. > * Dropped the plasma-desktop-service since it was not working for me. Should we keep this ticket open to package also the plasma-desktop-service? I'll try it now and see what causes the Plasma not to work. > For later reference, when adding patches, please add a sentence or two > at the top of the patch describing what it does. I did not edit the > patches (except for a long file name), because I did not know what it > was for. Presumably you did; future you will thank you! > > Pushed to 'master' as fe3be8d5e0..82804298ad ! Sorry I didn't intend to add so many changes and it's been a challenge that taught me some new lessons. I'll definitely add more description for the reviewers and keep it smaller so I doesn't take long time to review. ---- Petr
phodina <phodina@protonmail.com> skriver: > Hi Marius, > > Thanks for the review and push to master! > >> Awesome work Petr. :-) >> >> I went through the branch and applied most of the patches. With a few >> changes: >> >> * shortened multi-line URLs > > Sorry I used the formatter ('guix style') and it set the URLs as such). Right. It still has a few quirks that needs to be inched out... >> * added (file-name ...) for git sources >> * removed knetworkmanager -- AFAICT it is identical to networkmanager-qt >> * switched to git-fetch for packages that were downloading tarballs from >> the KDE GitLab. This is because such autogenerated tarballs are not >> stable: they may get regenerated with a different hash. > > Is this issue somewhere described? I've lately used more tarballs to git download on other packages. Is the issue connected with any Gitlab/Forge or just the KDE and the release scripts? We have this problem with all the forges. There have been many-a bug report about it, and the linter also warns about it (apparently for GitHub only, that could be improved). >> * dropped the !! commits >> * Minor tweaks to synopses and descriptions > > My apologies as I noticed there were few packages with wrong license or missing description. Oh, I did not license audit these packages as I assumed all the KDE stuffs were using the same license. Can you submit patches to update the licenses? >> * A few commits had a random edit to a different package: I reverted >> those edits. An example: >> https://github.com/phodina/guix/commit/5eaa9c49a78eed419db7847668a55c079bad5b71 > > Caused due to rebasing and working on a large patchset. I'll split it next time and sent it by smaller parts. No worries; this is what reviews are for. :-) >> * Removed use of direct variable references, i.e. #$qtbase. Always use >> (search-input-file ...), (search-input-directory ...) or as a last >> resort #$(this-package-input "foo"). > > Thanks for the hint. I'll fix all the packages where I use this syntax! > >> * Skipped commits that would trigger a lot of rebuilds, e.g. gpgme. > > I'll submit it in new ticket. Note: I added a new version of gpgme and used it for the packages that require it. We already have the newest version on 'core-updates'. >> * Skipped cosmetic commits such as using G-expressions in Qt packages; >> mainly because of rebuilds, but also because they were not indented >> properly. Some also introduced direct #$variable references. > > I'll fix the issues and submit it as a new ticket. Great. >> * Dropped the plasma-desktop-service since it was not working for me. > > Should we keep this ticket open to package also the plasma-desktop-service? > I'll try it now and see what causes the Plasma not to work. Let's keep this ticket open until we get past the finish line. :-) >> For later reference, when adding patches, please add a sentence or two >> at the top of the patch describing what it does. I did not edit the >> patches (except for a long file name), because I did not know what it >> was for. Presumably you did; future you will thank you! >> >> Pushed to 'master' as fe3be8d5e0..82804298ad ! > > Sorry I didn't intend to add so many changes and it's been a challenge that taught me some new lessons. It's easy to get lost in a huge patchset. You did great! > I'll definitely add more description for the reviewers and keep it smaller so I doesn't take long time to review. Bite-sized PRs are more likely to get through, but I'm not sure we had a lot of choice here given the scope of the project. Ultimately someone just needs to muster enough courage to push it forward.
From a05300a49b3eeab048887e3ef93e7a98600b65ad Mon Sep 17 00:00:00 2001 From: Brendan Tildesley <mail@brendan.scot> Date: Tue, 8 Feb 2022 17:03:20 +1100 Subject: [PATCH 61/81] gnu: Add kwin. * gnu/packages/kde-plasma.scm (kwin): New variable. diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm index cc7901daff..bf92351481 100644 --- a/gnu/packages/kde-plasma.scm +++ b/gnu/packages/kde-plasma.scm @@ -37,7 +37,9 @@ (define-module (gnu packages kde-plasma) #:use-module (gnu packages authentication) #:use-module (gnu packages bash) #:use-module (gnu packages compression) + #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) + #:use-module (gnu packages ghostscript) #:use-module (gnu packages gnupg) #:use-module (gnu packages gl) #:use-module (gnu packages glib) @@ -47,6 +49,7 @@ (define-module (gnu packages kde-plasma) #:use-module (gnu packages kde-frameworks) #:use-module (gnu packages libcanberra) #:use-module (gnu packages linux) + #:use-module (gnu packages pciutils) #:use-module (gnu packages pkg-config) #:use-module (gnu packages polkit) #:use-module (gnu packages pulseaudio) @@ -893,6 +896,150 @@ (define-public kwayland-integration (home-page "https://invent.kde.org/plasma/kwayland-integration") (license (list license:lgpl2.1 license:lgpl3)))) +(define-public kwin + (package + (name "kwin") + (version "5.24.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/plasma/" + version + "/" + name + "-" + version + ".tar.xz")) + (sha256 + (base32 + "1qwcd6iw6yvpchiwmvq5nwsr465jmrmscf286mjrc65im4hj6572")))) + (build-system qt-build-system) + (arguments + (list #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'patch + (lambda* (#:key inputs #:allow-other-keys) + (substitute* '("src/plugins/kdecorations/aurorae/src/aurorae.cpp") + (("(^\\s*QDirIterator it.path, QDirIterator::Subdirectories)(\\);)" + _ a b) + (string-append a + " | QDirIterator::FollowSymlinks" b))) + (substitute* '("src/xwl/xwayland.cpp") + (("(m_xwaylandProcess->setProgram.QStringLiteral..)(Xwayland)(...;)" + _ a Xwayland b) + (string-append a + (which "Xwayland") b))) + (substitute* '("cmake/modules/Findhwdata.cmake") + (("/usr/share") + (string-append #$hwdata "/share"))))) + (add-after 'install 'add-symlinks + (lambda* (#:key outputs #:allow-other-keys) + (let ((kst5 (string-append #$output + "/share/kservicetypes5/"))) + (symlink (string-append kst5 + "kwineffect.desktop") + (string-append kst5 + "kwin-effect.desktop")) + (symlink (string-append kst5 + "kwinscript.desktop") + (string-append kst5 + "kwin-script.desktop"))))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (setenv "XDG_RUNTIME_DIR" + (getcwd)) + (setenv "HOME" + (getcwd)) + (setenv "XDG_DATA_DIRS" + (string-append #$output "/share:" + (getenv "XDG_DATA_DIRS"))) + (setenv "QT_PLUGIN_PATH" + (string-append #$output + "/lib/qt5/plugins:" + (getenv "QT_PLUGIN_PATH"))) + (setenv "DISPLAY" ":1") + (system "Xvfb :1 &") + (sleep 5) + (invoke "ctest" "-E" + "(kwin-testDontCrashGlxgears|kwin-testLockScreen|kwin-testPointerInput|kwin-testDebugConsole|kwin-testXdgShellClient|kwin-testXdgShellClient-waylandonly|kwin-testSceneOpenGLES|kwin-testSceneOpenGLES-waylandonly|kwin-testModiferOnlyShortcut|kwin-testInputMethod|kwin-testInputMethod-waylandonly|kwin-testNightColor|kwin-testNightColor-waylandonly|kwin-testPlasmaWindow|kwin-testX11Client|kwin-testSceneQPainter|kwin-testLibinputDevice)"))))))) + (native-inputs (list extra-cmake-modules + dbus + kdoctools + pkg-config + qttools-5 + wayland-protocols + xorg-server-for-tests)) + (inputs (list breeze + eudev + fontconfig + freetype + kactivities + kcmutils + kcompletion + kconfig + kconfigwidgets + kcoreaddons + kcrash + kdbusaddons + kdeclarative + kdecoration + kglobalaccel + ki18n + kiconthemes + kidletime + kio + kirigami + knewstuff + knotifications + kpackage + krunner + kscreenlocker + ktextwidgets + kwayland + kwayland-server + kwindowsystem + kxmlgui + lcms + libcap + libepoxy + libinput + libxkbcommon + pipewire-0.3 + plasma-framework + plasma-wayland-protocols + qtbase-5 + qtdeclarative-5 + qtmultimedia-5 + qtwayland + qtx11extras + wayland + wayland-protocols + xcb-util ;fails at build time without this + xcb-util-cursor + xcb-util-keysyms + xcb-util-wm + xcmsdb + xinput ;XXX: Says disabled in configure phase + xorg-server-xwayland + zlib)) + (propagated-inputs (list hwdata)) + ;; Runtime-only dependency needed for mapping monitor hardware vendor IDs to full names + ;; * hwdata, <https://github.com/vcrhonek/hwdata> + ;; * QtQuick.Controls-QMLModule, QML module 'QtQuick.Controls' is a runtime dependency. + ;; * org.kde.kquickcontrolsaddons-QMLModule, QML module 'org.kde.kquickcontrolsaddons' is a runtime dependency. + ;; * org.kde.plasma.core-QMLModule, QML module 'org.kde.plasma.core' is a runtime dependency. + ;; * org.kde.plasma.components-QMLModule, QML module 'org.kde.plasma.components' is a runtime dependency. + + ;; * QAccessibilityClient, KDE client-side accessibility library, <https://www.kde.org> + ;; Required to enable accessibility features + + (home-page "https://userbase.kde.org/KWin") + (synopsis "KDE Plasma Window Manager") + (description + "KWin is an easy to use, but flexible, composited Window Manager for +Xorg windowing systems (Wayland, X11) on Linux. Its primary usage is in +conjunction with the KDE Plasma Desktop.") + (license license:gpl2+))) + (define-public kwrited (package (name "kwrited") -- 2.37.2