Subject: Re: [bug#73804] [PATCH] gnu: qqc2-desktop-style: Add kcolorscheme as an input.
From: Zheng Junjie <[email-masked]>
To: aurtzy <[email-masked]>
Cc: [email-masked]
Date: Tue, 15 Oct 2024 13:35:10 +0800
List-Id: <debbugs-submit.debbugs.gnu.org>

aurtzy <[email-masked]> writes:

> This remedies an issue where applications like systemsettings and
> plasma-discover do not completely respect theming (e.g. when dark theme is
> enabled), with the following notable error message:
>
> kf.kirigami.platform: Failed to find a Kirigami platform plugin for style "org.kde.desktop"
>
> * gnu/packages/kde-frameworks.scm (qqc2-desktop-style)[inputs]: Add
> kcolorscheme to fix a theming issue.
> [arguments]<#:tests?>: Disable failing tests introduced by adding the
> kcolorscheme input.
>
> Change-Id: Ic34da2a2fc788737e543eb3cd2b23edf85a736a4
> ---
>
> Hi!
>
> According to 'guix refresh --list-dependents qqc2-desktop-style', there
> are 18 dependent packages.
>
> I haven't noticed any visible regressions with this change running
> Plasma, and I can confirm theming in at least systemsettings and
> plasma-discover is fixed by the change.  However, adding kcolorscheme as
> an input causes the check phase to fail (log included at the end).  This
> appears to be due to tests that are enabled when kcolorscheme is added,
> one of which fails.
>
> The D-Bus error message is present in the current and patched
> version. I've tried setting the HOME and XDG_CACHE_HOME environment
> variables as it's done in other Qt/KDE packages, which has some effect
> on the tests but still results in failure.  The Nix packages seem to
> reveal a partially circular dependency between qqc2-desktop-style and
> kirigami [1] [2]; I wonder if this is related to the issue?
>
> Here's the check phase log:
>
> --8<---------------cut here---------------start------------->8---
> D-Bus library appears to be incorrectly set up: see the manual page for dbus-uuidgen to correct this issue. (Failed to open "/var/lib/dbus/machine-id": No such file or directory; Failed to open "/etc/machine-id": No such file or directory)
> Test project /tmp/guix-build-qqc2-desktop-style-6.5.0.drv-0/build
>     Start 1: animationspeedmodifiertest
> 1/2 Test #1: animationspeedmodifiertest .......***Failed    0.11 sec
> ********* Start testing of IntegrationTest *********
> Config: Using QtTest library 6.6.3, Qt 6.6.3 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 11.4.0), unknown unknown
> QWARN  : IntegrationTest::initTestCase() kf.kirigami.platform: Failed to find a Kirigami platform plugin for style "org.kde.desktop"
> PASS   : IntegrationTest::initTestCase()
> QWARN  : IntegrationTest::testAnimationSpeedModifier_kconfig() kf.config.core: Couldn't create a new file: "/homeless-shelter/.qttest/config/kdeglobals" . Error: "No such file or directory"
> FAIL!  : IntegrationTest::testAnimationSpeedModifier_kconfig() 'kdeGroup.sync()' returned FALSE. ()
>    Loc: [/tmp/guix-build-qqc2-desktop-style-6.5.0.drv-0/qqc2-desktop-style-6.5.0/kirigami-plasmadesktop-integration/autotests/animationspeedmodifiertest.cpp(69)]
> PASS   : IntegrationTest::cleanupTestCase()
> Totals: 2 passed, 1 failed, 0 skipped, 0 blacklisted, 26ms
> ********* Finished testing of IntegrationTest *********
> Fontconfig error: No writable cache directories
> Fontconfig error: No writable cache directories
>
>     Start 2: TextFieldContextMenuTest
> 2/2 Test #2: TextFieldContextMenuTest .........   Passed    3.12 sec
>
> 50% tests passed, 1 tests failed out of 2
>
> Total Test time (real) =   3.23 sec
>
> The following tests FAILED:
> 	  1 - animationspeedmodifiertest (Failed)
> --8<---------------cut here---------------end--------------->8---
>
> [1] https://github.com/NixOS/nixpkgs/blob/master/pkgs/kde/frameworks/kirigami/default.nix
>
> [2] https://github.com/NixOS/nixpkgs/blob/master/pkgs/kde/frameworks/qqc2-desktop-style/default.nix
>
> Cheers,
>
> aurtzy
>
>  gnu/packages/kde-frameworks.scm | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
> index 974fd1c4dd..e7c8eef775 100644
> --- a/gnu/packages/kde-frameworks.scm
> +++ b/gnu/packages/kde-frameworks.scm
> @@ -1971,6 +1971,7 @@ (define-public qqc2-desktop-style
>      (build-system qt-build-system)
>      (arguments
>       (list
> +      #:tests? #f ; FIXME: 1/2 tests fail.
>        #:qtbase qtbase
>        #:phases #~(modify-phases %standard-phases
>                     (replace 'check
> @@ -1982,6 +1983,7 @@ (define-public qqc2-desktop-style
>       (list extra-cmake-modules dbus pkg-config qttools))
>      (inputs
>       (list kauth
> +           kcolorscheme
>             kconfig ; optional
>             kcoreaddons
>             kiconthemes ; optional
>
> base-commit: 5a77f79764ccc01eb545e55027d0147e64a81952

Thanks!. push. And i add a commit to fix tests, move check phase after install,
and Set QML_IMPORT_PATH, QT_PLUGIN_PATH,HOME environment variables.