Upstreaming KDE Plasma and rest of packages

  • Done
  • quality assurance status badge
Details
8 participants
  • ???
  • kiasoc5
  • Ludovic Courtès
  • Brendan Tildesley
  • Marek Pa?nikowski
  • Marius Bakke
  • Maxim Cournoyer
  • phodina
Owner
unassigned
Submitted by
phodina
Severity
normal
P
P
phodina wrote on 6 Sep 2022 09:14
(name . Guix Patches)(address . guix-patches@gnu.org)
sbaRaktLZuhBxV8-S2T-niKNLa5qmLze0H4uBCzWFYTqwcs72027gnDYSatFh8xYVBa1BVnJxVovSWXYnmK1bH44dSuGBSve5eOS9yOq8O4=@protonmail.com
Hi Marius,

thanks for upstreaming the patches into staging. [1]

I've rebased the patches on your changes.

Unfortunately beside that I haven't had the time to go through them.

I just removed the kpurpose as it was pointed out by Brendan that the package is already there under the name purpose.

The patches are again tracked in the branch patch/upstream-kde [2]. Expect rebases as my next plan is to go through licenses and later tests + builds.

Also I added all of you in the CC since you were part of the patchset thread.


----
Petr
Attachment: file
P
P
phodina wrote on 19 Sep 2022 19:50
(name . Guix Patches)(address . guix-patches@gnu.org)
ANCM3vMC9_nvIF4bkAdXPil90L78_O63O-cwGQkGIdp5uJXqDZ6Cyh3RurYRW6qqUVN1TEGURVHBNqnQrpDPLZ9Qt2Xg1SSVQQS7a8Nsioc=@protonmail.com
Hi,

I've went over all the packages and prepared a new patch set.

----
Petr
------- Original Message -------
On Tuesday, September 6th, 2022 at 9:14 AM, phodina <phodina@protonmail.com> wrote:

Toggle quote (19 lines)
> Hi Marius,
>
> thanks for upstreaming the patches into staging. [1]
>
> I've rebased the patches on your changes.
>
> Unfortunately beside that I haven't had the time to go through them.
>
> I just removed the kpurpose as it was pointed out by Brendan that the package is already there under the name purpose.
>
> The patches are again tracked in the branch patch/upstream-kde [2]. Expect rebases as my next plan is to go through licenses and later tests + builds.
>
> Also I added all of you in the CC since you were part of the patchset thread.
>
> [1] https://issues.guix.gnu.org/50862
> [2] https://github.com/phodina/guix/tree/patch/upstream-kde
>
> ----
> Petr
Attachment: file
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.

Toggle diff (78 lines)
diff --git a/gnu/services/firmware.scm b/gnu/services/firmware.scm
new file mode 100644
index 0000000000..7539c56202
--- /dev/null
+++ b/gnu/services/firmware.scm
@@ -0,0 +1,70 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright ?? 2022 Petr Hodina <phodina@protonmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu services firmware)
+ #:use-module (guix diagnostics)
+ #:use-module (guix gexp)
+ #:use-module (guix records)
+ #:use-module (guix modules)
+ #:use-module (guix i18n)
+ #:use-module (guix ui)
+ #:use-module (gnu services)
+ #:use-module (gnu services base)
+ #:use-module (gnu services shepherd)
+ #:use-module (gnu packages firmware)
+ #:use-module (srfi srfi-1)
+ #:use-module (srfi srfi-26)
+ #:use-module (srfi srfi-34)
+ #:use-module (srfi srfi-35)
+ #:use-module (ice-9 match)
+ #:export (fwupd-configuration fwupd-service-type))
+
+
+;;;
+;;; Fwupd daemon.
+;;;
+
+(define-record-type* <fwupd-configuration> fwupd-configuration
+ make-fwupd-configuration fwupd-configuration?
+ (fwupd fwupd-configuration-fwupd
+ (default fwupd)))
+
+(define fwupd-activation-service
+ #~(begin
+ (use-modules (guix build utils))
+ (mkdir-p "/var/lib/fwupd")))
+
+(define (fwupd-shepherd-service config)
+ (shepherd-service (documentation "Run the fwupd daemon.")
+ (provision '(fwupd))
+ (requirement '(dbus-system udev))
+ (start #~(make-forkexec-constructor (list (string-append #$fwupd
+ "/libexec/fwupd/fwupd"))))
+ (stop #~(make-kill-destructor))))
+
+(define fwupd-service-type
+ (service-type (name 'fwupd)
+ (default-value (fwupd-configuration))
+ (extensions (list (service-extension activation-service-type
+ (const
+ fwupd-activation-service))
+ (service-extension
+ shepherd-root-service-type
+ (compose list fwupd-shepherd-service))))
+ (description
+ "Run @command{fwupd}, the Firmware update daemon.")))
--
2.37.2
From a80446cc7bf18cec8a604860261f03e68b31e264 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 26 Aug 2022 08:26:42 +0200
Subject: [PATCH 10/81] gnu: libksysguard: Update to 5.25.4.

* gnu/packages/kde-plasma.scm (libksysguard): Update to 5.25.4.

Toggle diff (23 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 634a44eecf..8c0ed0880c 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -283,14 +283,14 @@ (define-public libkscreen
(define-public libksysguard
(package
(name "libksysguard")
- (version "5.25.3")
+ (version "5.25.4")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/plasma/" version
"/libksysguard-" version ".tar.xz"))
(sha256
- (base32 "1mrrrxjvqmrnkjwafvqrd2hlvl9gr9y4hn7dv0gf70lp5bl06i89"))))
+ (base32 "1kzpimhkagsmqj0cky4cfav1kbzyfjaj2l5xdapnmaygbm6r8086"))))
(native-inputs
(list extra-cmake-modules pkg-config qttools-5))
(inputs
--
2.37.2
From 9c5174c7d689f43079a34bf7a78aa56450c72c5a Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 26 Aug 2022 06:01:45 +0200
Subject: [PATCH 17/81] gnu: Add kgamma.

* gnu/packages/kde-plasma.scm (kgamma): New variable.

Toggle diff (42 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 5c4bb1f950..616d2b31ff 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -375,6 +375,35 @@ (define-public libksysguard
with a ksysguardd daemon, which may also run on a remote system.")
(license license:gpl3+)))
+(define-public kgamma
+ (package
+ (name "kgamma")
+ (version "5.25.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/"
+ version
+ "/"
+ name
+ "5-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "1m72dl1rxsh56pmacx0q0qda7lr4359azik2lnhw7nhs30z4p25a"))))
+ (build-system qt-build-system)
+ (native-inputs (list extra-cmake-modules))
+ (inputs (list kauth
+ kcoreaddons
+ kconfig
+ kconfigwidgets
+ kdoctools
+ ki18n))
+ (synopsis "Adjust your monitor's gamma settings")
+ (description "This package allows to adjust your monitor gamma settings.")
+ (home-page "https://invent.kde.org/plasma/kgamma5")
+ (license license:gpl2+)))
+
(define-public kwayland-server
(package
(name "kwayland-server")
--
2.37.2
From ff98faa33e076535fe6ff03d8d0b831a5ce1c3d3 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Sun, 28 Aug 2022 23:19:36 +0200
Subject: [PATCH 09/81] gnu: Remove kqtquickcharts.

* gnu/packages/kde.scm (kqtquickcharts): Remove variable.

Toggle diff (37 lines)
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index 9e61563590..83bbf69506 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -846,30 +846,6 @@ (define-public labplot
(license (list license:gpl2+ ;labplot
license:gpl3+)))) ;liborigin
-(define-public kqtquickcharts
- (package
- (name "kqtquickcharts")
- (version "22.04.3")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://kde/stable/release-service/"
- version "/src/kqtquickcharts-" version ".tar.xz"))
- (sha256
- (base32
- "0bm7rdysvlfnfnvy87ii3kxl238q83vw0ia58zsnwjmkxmlgf6mp"))))
- (build-system cmake-build-system)
- (native-inputs
- (list extra-cmake-modules))
- (inputs
- (list qtbase-5 qtdeclarative-5))
- (home-page "https://phabricator.kde.org/source/kqtquickcharts/")
- (synopsis "Interactive charts for Qt Quick")
- (description
- "Kqtquickcharts is a QtQuick plugin to render beautiful and interactive
-charts.")
- (license license:lgpl2.1+)))
-
(define-public kdf
(package
(name "kdf")
--
2.37.2
From 939e9e0ea2f36fd480002ec76d3a0a1e7657f792 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Sun, 28 Aug 2022 23:09:53 +0200
Subject: [PATCH 15/81] gnu: Add kio-fuse.

* gnu/packages/kde-frameworks.scm (kio-fuse): New variable.

Toggle diff (51 lines)
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 09895669e3..ef068b9e0f 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -2786,6 +2786,44 @@ (define-public kio-extras
the functionality of the KDE resource and network access abstractions.")
(license license:lgpl2.0+)))
+(define-public kio-fuse
+ (package
+ (name "kio-fuse")
+ (version "5.0.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/"
+ name
+ "/"
+ version
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "1pb62h45c06dq3rml91xbf8j5y2c1l8z8j8lycchxrlgys5rlrv6"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list #:phases #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (setenv "HOME"
+ (getcwd))
+ (setenv "XDG_RUNTIME_DIR"
+ (getcwd))
+ (setenv "QT_QPA_PLATFORM" "offscreen")
+ (invoke "dbus-launch" "ctest" "-E"
+ "(fileopstest-cache|fileopstest-filejob)")))))))
+ (native-inputs (list dbus extra-cmake-modules pkg-config))
+ (inputs (list fuse-3 kio kcoreaddons qtbase-5))
+ (home-page "https://community.kde.org/Frameworks")
+ (synopsis "FUSE Interface for KIO")
+ (description "This package provides FUSE Interface for KIO.")
+ (license license:lgpl2.1+)))
+
(define-public knewstuff
(package
(name "knewstuff")
--
2.37.2
From 73fbcf15050e8abbe1d87b009a3b11d3ba1f9402 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 26 Aug 2022 08:27:35 +0200
Subject: [PATCH 54/81] gnu: Add plasma-systemmonitor.

* gnu/packages/kde-plasma.scm (plasma-systemmonitor): New variable.

Toggle diff (50 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index df6db3bde5..2686e2c557 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -1226,3 +1226,43 @@ (define-public plasma-vault
(description "Provides Plasma applet and services for creating encrypted
vaults.")
(license (list license:gpl2 license:gpl3))))
+
+(define-public plasma-systemmonitor
+ (package
+ (name "plasma-systemmonitor")
+ (version "5.25.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/"
+ version
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "1fj0vyjdk6h3f4p9aagh03hyhbf69y2qwlavs2zr7d0iadih7b4c"))))
+ (build-system qt-build-system)
+ (native-inputs (list extra-cmake-modules))
+ (inputs (list ki18n
+ kconfig
+ kdeclarative
+ kservice
+ kiconthemes
+ kglobalaccel
+ kio
+ kdbusaddons
+ kirigami
+ knewstuff
+ ksystemstats
+ kitemmodels
+ libksysguard
+ qtdeclarative-5
+ qtquickcontrols2-5))
+ (synopsis "System sensors, process information and other system resources
+monitor")
+ (description "This package provides an interface for monitoring system
+sensors, process information and other system resources.")
+ (home-page "https://invent.kde.org/plasma/plasma-systemmonitor")
+ (license (list license:gpl2 license:gpl3))))
--
2.37.2
From c9435b324f4f0522f5a4dbd06cf773421ababb37 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Wed, 10 Aug 2022 01:18:23 +0200
Subject: [PATCH 34/81] gnu: Add plasmatube.

* gnu/packages/kde-plasma.scm (plasmatube): New variable.

Toggle diff (52 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index dd4e148e42..9f91712b42 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -27,6 +27,7 @@ (define-module (gnu packages kde-plasma)
#:use-module (guix build utils)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix gexp)
#:use-module (guix build-system cmake)
@@ -41,6 +42,7 @@ (define-module (gnu packages kde-plasma)
#:use-module (gnu packages linux)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
+ #:use-module (gnu packages video)
#:use-module (gnu packages qt)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)
@@ -640,3 +642,29 @@ (define-public kwrited
(synopsis "Listen to traditional system notifications")
(description "This package provides access to system notifications.")
(license license:gpl2+)))
+
+(define-public plasmatube
+ (package
+ (name "plasmatube")
+ (version "22.04")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma-mobile/"
+ version
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "01bmxdh0aclm184j5s0kddjc7a14225bdnbkr8jlk21g9wlw8cyx"))))
+ (build-system cmake-build-system)
+ (native-inputs (list extra-cmake-modules))
+ (inputs (list kirigami kconfig ki18n qtbase-5 qtdeclarative-5 qtquickcontrols2-5
+ qtsvg-5 qtmultimedia-5 youtube-dl))
+ (home-page "https://apps.kde.org/plasmatube/")
+ (synopsis "Kirigami YouTube video player")
+ (description "This package provides YouTube video player based
+on QtMultimedia and @command{yt-dlp}.")
+ (license license:gpl3+)))
--
2.37.2
From a5fd6dcd0a0212db4918d24a81cf8dae551128d8 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Sun, 28 Aug 2022 23:08:42 +0200
Subject: [PATCH 14/81] gnu: Add kio-extras.

* gnu/packages/kde-frameworks.scm (kio-extras): New variable.

Toggle diff (62 lines)
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 9f154bca3b..09895669e3 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -2737,6 +2737,55 @@ (define-public kio
KIO enabled infrastructure.")
(license license:lgpl2.1+)))
+(define-public kio-extras
+ (package
+ (name "kio-extras")
+ (version "22.08.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/release-service/"
+ version
+ "/src/"
+ name
+ "-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "0gzna2ps2qd2js28c97kjpcbah7zz8n4s4932faggc2nz5z5wnyn"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list #:phases #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (setenv "HOME"
+ (getcwd))
+ (setenv "TMPDIR"
+ (getcwd))
+ (invoke "ctest" "-E" "testkioarchive")))))))
+ (native-inputs (list extra-cmake-modules dbus kdoctools qttools-5))
+ (inputs (list karchive
+ kconfig
+ kconfigwidgets
+ kcoreaddons
+ kdbusaddons
+ ki18n
+ kdnssd
+ kio
+ solid
+ kbookmarks
+ kguiaddons
+ ksyntaxhighlighting
+ qtbase-5
+ qtsvg-5))
+ (home-page "https://community.kde.org/Frameworks")
+ (synopsis "Additional components to increase the functionality of KIO")
+ (description
+ "This package provides additional components to increase
+the functionality of the KDE resource and network access abstractions.")
+ (license license:lgpl2.0+)))
+
(define-public knewstuff
(package
(name "knewstuff")
--
2.37.2
From 7e0f4729b88309132466a1108ec7101d40e3b649 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 25 Mar 2022 11:38:50 +0100
Subject: [PATCH 32/81] gnu: Add maliit-keyboard.

* gnu/pacakges/kde-frameworks.scm (maliit-keyboard): New variable.

Toggle diff (75 lines)
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 61dccb7922..27c0ac3b8b 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -53,6 +53,8 @@ (define-module (gnu packages kde-frameworks)
#:use-module (gnu packages databases)
#:use-module (gnu packages documentation)
#:use-module (gnu packages docbook)
+ #:use-module (gnu packages documentation)
+ #:use-module (gnu packages fcitx)
#:use-module (gnu packages flex)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gettext)
@@ -65,9 +67,11 @@ (define-module (gnu packages kde-frameworks)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages image)
+ #:use-module (gnu packages ibus)
#:use-module (gnu packages iso-codes)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages kde-plasma)
+ #:use-module (gnu packages language)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages libreoffice)
#:use-module (gnu packages linux)
@@ -1266,6 +1270,47 @@ (define-public maliit-framework
method framework.")
(license license:lgpl2.1+)))
+(define-public maliit-keyboard
+ (package
+ (name "maliit-keyboard")
+ (version "2.3.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/maliit/keyboard")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0g89lckl4wzwamc89hs8871fbiyrsjwzk5b6ic4vhc4d1clyqzaw"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list #:tests? #f
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'install 'install-schemas
+ (lambda* (#:key source outputs #:allow-other-keys)
+ (with-directory-excursion (string-append #$output
+ "/share/glib-2.0/schemas")
+ (invoke "glib-compile-schemas" ".")))))))
+ (native-inputs (list extra-cmake-modules pkg-config gettext-minimal
+ `(,glib "bin")))
+ (inputs (list hunspell
+ glib
+ libchewing
+ libpinyin
+ maliit-framework
+ presage
+ qtbase-5
+ qtdeclarative-5
+ qtmultimedia-5
+ qtquickcontrols2-5))
+ (home-page "https://github.com/maliit/keyboard")
+ (synopsis "Maliit Keyboard")
+ (description
+ "This package provides virtual keyboard for Wayland and X11
+display servers. It supports many different languages and emoji.")
+ (license license:gpl3+)))
+
(define-public modemmanager-qt
(package
(name "modemmanager-qt")
--
2.37.2
From 6d0b8164dc6ec397769c1bbf68203ea554cb0b1b Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Sat, 27 Aug 2022 17:01:13 +0200
Subject: [PATCH 13/81] gnu: Add ksysguard.

* gnu/packages/kde-plasma.scm (ksysguard): New variable.

Toggle diff (50 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index b996cf27cc..5c4bb1f950 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -253,6 +253,43 @@ (define-public kscreenlocker
"@code{kscreenlocker} is a library for creating secure lock screens.")
(license license:gpl2+)))
+(define-public ksysguard
+ (package
+ (name "ksysguard")
+ (version "5.22.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/ksysguard/" version
+ "/ksysguard-" version ".tar.xz"))
+ (sha256
+ (base32 "0bb2aj46v7ig0wn3ir68igryl2gblz2n75cddn8fwamvbx76570g"))))
+ (build-system qt-build-system)
+ ;; TODO: No tests found
+ (native-inputs
+ (list extra-cmake-modules kdoctools))
+ (inputs
+ (list kconfig
+ kcoreaddons
+ kdbusaddons
+ ki18n
+ kiconthemes
+ kinit
+ kio
+ kitemviews
+ knewstuff
+ knotifications
+ kwindowsystem
+ libksysguard
+ `(,lm-sensors "lib")
+ qtbase-5))
+ (home-page "https://www.kde.org/applications/system/ksysguard/")
+ (synopsis "Plasma process and performance monitor")
+ (description "KSysGuard is a program to monitor various elements of your
+system, or any other remote system with the KSysGuard daemon (ksysgardd)
+installed.")
+ (license license:gpl2+)))
+
(define-public libkscreen
(package
(name "libkscreen")
--
2.37.2
From 5f17c34e415e20277b7e216e3624c43fda60711e Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 25 Mar 2022 12:21:56 +0100
Subject: [PATCH 80/81] gnu: Add plasma-mobile-sounds.

* gnu/packages/kde-plasma.scm (plasma-mobile-sounds): New variable.

Toggle diff (32 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index e8f85dd267..a69a97f9a1 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -1895,6 +1895,25 @@ (define-public plasma-mobile-settings
"This package provides Settings application for Plasma Mobile.")
(license license:gpl2+)))
+(define-public plasma-mobile-sounds
+ (package
+ (name "plasma-mobile-sounds")
+ (version "0.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://kde/stable/plasma-mobile-sounds/"
+ version "/plasma-mobile-sounds-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1br6kzicrr45vgg0ciqczxlcid21n5lfjm6zc06rw86ys7fx7bpi"))))
+ (build-system cmake-build-system)
+ (native-inputs (list extra-cmake-modules pkg-config))
+ (home-page "https://plasma-mobile.org/")
+ (synopsis "Sounds for Plasma Mobile devices")
+ (description "This package provides sound files for Plasma Mobile.")
+ (license (list license:cc0 license:cc-by4.0))))
+
(define-public plasma-pa
(package
(name "plasma-pa")
--
2.37.2
From 0879406c22ae6085d67c6330aa3f9665deb4d864 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Sat, 10 Sep 2022 11:17:09 +0200
Subject: [PATCH 02/81] gnu: ktouch: Remove kqtquickcharts form inputs.

* gnu/packages/education.scm (ktouch) [inputs]: Remove kqtquickcharts.

Toggle diff (14 lines)
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index 54cd00d08d..27e49067a3 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -667,7 +667,6 @@ (define-public ktouch
ki18n
kiconthemes
kitemviews
- kqtquickcharts
ktextwidgets
kwidgetsaddons
kwindowsystem
--
2.37.2
From 440f93c34859154ff80aacc9c7bbc34edd776571 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Sun, 18 Sep 2022 10:39:18 +0200
Subject: [PATCH 47/81] gnu: packagekit: Remove input labels and use gexp.

* gnu/packages/freedesktop.scm (pacakgekit): Remove input labels and use gexp.

Toggle diff (31 lines)
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 97d8bc3dbc..d5069a0f59 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -916,16 +916,15 @@ (define-public packagekit
"1dr1laic65ld95abp2yxbwvijnngh0dwyb1x49x4wjm5rhq43dl8"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f
- #:make-flags (list (string-append "BASH_COMPLETIONS_DIR="
- %output "/etc/bash_completion.d"))
- #:configure-flags
- '("--disable-systemd")))
+ (list #:tests? #f
+ #:make-flags #~(list (string-append "BASH_COMPLETIONS_DIR="
+ #$output "/etc/bash_completion.d"))
+ #:configure-flags #~(list "--disable-systemd")))
(native-inputs
- `(("intltool" ,intltool)
- ("pkg-config" ,pkg-config)
- ("python" ,python-wrapper)
- ("glib:bin" ,glib "bin")))
+ (list intltool
+ pkg-config
+ python-wrapper
+ `(,glib "bin")))
(inputs
(list glib bash-completion polkit))
(propagated-inputs
--
2.37.2
From 3831d8eea0a479db8dd75b0359864aa6c6d55ada Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 26 Aug 2022 09:04:19 +0200
Subject: [PATCH 66/81] gnu: Add system-settings.

* gnu/packages/kde-plasma.scm (system-settings): New variable.

Toggle diff (51 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 431ee6995d..c9645454df 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -1690,3 +1690,44 @@ (define-public polkit-kde-agent
UI for Plasma")
(home-page "https://invent.kde.org/plasma/polkit-kde-agent-1")
(license license:gpl2+)))
+
+(define-public system-settings
+ (package
+ (name "system-settings")
+ (version "5.25.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/" version
+ "/systemsettings-" version ".tar.xz"))
+ (sha256
+ (base32
+ "130739bfxl1jwkn3f4h7dnr7dv2i76g6sd2svmg0qy60cnwvcgcv"))))
+ (build-system qt-build-system)
+ (native-inputs (list extra-cmake-modules))
+ (inputs (list kauth
+ kcrash
+ kitemviews
+ kitemmodels
+ kcmutils
+ ki18n
+ kio
+ kservice
+ kiconthemes
+ kwidgetsaddons
+ kwindowsystem
+ kxmlgui
+ kdbusaddons
+ kconfig
+ kpackage
+ kactivities
+ kactivities-stats
+ kguiaddons
+ kirigami
+ knotifications
+ krunner
+ plasma-workspace
+ qtdeclarative-5))
+ (synopsis "Control center to configure Plasma Desktop")
+ (description "This package provides configuration UI for Plasma Desktop.")
+ (home-page "https://invent.kde.org/plasma/systemsettings")
+ (license license:gpl2+)))
--
2.37.2
From 06d9aa3e1fbb6b7091e86499b186825519594fc1 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Sun, 11 Sep 2022 20:56:58 +0200
Subject: [PATCH 08/81] gnu: akregator: Remove kqtquickcharts form inputs.

* gnu/packages/kde.scm (akregator) [inputs]: Remove kqtquickcharts. Add
kquickcharts.

Toggle diff (15 lines)
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index 3923918216..9e61563590 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -194,7 +194,7 @@ (define-public akregator
kontactinterface
kpimcommon
kpimtextedit
- kqtquickcharts
+ kquickcharts
ktexteditor
kuserfeedback
libkdepim
--
2.37.2
From 165bd2c67c8d17e815c9965b12461caed5243df4 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Thu, 15 Sep 2022 07:46:08 +0200
Subject: [PATCH 06/81] gnu: akregator: Use G-Expression. Fixes build.

* gnu/packages/kde.scm (akregator): Use G-Expression.

Toggle diff (25 lines)
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index e83470bc53..0a477cfc7d 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -161,14 +161,13 @@ (define-public akregator
(base32 "9yy5c29zxpli4cddknmdvjkgii3j7pvw6lhwqfrqjc8jh83gm8f8"))))
(build-system qt-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
+ (list #:phases
+ #~(modify-phases %standard-phases
(add-after 'install 'wrap-qt-process-path
(lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin/akregator"))
+ (let ((bin (string-append #$output "/bin/akregator"))
(qt-process-path (string-append
- (assoc-ref inputs "qtwebengine-5")
+ #$qtwebengine-5
"/lib/qt5/libexec/QtWebEngineProcess")))
(wrap-program bin
`("QTWEBENGINEPROCESS_PATH" = (,qt-process-path)))))))))
--
2.37.2
From b7038ffbdf075bcddf944b38b7d6a06f8d1426bd Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 26 Aug 2022 07:50:23 +0200
Subject: [PATCH 12/81] gnu: Add kwayland-integration.

* gnu/packages/kde-plasma.scm (kwayland-integration): New variable.

Toggle diff (68 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 7e0cdf899f..b996cf27cc 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -23,6 +23,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages kde-plasma)
+ #:use-module (guix build utils)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module ((guix licenses) #:prefix license:)
@@ -386,3 +387,53 @@ (define-public kwayland-server
;; src/server/drm_fourcc.h carries the MIT license.
license:expat))))
+(define-public kwayland-integration
+ (package
+ (name "kwayland-integration")
+ (version "5.25.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/"
+ version
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "1iqnwcp08kg91pwm3i4grd0i4bqf8h1z0n0fhcw6l0cbhdkcad39"))))
+ (build-system qt-build-system)
+ (arguments
+ (list #:phases #~(modify-phases %standard-phases
+ (delete 'check)
+ (add-after 'install 'check-after-install
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (setenv "HOME"
+ (getcwd))
+ (setenv "XDG_RUNTIME_DIR"
+ (getcwd))
+ (setenv "QT_QPA_PLATFORM" "offscreen")
+ ;; https://bugs.gentoo.org/668872
+ (invoke "ctest" "-E" "(idleTest-kwayland-test)"))))
+ (add-before 'check-after-install 'check-setup
+ (lambda* (#:key outputs #:allow-other-keys)
+ (setenv "QT_PLUGIN_PATH"
+ (string-append #$output
+ "/lib/qt5/plugins:"
+ (getenv "QT_PLUGIN_PATH"))))))))
+ (native-inputs (list extra-cmake-modules wayland-protocols pkg-config))
+ (inputs (list kguiaddons
+ kidletime
+ kwindowsystem
+ kwayland
+ libxkbcommon
+ wayland
+ qtbase-5
+ qtwayland))
+ (synopsis "KWayland runtime integration plugins")
+ (description "Provides integration plugins for various KDE Frameworks for
+Wayland.")
+ (home-page "https://invent.kde.org/plasma/kwayland-integration")
+ (license (list license:lgpl2.1 license:lgpl3))))
--
2.37.2
From 7fa6a84361278455b2d564339c2052219d36967c Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Mon, 19 Sep 2022 15:24:48 +0200
Subject: [PATCH 07/81] gnu: akregator: Fix incorrect package source hash from
commit 6971feca53a.

* gnu/packages/kde.scm (akregator) [source]: Fix hash.

Toggle diff (15 lines)
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index 0a477cfc7d..3923918216 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -158,7 +158,7 @@ (define-public akregator
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/akregator-" version ".tar.xz"))
(sha256
- (base32 "9yy5c29zxpli4cddknmdvjkgii3j7pvw6lhwqfrqjc8jh83gm8f8"))))
+ (base32 "08n713271i7ifnbrgwrqmxvcpvj45wfqjiidw8zf9rpwxg2m2m9g"))))
(build-system qt-build-system)
(arguments
(list #:phases
--
2.37.2
From 2d89a94c7dc7170c580719bff5c09f004147378c Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 26 Aug 2022 07:30:45 +0200
Subject: [PATCH 52/81] gnu: Add kwallet-pam.

* gnu/packages/kde-plasma.scm (kwallet-pam): New variable.

Toggle diff (49 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 4db2486f6d..0139707c29 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -38,6 +38,8 @@ (define-module (gnu packages kde-plasma)
#:use-module (gnu packages bash)
#:use-module (gnu packages compression)
#:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages gnupg)
+ #:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
@@ -696,6 +698,33 @@ (define-public kgamma
(home-page "https://invent.kde.org/plasma/kgamma5")
(license license:gpl2+)))
+(define-public kwallet-pam
+ (package
+ (name "kwallet-pam")
+ (version "5.25.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/"
+ version
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "14j3xngwliqhhvw60izv5kdjvv8xhqw8cjsc4l22v8jj4m8yw2xk"))))
+ (build-system qt-build-system)
+ (arguments
+ (list #:tests? #f)) ;no tests
+ (native-inputs (list extra-cmake-modules pkg-config))
+ (inputs (list linux-pam kwallet libgcrypt))
+ (synopsis "PAM Integration with KWallet")
+ (description "Provide PAM Integration with KWallet to unlock KWallet when
+you login.")
+ (home-page "https://invent.kde.org/plasma/kwallet-pam")
+ (license (list license:lgpl2.1+))))
+
(define-public kwayland-server
(package
(name "kwayland-server")
--
2.37.2
From 3b52cb812ab2b1a010a68a2113c89f9203942d76 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Wed, 10 Aug 2022 00:39:14 +0200
Subject: [PATCH 33/81] gnu: Add kitinerary.

* gnu/packages/kde-pim.scm (kitinerary): New variable.

Toggle diff (71 lines)
diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm
index a182261b84..15c34aec0f 100644
--- a/gnu/packages/kde-pim.scm
+++ b/gnu/packages/kde-pim.scm
@@ -22,6 +22,7 @@
(define-module (gnu packages kde-pim)
#:use-module (guix build-system qt)
+ #:use-module (guix gexp)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
@@ -29,6 +30,7 @@ (define-module (gnu packages kde-pim)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages compression)
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages databases)
#:use-module (gnu packages documentation)
@@ -851,6 +853,48 @@ (define-public kimap
(license ;; GPL for programs, LGPL for libraries
(list license:gpl2+ license:lgpl2.0+))))
+(define-public kitinerary
+ (package
+ (name "kitinerary")
+ (version "20.11.80")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://invent.kde.org/pim/kitinerary/-/archive/v"
+ version "/kitinerary-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "0j46gndarz8gkjiwqwkh1xgnxv4xbkwp1bxd72xia3i5dpx3dbah"))))
+ (build-system qt-build-system)
+ (arguments
+ (list #:phases #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "dbus-launch" "ctest" "-E"
+ "(datatypestest|jsonlddocumenttest|mergeutiltest|knowledgedbtest|airportdbtest|pkpassextractortest|postprocessortest|calendarhandlertest|extractortest)")))))))
+ (native-inputs (list dbus extra-cmake-modules))
+ (inputs (list kpkpass
+ kcalendarcore
+ karchive
+ ki18n
+ kcoreaddons
+ kcontacts
+ kmime
+ knotifications
+ shared-mime-info
+ qtbase-5
+ qtdeclarative-5
+ qtlocation
+ qtquickcontrols2-5
+ libxml2
+ zlib))
+ (home-page "https://apps.kde.org/cs/itinerary/")
+ (synopsis
+ "Digital travel assistant with a priority on protecting your privacy")
+ (description "")
+ (license license:lgpl2.0)))
+
(define-public kldap
(package
(name "kldap")
--
2.37.2
From d7c691c8b5bdba6fe9515ee10113213e30c5d1f2 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Thu, 15 Sep 2022 00:44:55 +0200
Subject: [PATCH 04/81] gnu: kio: Enable 2 tests.

* gnu/packages/kde-frameworks.scm (kio) [arguments]: Run kiocore-threadtest
and kiowidgets-kfileitemactionstest.

Toggle diff (31 lines)
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index ed77e56bce..fb18910c9d 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -2703,7 +2703,7 @@ (define-public kio
(setenv "QT_QPA_PLATFORM" "offscreen")
(setenv "DBUS_FATAL_WARNINGS" "0")
(invoke "dbus-launch" "ctest"
- "-E" ; FIXME: 21/67 tests fail.
+ "-E" ; FIXME: 19/67 tests fail.
(string-append "(kiocore-jobtest"
"|fileitemtest"
"|kiocore-kmountpointtest"
@@ -2712,7 +2712,6 @@ (define-public kio
"|kiocore-krecentdocumenttest"
"|kiocore-http_jobtest"
"|kiogui-openurljobtest"
- "|kiocore-threadtest"
"|applicationlauncherjob_forkingtest"
"|applicationlauncherjob_scopetest"
"|applicationlauncherjob_servicetest"
@@ -2721,7 +2720,6 @@ (define-public kio
"|commandlauncherjob_servicetest"
"|kiowidgets-kdirlistertest"
"|kiowidgets-kdirmodeltest"
- "|kiowidgets-kfileitemactionstest"
"|kiowidgets-kurifiltertest-colon-separator"
"|kiowidgets-kurifiltertest-space-separator"
"|kiofilewidgets-knewfilemenutest)")))))
--
2.37.2
From fccfe7ad6a6af04fd469dc2e0946bb72fe144633 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 26 Aug 2022 06:57:37 +0200
Subject: [PATCH 70/81] gnu: Add khotkeys.

* gnu/packages/kde-plasma.scm (khotkeys): New variable.

Toggle diff (48 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 3e302af583..55862d4537 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -434,6 +434,41 @@ (define-public kdeplasma-addons
(home-page "https://invent.kde.org/plasma/kdeplasma-addons")
(license license:lgpl2.0)))
+(define-public khotkeys
+ (package
+ (name "khotkeys")
+ (version "5.25.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/"
+ version
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "0hkicwkcjb4p4k5yh8d60h6khsvrqkhjx42aby6rxd3mgvrqd3xy"))))
+ (build-system qt-build-system)
+ (native-inputs (list extra-cmake-modules))
+ (inputs (list kdbusaddons
+ kdoctools
+ kglobalaccel
+ ki18n
+ kcmutils
+ kio
+ ktextwidgets
+ kxmlgui
+ kdelibs4support
+ plasma-workspace
+ qtx11extras))
+ (synopsis "Trigger actions when certain keys are pressed")
+ (description "This package provide trigger actions when certain keys
+are pressed.")
+ (home-page "https://invent.kde.org/plasma/khotkeys")
+ (license license:lgpl2.0)))
+
(define-public kinfocenter
(package
(name "kinfocenter")
--
2.37.2
From e2e8c9ff48cc8d66c3f930e32461637091ef2f07 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Tue, 23 Aug 2022 20:11:33 +0200
Subject: [PATCH 11/81] gnu: libkscreen: Update to 5.25.4.

* gnu/packages/kde-plasma.scm (libkscreen): Update to 5.24.4.

Toggle diff (23 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 8c0ed0880c..7e0cdf899f 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -255,14 +255,14 @@ (define-public kscreenlocker
(define-public libkscreen
(package
(name "libkscreen")
- (version "5.25.3")
+ (version "5.25.4")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/plasma/" version "/"
name "-" version ".tar.xz"))
(sha256
- (base32 "1mxkrk04wcyw4xbfiyxbp5iwnhqr10yk39zx5bbjd9zag0vdi7z5"))))
+ (base32 "17ib0sgrhmmf3f8w3fni0825xz5581av5vnz8gca41vyf12css25"))))
(build-system qt-build-system)
(native-inputs
(list extra-cmake-modules
--
2.37.2
From 12762e8673d4e3d86575587a4c1b8b4b8839f722 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Sun, 28 Aug 2022 23:07:58 +0200
Subject: [PATCH 01/81] gnu: Add kquickcharts.

* gnu/packages/kde-frameworks.scm (kquickcharts): New variable.

Toggle diff (52 lines)
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index bec8ff1c51..8bbdacd534 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -933,6 +933,45 @@ (define-public kitemviews
to flat and hierarchical lists.")
(license (list license:gpl2+ license:lgpl2.1+))))
+(define-public kquickcharts
+ (package
+ (name "kquickcharts")
+ (version "5.96.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/frameworks/"
+ (version-major+minor version)
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "1sd9mfxk72xfa1kz77s7z312scfm0vwvvgmyi4pypb9cs7d9dq3j"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list #:phases #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (setenv "HOME"
+ (getcwd))
+ (setenv "XDG_RUNTIME_DIR"
+ (getcwd))
+ (setenv "QT_QPA_PLATFORM" "offscreen")
+ (invoke "ctest" "-E"
+ "(tst_BarChart.qml|tst_LineChart.qml|tst_PieChart.qml)")))))))
+ (inputs (list qtbase-5 qtdeclarative-5 qtquickcontrols2-5))
+ (native-inputs (list pkg-config extra-cmake-modules))
+ (home-page "https://api.kde.org/frameworks/kquickcharts/html/index.html")
+ (synopsis "QtQuick plugin providing high-performance charts")
+ (description
+ "The Quick Charts module provides a set of charts that can be
+used from QtQuick applications for both simple display of data as well as
+continuous display of high-volume data.")
+ (license (list license:lgpl2.1 license:lgpl3))))
+
(define-public kplotting
(package
(name "kplotting")
--
2.37.2
From a54797ca8f0a32682cc6ac5137e14426fc89a3d9 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Wed, 10 Aug 2022 00:39:57 +0200
Subject: [PATCH 16/81] gnu: Add kpkpass.

* gnu/packages/kde-pim.scm (kpkpass): New variable.

Toggle diff (42 lines)
diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm
index fc3e7069f1..a182261b84 100644
--- a/gnu/packages/kde-pim.scm
+++ b/gnu/packages/kde-pim.scm
@@ -23,6 +23,7 @@
(define-module (gnu packages kde-pim)
#:use-module (guix build-system qt)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
@@ -1547,6 +1548,27 @@ (define-public kpeoplevcard
Virtual Contact File}) files to the KPeople contact management library.")
(license license:lgpl2.1+)))
+(define-public kpkpass
+ (package
+ (name "kpkpass")
+ (version "22.08")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://invent.kde.org/pim/kpkpass")
+ (commit (string-append "release/" version))))
+ (sha256
+ (base32
+ "135cjl0053k4a26mnp8qcqpx11l6r5r87whhpva63b5yxmpmjc62"))))
+ (build-system qt-build-system)
+ (native-inputs (list extra-cmake-modules))
+ (inputs (list karchive qtbase-5 shared-mime-info))
+ (home-page "https://invent.kde.org/pim/kpkpass")
+ (synopsis "Apple Wallet Pass reader")
+ (description "This package provides library to deal with Apple Wallet
+pass files.")
+ (license license:lgpl2.0+)))
+
(define-public kpimcommon
(package
(name "kpimcommon")
--
2.37.2
From 866fd9550f0353db4c3756153e6ed196eb66c594 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 26 Aug 2022 07:55:01 +0200
Subject: [PATCH 19/81] gnu: Add kwrited.

* gnu/packages/kde-plasma.scm (kwrited): New variable.

Toggle diff (34 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 76d0f4446d..0e19f416eb 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -549,3 +549,27 @@ (define-public kwayland-integration
Wayland.")
(home-page "https://invent.kde.org/plasma/kwayland-integration")
(license (list license:lgpl2.1 license:lgpl3))))
+
+(define-public kwrited
+ (package
+ (name "kwrited")
+ (version "5.25.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/"
+ version
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "0xn20irka7adbqfc8w6gnhwp0pbv7bz7l7g16qddv1wq3xix9053"))))
+ (build-system qt-build-system)
+ (native-inputs (list extra-cmake-modules))
+ (inputs (list kcoreaddons ki18n kpty knotifications))
+ (home-page "https://invent.kde.org/plasma/kwrited")
+ (synopsis "Listen to traditional system notifications")
+ (description "This package provides access to system notifications.")
+ (license license:gpl2+)))
--
2.37.2
From 7e5906fe29050d844ef522daa18d8a99d817d265 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Tue, 23 Aug 2022 15:28:01 +0200
Subject: [PATCH 38/81] gnu: Add plasma-vault.

* gnu/packages/kde-plasma.scm (plasma-vault): New variable.

Toggle diff (44 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index c96a2841b5..5273402553 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -733,3 +733,37 @@ (define-public plasmatube
(description "This package provides YouTube video player based
on QtMultimedia and @command{yt-dlp}.")
(license license:gpl3+)))
+
+(define-public plasma-vault
+ (package
+ (name "plasma-vault")
+ (version "5.25.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/"
+ version
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "10ym2gk46yr1vgjnm1li1shdawklvvy3yvjcanm8ic5llchbxvzq"))))
+ (build-system qt-build-system)
+ (native-inputs (list extra-cmake-modules))
+ (inputs (list kio
+ ki18n
+ kconfigwidgets
+ kconfig
+ kactivities
+ kdbusaddons
+ kiconthemes
+ libksysguard
+ plasma-framework
+ qtdeclarative-5))
+ (home-page "https://invent.kde.org/plasma/plasma-vault")
+ (synopsis "Plasma applet and services for creating encrypted vaults")
+ (description "Provides Plasma applet and services for creating encrypted
+ vaults.")
+ (license (list license:gpl2 license:gpl3))))
--
2.37.2
From a3e13541d79249fa3bcd3a5e7b3fba6212f07b51 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Tue, 23 Aug 2022 21:34:07 +0200
Subject: [PATCH 72/81] gnu: Add plasma-browser-integration.

* gnu/packages/kde-plasma.scm (plasma-browser-integration): New variable.

Toggle diff (53 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 480b78b057..a9ee6d0e12 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -1366,6 +1366,46 @@ (define-public plasma-active-window-control
active window on Plasma Desktop.")
(license (list license:gpl2 license:gpl3)))))
+(define-public plasma-browser-integration
+ (package
+ (name "plasma-browser-integration")
+ (version "5.25.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/"
+ version
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "1l3n4psbqimfar5qsmrfp3nhgg3v9yy93rkjpvyqgdmizi44scqw"))))
+ (build-system qt-build-system)
+ (native-inputs (list extra-cmake-modules pkg-config))
+ (inputs (list kio
+ ki18n
+ kcoreaddons
+ kconfig
+ kcrash
+ kdbusaddons
+ knotifications
+ kitemmodels
+ krunner
+ kactivities
+ purpose
+ kfilemetadata
+ kjobwidgets
+ qtdeclarative-5))
+ (propagated-inputs (list plasma-workspace))
+ (home-page "https://invent.kde.org/plasma/plasma-browser-integration")
+ (synopsis
+ "Components necessary to integrate browsers into the Plasma Desktop")
+ (description "This package aims to provide better integration of web
+browsers with the KDE Plasma 5 desktop.")
+ (license license:gpl3+)))
+
(define-public plasma-disks
(package
(name "plasma-disks")
--
2.37.2
From bff96667e10c01f83a9b6e40abb283e5814cca49 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Thu, 15 Sep 2022 00:29:29 +0200
Subject: [PATCH 03/81] gnu: kwayland: Run all tests.

* gnu/packages/kde-frameworks.scm (kwayland) [arguments]: Run all tests.
Add check setup into phase before check.

Toggle diff (21 lines)
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 8bbdacd534..ed77e56bce 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -1092,12 +1092,10 @@ (define-public kwayland
;; PlasmaWindowModelTest::testChangeWindowAfterModelDestroy(icon)
(substitute* "autotests/client/test_plasma_window_model.cpp"
((".*changedSpy\\.wait.*") ""))))
- (replace 'check
+ (add-before 'check 'setup-check
(lambda* (#:key tests? #:allow-other-keys)
(setenv "XDG_RUNTIME_DIR" (getcwd))
- (setenv "QT_QPA_PLATFORM" "offscreen")
- (when tests? ;; One test fails.
- (invoke "ctest" "-E" "kwayland-testWaylandRegistry")))))))
+ (setenv "QT_QPA_PLATFORM" "offscreen"))))))
(home-page "https://community.kde.org/Frameworks")
(synopsis "Qt-style API to interact with the wayland client and server")
(description "As the names suggest they implement a Client respectively a
--
2.37.2
From 8f2ec606e88f9c916969817b9ae3c06bb908459e Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 8 Apr 2022 13:24:20 +0200
Subject: [PATCH 81/81] gnu: Add plasma-phonebook.

* gnu/packages/kde-plasma.scm (plasma-phonebook): New variable.

Toggle diff (42 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index a69a97f9a1..cdf4c629d0 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -1973,6 +1973,35 @@ (define-public plasma-pass
(description "Provides Plasma applet for the Pass password manager.")
(license license:lgpl2.1+)))
+(define-public plasma-phonebook
+ (package
+ (name "plasma-phonebook")
+ (version "0.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma-phonebook/"
+ version "/plasma-phonebook-" version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "13nnzdzpganlp319sc9dm9w5hsjhw4f3w8rb80q3nd8q6nyrpky8"))))
+ (build-system cmake-build-system)
+ (native-inputs (list extra-cmake-modules pkg-config))
+ (inputs (list kpeople
+ kirigami
+ kpeoplevcard
+ kcoreaddons
+ kcontacts
+ qtbase-5
+ qtdeclarative-5
+ qtquickcontrols2-5
+ qtsvg-5))
+ (home-page "https://plasma-mobile.org/")
+ (synopsis "Phonebook for Plasma Mobile devices")
+ (description "This package provides contacts application which allows
+adding, modifying and removing contacts.")
+ (license license:lgpl2.0+)))
+
(define-public plasma-phone-components
(package
(name "plasma-phone-components")
--
2.37.2
From 959f11fec3faca7b6302c96f3e85388654b14331 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Mon, 22 Aug 2022 18:13:10 +0200
Subject: [PATCH 18/81] gnu: Add kscreen.

* gnu/packages/kde-plasma.scm (kscreen): New variable.

Toggle diff (66 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 616d2b31ff..76d0f4446d 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2022 Brendan Tildesley <mail@brendan.scot>
+;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -138,6 +139,51 @@ (define-public kdecoration
manager which re-parents a Client window to a window decoration frame.")
(license license:lgpl3+)))
+(define-public kscreen
+ (package
+ (name "kscreen")
+ (version "5.25.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/"
+ version
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "1wjpyq56iw8axbjhsa82w67g54v6y3rv5nx623d1kddvlzlhh8pf"))))
+ (build-system cmake-build-system)
+ (arguments
+ ;; TODO: All tests fail
+ (list #:tests? #f))
+ (native-inputs (list extra-cmake-modules qttools-5 pkg-config))
+ (inputs (list kconfig
+ kdbusaddons
+ kdeclarative
+ kglobalaccel
+ ki18n
+ kwindowsystem
+ kiconthemes
+ kcoreaddons
+ kcmutils
+ kxmlgui
+ libkscreen
+ libxi
+ plasma-wayland-protocols
+ qtsensors
+ qtbase-5
+ qtx11extras
+ xcb-util))
+ (propagated-inputs (list plasma-framework))
+ (home-page "https://invent.kde.org/plasma/kscreen")
+ (synopsis "Screen management software")
+ (description "This package provides the screen management software for
+KDE Plasma Workspaces.")
+ (license license:gpl2+)))
+
(define-public ksshaskpass
(package
(name "ksshaskpass")
--
2.37.2
From 7d8f203f467f43b3a78c7600a799384b6fb277ae Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Thu, 15 Sep 2022 01:18:19 +0200
Subject: [PATCH 05/81] gnu: kcontacts: Run all but 2 tests.

* gnu/packages/kde-frameworks.scm (kcontacts) [arguments]: Run all but 2 tests.

Toggle diff (22 lines)
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index fb18910c9d..9f154bca3b 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -1627,14 +1627,8 @@ (define-public kcontacts
(setenv "HOME" (getcwd))
(system "Xvfb :1 -screen 0 640x480x24 &")
(setenv "DISPLAY" ":1")
- ;; testrounddrip fail inconsistently.
- ;; addresstest produces wrong value:
- ;;Actual (address.formattedAddress(QStringLiteral("Jim Knopf"))):
- ;;"Jim Knopf\nLummerlandstr. 1\n12345 Lummerstadt\n\nGERMANY"
- ;;Expected (result) :
- ;;"Jim Knopf\nLummerlandstr. 1\n12345 Lummerstadt\n\nGERMANIA"
(invoke "ctest" "-E"
- "(kcontacts-addresstest|kcontacts-emailtest|kcontacts-phonenumbertest|kcontacts-soundtest|kcontacts-secrecytest|kcontacts-geotest|kcontacts-keytest|kcontacts-testroundtrip|kcontacts-impptest|kcontacts-birthdaytest|kcontacts-addresseetest)")))))))
+ "(kcontacts-testroundtrip|kcontacts-addresstest)")))))))
(home-page "https://community.kde.org/Frameworks")
(synopsis "API for contacts/address book data following the vCard standard")
(description "This library provides a vCard data model, vCard
--
2.37.2
From 3b291496612b09a68fd364d11e7d6748f8772cbd Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 26 Aug 2022 06:12:31 +0200
Subject: [PATCH 50/81] gnu: Add discover.

* gnu/packages/kde-plasma.scm (discover): New variable.

Toggle diff (52 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 6365578439..45bad2966e 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -126,6 +126,45 @@ (define-public breeze-gtk
(license (list license:bsd-3 ;cmake/FindSass.cmake
license:lgpl2.1+)))) ;<all other files>
+(define-public discover
+ (package
+ (name "discover")
+ (version "5.25.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/"
+ version
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "154sjr7c8dwlf1m22vh3wqiyfii8xpmxmfrf36i9r0xyb0zb5zg6"))))
+ (build-system qt-build-system)
+ (native-inputs (list extra-cmake-modules pkg-config))
+ (inputs (list kcoreaddons
+ kconfig
+ kcrash
+ kdbusaddons
+ ki18n
+ karchive
+ kxmlgui
+ kirigami
+ kuserfeedback
+ knotifications
+ kio
+ kdeclarative
+ kcmutils
+ kidletime
+ qtdeclarative-5))
+ (synopsis "KDE and Plasma resources management GUI")
+ (description "This package provides a way to find and install applications,
+games, and tools.")
+ (home-page "https://invent.kde.org/plasma/discover")
+ (license (list license:gpl2 license:gpl3))))
+
(define-public drkonqi
(package
(name "drkonqi")
--
2.37.2
From 8f33b33e6f9d26896f1983a0860066b17defa60c Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 26 Aug 2022 07:09:44 +0200
Subject: [PATCH 20/81] gnu: Add kmenuedit.

* gnu/packages/kde-plasma.scm (kmenuedit): New variable.

Toggle diff (45 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 0e19f416eb..b02f6dd27e 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -139,6 +139,38 @@ (define-public kdecoration
manager which re-parents a Client window to a window decoration frame.")
(license license:lgpl3+)))
+(define-public kmenuedit
+ (package
+ (name "kmenuedit")
+ (version "5.25.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/"
+ version
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "1y3ml4jscb28nvadh7iq2y240qifv71dv2nkd32i69h52xdrvz27"))))
+ (build-system qt-build-system)
+ (native-inputs (list extra-cmake-modules kdoctools))
+ (inputs (list ki18n
+ kxmlgui
+ kdbusaddons
+ kiconthemes
+ kio
+ kitemviews
+ sonnet
+ kglobalaccel
+ kwindowsystem))
+ (synopsis "Menu Editor for Plasma Workspaces")
+ (description "This package provides menu editor for Plasma Workspaces.")
+ (home-page "https://invent.kde.org/plasma/kmenuedit")
+ (license license:gpl2+)))
+
(define-public kscreen
(package
(name "kscreen")
--
2.37.2
From 089623c2bb6d7780b967fd42e4d501a2cb1a9744 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Tue, 23 Aug 2022 20:14:58 +0200
Subject: [PATCH 41/81] gnu: Add plasma-integration.

* gnu/packages/kde-plasma.scm (plasma-integration): New variable.

Toggle diff (70 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 08d3742e89..e5fe09bf92 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -739,6 +739,63 @@ (define-public plasmatube
on QtMultimedia and @command{yt-dlp}.")
(license license:gpl3+)))
+(define-public plasma-integration
+ (package
+ (name "plasma-integration")
+ (version "5.25.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/"
+ version
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "1cbcp722pzbfiqfl5rcw6py74jbxg83k96kdx2m0g3ix1f0dmkbi"))))
+ (build-system qt-build-system)
+ (arguments
+ (list #:tests? #f ;Failing tests
+ #:phases #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (setenv "HOME"
+ (getcwd))
+ (setenv "XDG_RUNTIME_DIR"
+ (getcwd))
+ (setenv "XDG_CACHE_HOME"
+ (getcwd))
+ (setenv "QT_QPA_PLATFORM" "offscreen")
+ (invoke "ctest" "-E"
+ "(frameworkintegration-kdeplatformtheme_unittest|frameworkintegration-kfontsettingsdata_unittest|frameworkintegration-kfiledialog_unittest|qmltests|frameworkintegration-kfiledialogqml_unittest")))))))
+ (native-inputs (list extra-cmake-modules pkg-config))
+ (inputs (list breeze
+ kconfig
+ kio
+ ki18n
+ kwidgetsaddons
+ kconfigwidgets
+ kiconthemes
+ knotifications
+ libxcb
+ libxcursor
+ plasma-wayland-protocols
+ qtdeclarative-5
+ qtquickcontrols2-5
+ qtwayland
+ qtx11extras
+ wayland))
+ (home-page "https://invent.kde.org/plasma/plasma-integration")
+ (synopsis
+ "Qt Platform Theme integration plugins for the Plasma workspaces")
+ (description
+ "This package provides a set of plugins responsible for better
+integration of Qt applications when running on a KDE Plasma workspace.")
+ (license license:lgpl2.0)))
+
(define-public plasma-nm
(package
(name "plasma-nm")
--
2.37.2
From 60b6e08cc04ae8698803f320bd3dbf8f403d9038 Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <mail@brendan.scot>
Date: Wed, 2 Mar 2022 08:29:54 +1100
Subject: [PATCH 24/81] gnu: Add libaccounts-glib.

* gnu/packages/glib.scm (libaccounts-glib): New variable.

Toggle diff (89 lines)
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 61040c91e7..30dd3ee72e 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -17,6 +17,7 @@
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020 Arthur Margerit <ruhtra.mar@gmail.com>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
+;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -67,6 +68,7 @@ (define-module (gnu packages glib)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages sqlite)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
@@ -76,6 +78,7 @@ (define-module (gnu packages glib)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
@@ -758,6 +761,58 @@ (define dbus-glib
by GDBus included in Glib.")
(license license:gpl2))) ; or Academic Free License 2.1
+(define-public libaccounts-glib
+ (package
+ (name "libaccounts-glib")
+ (version "1.25")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/accounts-sso/libaccounts-glib")
+ (commit (string-append version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "19rhk9f97m736d5ia26vfcbjp5kgi454558yhf9mrwm4iw5d9pk4"))))
+ (build-system meson-build-system)
+ (native-inputs (list dbus
+ `(,glib "bin")
+ gobject-introspection
+ gtk-doc
+ pkg-config
+ vala))
+ (inputs (list check python python-pygobject))
+ (propagated-inputs (list glib libxml2 sqlite))
+ (arguments
+ (list #:tests? #f ;one test fails.
+ #:imported-modules `((guix build python-build-system)
+ ,@%meson-build-system-modules)
+ #:modules '(((guix build python-build-system)
+ #:select (python-version))
+ (guix build meson-build-system)
+ (guix build utils))
+ ;; don't try installing to python store path.
+ #:configure-flags #~(list (string-append "-Dpy-overrides-dir="
+ #$output "/lib/python"
+ (python-version #$(this-package-input
+ "python"))
+ "/site-packages/gi/overrides"))
+ #:phases #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "dbus-run-session" "--" "meson" "test"
+ "--print-errorlogs")))))))
+ (home-page "https://accounts-sso.gitlab.io/")
+ (synopsis "Accounts SSO (Single Sign-On) management library for GLib
+applications")
+ (description
+ "Accounts SSO is a framework for application developers who
+wish to acquire, use and store web account details and credentials. It
+handles the authentication process of an account and securely stores the
+credentials and service-specific settings.")
+ (license license:lgpl2.1+)))
+
(define libsigc++
(package
(name "libsigc++")
--
2.37.2
From a1492ac1563adc5a50101b9c956dddb868524fb5 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Mon, 12 Sep 2022 05:25:02 +0200
Subject: [PATCH 49/81] gnu: Add packagekit-qt5.

* gnu/packages/qt.scm (packagekit-qt5): New variable.

Toggle diff (38 lines)
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index aa3f12ca14..c44017203e 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -4329,6 +4329,31 @@ (define-public libsignon-glib
GLib applications.")
(license license:lgpl2.1+)))
+(define-public packagekit-qt5
+ (package
+ (name "packagekit-qt5")
+ (version "1.0.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hughsie/PackageKit-Qt")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1d20r503msw1vix3nb6a8bmdqld7fj8k9jk33bkqsc610a2zsms6"))))
+ (build-system cmake-build-system)
+ (arguments
+ '(#:tests? #f)) ; no test suite
+ (native-inputs (list pkg-config))
+ (inputs (list packagekit qtbase-5))
+ (home-page "https://www.freedesktop.org/software/PackageKit/pk-intro.html")
+ (synopsis "Qt5 bindings for PackageKit")
+ (description "Provides Qt5 bindings to PackageKit which is a DBUS
+abstraction layer that allows the session user to manage packages in
+a secure way.")
+ (license license:lgpl2.1+)))
+
(define-public signond
(package
(name "signond")
--
2.37.2
From aedc2e5f3dd300b6035330f5d2b1ac46a5e37992 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Wed, 10 Aug 2022 01:20:21 +0200
Subject: [PATCH 35/81] gnu: Add latte-dock.

* gnu/packages/kde-plasma.scm (latte-dock): New variable.

Toggle diff (55 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 9f91712b42..f6d8799412 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -277,6 +277,48 @@ (define-public ksshaskpass
call it if it is not associated to a terminal.")
(license license:gpl2+)))
+(define-public latte-dock
+ (package
+ (name "latte-dock")
+ (version "0.10.8")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/latte-dock/"
+ "latte-dock-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0ali9i0y0y1c5mdaps5ybhk4nqvzzs5jq27wj8rg8xxqjyfvbah0"))))
+ (build-system cmake-build-system)
+ (native-inputs (list extra-cmake-modules))
+ (inputs (list qtbase-5
+ qtdeclarative-5
+ knotifications
+ kwindowsystem
+ kio
+ plasma-framework
+ kwayland
+ kactivities
+ kcrash
+ kiconthemes
+ knewstuff
+ karchive
+ kguiaddons
+ kdbusaddons
+ kglobalaccel
+ kirigami
+ ki18n
+ kdeclarative
+ kcoreaddons
+ xcb-util
+ qtx11extras
+ libsm))
+ (synopsis "Latte is a dock based on plasma frameworks")
+ (description
+ "Latte is a dock based on plasma frameworks that provides
+an elegant and intuitive experience for your tasks and plasmoids.")
+ (home-page "https://github.com/KDE/latte-dock")
+ (license license:gpl2+)))
+
(define-public layer-shell-qt
(package
(name "layer-shell-qt")
--
2.37.2
From fc541c20b0e670426d16ae153aefddb44f3ea5f4 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Mon, 29 Aug 2022 00:13:36 +0200
Subject: [PATCH 76/81] gnu: Add plasma-nano.

* gnu/packages/kde-plasma.scm (plasma-nano): New variable.

Toggle diff (37 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 66d29d3898..44f5592eb9 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -1750,6 +1750,30 @@ (define-public plasma-integration
integration of Qt applications when running on a KDE Plasma workspace.")
(license license:lgpl2.0)))
+(define-public plasma-nano
+ (package
+ (name "plasma-nano")
+ (version "5.24.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://download.kde.org/stable/plasma/"
+ version "/plasma-nano-" version ".tar.xz"))
+ (sha256
+ (base32
+ "13jxhfi3c3dhg7zdyfqnsii661h1am0w9dsv82dalqvwr1mw28l5"))))
+ (build-system cmake-build-system)
+ (native-inputs (list extra-cmake-modules pkg-config qttools))
+ (inputs (list qtbase-5
+ qtdeclarative-5
+ plasma-framework
+ kwindowsystem
+ kwayland
+ ki18n))
+ (home-page "https://plasma-mobile.org/")
+ (synopsis "Minimal Plasma Shell package")
+ (description "This package provides minimal implementation of Plasma Shell.")
+ (license license:lgpl2.0+)))
+
(define-public plasma-nm
(package
(name "plasma-nm")
--
2.37.2
From f7fe1dc45261562df968caf01d59f6de1239c36b Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Sun, 30 Jan 2022 10:56:07 +0100
Subject: [PATCH 77/81] gnu: Add plasma-phone-components.

* gnu/packages/kde-plasma.scm (plasma-phone-components): New variable.

Toggle diff (70 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 44f5592eb9..e63722472b 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -57,6 +57,7 @@ (define-module (gnu packages kde-plasma)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages linux)
#:use-module (gnu packages maths)
+ #:use-module (gnu packages messaging)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages pkg-config)
@@ -1885,6 +1886,55 @@ (define-public plasma-pass
(description "Provides Plasma applet for the Pass password manager.")
(license license:lgpl2.1+)))
+(define-public plasma-phone-components
+ (package
+ (name "plasma-phone-components")
+ (version "5.23.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/" version
+ "/plasma-phone-components-" version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "0ml5pyi90nlmx5550sf3x9263f8mypj4jmdskzabzhnz44ck8vy9"))))
+ (build-system cmake-build-system)
+ (native-inputs (list extra-cmake-modules pkg-config qttools))
+ (inputs (list qtbase-5
+ qtdeclarative
+ kactivities
+ kauth
+ kbookmarks
+ kwin
+ kcodecs
+ kcompletion
+ kconfig
+ kconfigwidgets
+ kcoreaddons
+ kdbusaddons
+ kdeclarative
+ ki18n
+ kio
+ kitemviews
+ kjobwidgets
+ knotifications
+ kpackage
+ kpeople
+ kservice
+ kwayland
+ kwidgetsaddons
+ kwindowsystem
+ kxmlgui
+ libphonenumber
+ modemmanager-qt
+ plasma-framework
+ solid))
+ (home-page "https://plasma-mobile.org/")
+ (synopsis "Modules providing phone functionality for Plasma")
+ (description "This package provides user-friendly, privacy-enabling
+and customizable platform for mobile devices.")
+ (license (list license:gpl3+ license:lgpl2.1+))))
+
(define-public plasma-vault
(package
(name "plasma-vault")
--
2.37.2
From 347ef34e21cb6c317030014f4744dc6c826c257c Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 26 Aug 2022 06:20:06 +0200
Subject: [PATCH 22/81] gnu: Add kactivitymanagerd.

* gnu/packages/kde-plasma.scm (kactivitymanagerd): New variable.

Toggle diff (55 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index b02f6dd27e..dd4e148e42 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -32,6 +32,7 @@ (define-module (gnu packages kde-plasma)
#:use-module (guix build-system cmake)
#:use-module (guix build-system qt)
#:use-module (gnu packages admin)
+ #:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib)
@@ -116,6 +117,40 @@ (define-public breeze-gtk
(license (list license:bsd-3 ;cmake/FindSass.cmake
license:lgpl2.1+)))) ;<all other files>
+(define-public kactivitymanagerd
+ (package
+ (name "kactivitymanagerd")
+ (version "5.25.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/"
+ version
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "1cpz08jkmxw9576h9mkn15vwg3bxgk8k6w4f38rkiasxzj6zfamd"))))
+ (build-system qt-build-system)
+ (native-inputs (list extra-cmake-modules))
+ (inputs (list kconfig
+ kcoreaddons
+ kwindowsystem
+ kglobalaccel
+ kio
+ kxmlgui
+ kdbusaddons
+ ki18n
+ kcrash
+ boost))
+ (synopsis "System service to manage user's activities")
+ (description "This package provides components for managing the KDE Activity
+concept.")
+ (home-page "https://invent.kde.org/plasma/kactivitymanagerd")
+ (license (list license:gpl2 license:gpl3))))
+
(define-public kdecoration
(package
(name "kdecoration")
--
2.37.2
From 219960516b961fd6257a450ad29e519ec8053bd4 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 26 Aug 2022 05:54:06 +0200
Subject: [PATCH 46/81] gnu: Add drkonqi.

* gnu/packages/kde-plasma.scm (drkonqi): New variable.

Toggle diff (58 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 954a4e7223..6365578439 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -126,6 +126,51 @@ (define-public breeze-gtk
(license (list license:bsd-3 ;cmake/FindSass.cmake
license:lgpl2.1+)))) ;<all other files>
+(define-public drkonqi
+ (package
+ (name "drkonqi")
+ (version "5.25.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/"
+ version
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "06na44x22bxd94r24xkzc373d0rhmv6l1awfq0bzh9cxpy8yg3f4"))))
+ (build-system qt-build-system)
+ (arguments
+ (list #:phases #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "ctest" "-E" "connectiontest")))))))
+ (native-inputs (list extra-cmake-modules))
+ (inputs (list ki18n
+ kcoreaddons
+ kconfig
+ kservice
+ kdeclarative
+ kjobwidgets
+ kio
+ kcrash
+ kcompletion
+ kwidgetsaddons
+ kwallet
+ knotifications
+ kidletime
+ kwindowsystem
+ ksyntaxhighlighting
+ qtdeclarative-5))
+ (synopsis "Crash handler for KDE software")
+ (description "This package provides an automatic handler for crashed apps.")
+ (home-page "https://invent.kde.org/plasma/drkonqi")
+ (license license:gpl2+)))
+
(define-public kactivitymanagerd
(package
(name "kactivitymanagerd")
--
2.37.2
From b4703b8e573727a64354fbe274ed8f6801b06612 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 26 Aug 2022 06:29:52 +0200
Subject: [PATCH 68/81] gnu: Add kde-cli-tools.

* gnu/packages/kde-plasma.scm (kde-cli-tools): New variable.

Toggle diff (56 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index d4a397cae2..3cb8f3854e 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -345,6 +345,49 @@ (define-public kdecoration
manager which re-parents a Client window to a window decoration frame.")
(license license:lgpl3+)))
+(define-public kde-cli-tools
+ (package
+ (name "kde-cli-tools")
+ (version "5.25.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/"
+ version
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "00p6vm9qw871hjclvw21nh93dq60r1ylb95hscx917gfx42dan8x"))))
+ (build-system qt-build-system)
+ (arguments
+ (list #:tests? #f ;TODO: Failing test
+ #:phases #~(modify-phases %standard-phases
+ (add-before 'check 'setup-env
+ (lambda* _
+ (setenv "XDG_RUNTIME_DIR"
+ (getcwd)))))))
+ (native-inputs (list extra-cmake-modules))
+ (inputs (list kconfig
+ kdoctools
+ kiconthemes
+ ki18n
+ kcmutils
+ kio
+ kservice
+ kwindowsystem
+ kactivities
+ kparts
+ plasma-workspace
+ qtsvg-5))
+ (synopsis "Tools for KDE to better interact with the system")
+ (description "This package provides tools based on KDE Frameworks 5
+to better interact with the system.")
+ (home-page "https://invent.kde.org/plasma/kde-cli-tools")
+ (license license:lgpl2.0+)))
+
(define-public kinfocenter
(package
(name "kinfocenter")
--
2.37.2
From 81e4cd948a9f02677fca2c3a0a5b1e7fc6706741 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 26 Aug 2022 07:04:39 +0200
Subject: [PATCH 67/81] gnu: Add kinfocenter.

* gnu/packages/kde-plasma.scm (kinfocenter): New variable.

Toggle diff (82 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index c9645454df..d4a397cae2 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -59,6 +59,8 @@ (define-module (gnu packages kde-plasma)
#:use-module (gnu packages python)
#:use-module (gnu packages video)
#:use-module (gnu packages vpn)
+ #:use-module (gnu packages vulkan)
+ #:use-module (gnu packages textutils)
#:use-module (gnu packages qt)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)
@@ -343,6 +345,66 @@ (define-public kdecoration
manager which re-parents a Client window to a window decoration frame.")
(license license:lgpl3+)))
+(define-public kinfocenter
+ (package
+ (name "kinfocenter")
+ (version "5.25.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/"
+ version
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "0ns2xsqghglg4ikq7w556y1kh20gs677km1vs0paw50xhi7jzbd2"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-systemsettings-symlink
+ (lambda* _
+ (substitute* "CMakeLists.txt"
+ (("\\$\\{KDE_INSTALL_FULL_BINDIR\\}/systemsettings5")
+ (string-append #$system-settings
+ "/bin/systemsettings5"))))))))
+ (native-inputs (list aha extra-cmake-modules kdoctools pkg-config))
+ ;; * vulkaninfo
+ ;; * wayland-info, <https://gitlab.freedesktop.org/wayland/wayland-utils>
+ ;; Wayland KCM
+ ;; * eglinfo
+ (inputs (list dmidecode
+ ;; fwupdmgr
+ kconfig
+ kconfigwidgets
+ kcoreaddons
+ kirigami
+ ki18n
+ kcmutils
+ kio
+ kservice
+ solid
+ kwidgetsaddons
+ kdeclarative
+ kpackage
+ kwayland
+ mesa-utils
+ pciutils
+ solid
+ util-linux
+ vulkan-tools
+ plasma-framework
+ qtbase-5
+ xdpyinfo))
+ (propagated-inputs (list system-settings))
+ (home-page "https://invent.kde.org/plasma/kinfocenter")
+ (synopsis "View information about computer's hardware")
+ (description "This package provides tool to view information about
+computer's hardware.")
+ (license (list license:gpl2 license:gpl3))))
+
(define-public kmenuedit
(package
(name "kmenuedit")
--
2.37.2
From bdd258cdde87324cb65153f8be0857346950c1e1 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 26 Aug 2022 08:07:54 +0200
Subject: [PATCH 43/81] gnu: Add plasma-disks.

* gnu/packages/kde-plasma.scm (plasma-disks): New variable.

Toggle diff (46 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index d420df1c9a..6903109e05 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -741,6 +741,39 @@ (define-public plasmatube
on QtMultimedia and @command{yt-dlp}.")
(license license:gpl3+)))
+(define-public plasma-disks
+ (package
+ (name "plasma-disks")
+ (version "5.25.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/"
+ version
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "04hs8jg7f5bm5rjcb6i6zidyamq6cfry5sm5mj6hqdj0qmn9i396"))))
+ (build-system qt-build-system)
+ (native-inputs (list extra-cmake-modules))
+ (inputs (list kcoreaddons
+ kdbusaddons
+ knotifications
+ ki18n
+ solid
+ kservice
+ kio
+ kauth
+ kdeclarative
+ smartmontools))
+ (synopsis "Monitors S.M.A.R.T. capable devices for imminent failure")
+ (description "This package provides intrface to S.M.A.R.T. data of disks.")
+ (home-page "https://invent.kde.org/plasma/plasma-disks")
+ (license (list license:gpl2 license:gpl3))))
+
(define-public plasma-integration
(package
(name "plasma-integration")
--
2.37.2
From c7118c2f34c227c567b6db4ed8a03e07c9950780 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Tue, 23 Aug 2022 15:42:30 +0200
Subject: [PATCH 39/81] gnu: Add plasma-pass.

* gnu/packages/kde-plasma.scm (plasma-pass): New variable.

Toggle diff (47 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 5273402553..ff77c37cc8 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -34,6 +34,8 @@ (define-module (gnu packages kde-plasma)
#:use-module (guix build-system qt)
#:use-module (gnu packages admin)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages authentication)
+ #:use-module (gnu packages bash)
#:use-module (gnu packages compression)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib)
@@ -734,6 +736,31 @@ (define-public plasmatube
on QtMultimedia and @command{yt-dlp}.")
(license license:gpl3+)))
+(define-public plasma-pass
+ (package
+ (name "plasma-pass")
+ (version "1.2.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/"
+ name
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "107pd6cnkd46px83pm3q7vbw10g5pd0qsw77jmr0c774k4xv1w01"))))
+ (build-system qt-build-system)
+ (native-inputs (list extra-cmake-modules))
+ (inputs (list ki18n kitemmodels kwindowsystem oath-toolkit qtdeclarative-5))
+ (propagated-inputs (list plasma-framework))
+ (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.")
+ (license license:lgpl2.1+)))
+
(define-public plasma-vault
(package
(name "plasma-vault")
--
2.37.2
From 6a70ade51281da4afe2ca71a60390cfdcc70a1bb Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 1 Apr 2022 23:00:37 +0200
Subject: [PATCH 62/81] gnu: Add kwin-effects-yet-another-magic-lamp.

* gnu/packages/kde-frameworks.scm (kwin-effects-yet-another-magic-lamp): New
variable.

Toggle diff (42 lines)
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 27c0ac3b8b..9f3854db6b 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -1579,6 +1579,35 @@ (define-public threadweaver
uses a job-based interface to queue tasks and execute them in an efficient way.")
(license license:lgpl2.1+)))
+(define-public kwin-effects-yet-another-magic-lamp
+ (package
+ (name "kwin-effects-yet-another-magic-lamp")
+ (version "5.24.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url
+ "https://github.com/zzag/kwin-effects-yet-another-magic-lamp")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0aggi3p10kaa8lann0j7cp2g76qh83s1r7akjcjc2y4anv0asz68"))))
+ (build-system cmake-build-system)
+ (native-inputs (list extra-cmake-modules pkg-config))
+ (inputs (list qtbase-5
+ kwindowsystem
+ kconfigwidgets
+ kcoreaddons
+ kconfig
+ kwin
+ libepoxy))
+ (home-page "https://github.com/zzag/kwin-effects-yet-another-magic-lamp")
+ (synopsis "Just Yet Another Magic Lamp Kwin plugin")
+ (description "This package provides a window minimization effect
+for KWin. Whenever a window is minimized, it'll get sucked down into
+the dock/panel.")
+ (license license:gpl2+)))
;; Tier 2
;;
--
2.37.2
From a79fcf2bc891649acd9c55a6165914057629b0a3 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Tue, 23 Aug 2022 20:33:15 +0200
Subject: [PATCH 42/81] gnu: Add plasma-pa.

* gnu/packages/kde-plasma.scm (plasma-pa): New variable.

Toggle diff (58 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index e5fe09bf92..d420df1c9a 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -43,8 +43,10 @@ (define-module (gnu packages kde-plasma)
#:use-module (gnu packages gtk)
#:use-module (gnu packages kde)
#:use-module (gnu packages kde-frameworks)
+ #:use-module (gnu packages libcanberra)
#:use-module (gnu packages linux)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages video)
#:use-module (gnu packages vpn)
@@ -848,6 +850,40 @@ (define-public plasma-nm
connections.")
(license (list license:lgpl2.1 license:lgpl3))))
+(define-public plasma-pa
+ (package
+ (name "plasma-pa")
+ (version "5.25.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/"
+ version
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "0v92jk826jj2kf11hlxh3xrxl9nsj6835ik2pmb192xbn6gpb4lm"))))
+ (build-system qt-build-system)
+ (native-inputs (list extra-cmake-modules kdoctools pkg-config))
+ (inputs (list glib
+ kcoreaddons
+ kdeclarative
+ kglobalaccel
+ knotifications
+ kwindowsystem
+ kirigami
+ ki18n
+ qtdeclarative-5))
+ (propagated-inputs (list libcanberra pulseaudio plasma-framework))
+ (home-page "https://invent.kde.org/plasma/plasma-pa")
+ (synopsis "Plasma applet for audio volume management using PulseAudio")
+ (description
+ "Provide Plasma applet for audio volume management using PulseAudio")
+ (license (list license:lgpl2.1 license:lgpl3))))
+
(define-public plasma-pass
(package
(name "plasma-pass")
--
2.37.2
From 05363d837e133e06af9eb624f6205e9b53f36f9e Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <mail@brendan.scot>
Date: Sat, 5 Mar 2022 11:46:47 +1100
Subject: [PATCH 28/81] gnu: Add libaccounts-qt.

* gnu/packages/qt.scm (libaccounts-qt): New variable.

Toggle diff (57 lines)
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 7d27ff5e45..c0e79e268a 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -25,6 +25,7 @@
;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
;;; Copyright © 2022 Foo Chuan Wei <chuanwei.foo@hotmail.com>
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
+;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -4234,6 +4235,42 @@ (define-public kdsoap
web server.")
(license (list license:gpl2 license:gpl3))))
+(define-public libaccounts-qt
+ (package
+ (name "libaccounts-qt")
+ (version "1.16")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/accounts-sso/libaccounts-qt")
+ (commit (string-append "VERSION_" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1vmpjvysm0ld8dqnx8msa15hlhrkny02cqycsh4k2azrnijg0xjz"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:tests? #f
+ #:phases #~(modify-phases %standard-phases
+ (replace 'configure
+ (lambda _
+ (substitute* "tests/tst_libaccounts.pro"
+ (("QMAKE_RPATHDIR = \\$\\$\\{QMAKE_LIBDIR\\}")
+ (string-append "QMAKE_RPATHDIR ="
+ #$output "/lib")))
+ (invoke "qmake"
+ (string-append "PREFIX="
+ #$output)
+ (string-append "LIBDIR="
+ #$output "/lib")))))))
+ ;; * SignOnQt5 (required version >= 8.55), D-Bus service which performs user authentication on behalf of its clients, <https://gitlab.com/accounts-sso/signond>
+ (native-inputs (list doxygen pkg-config qtbase-5 qttools-5))
+ (inputs (list glib signond libaccounts-glib))
+ (home-page "https://accounts-sso.gitlab.io/")
+ (synopsis "Qt5 bindings for libaccounts-glib")
+ (description #~(package-description libaccounts-glib))
+ (license license:lgpl2.1+)))
+
(define-public signond
(package
(name "signond")
--
2.37.2
From b98ea9efbdb3cb9c47d6d8aa1895ad1d3df83b33 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Tue, 23 Aug 2022 20:13:56 +0200
Subject: [PATCH 40/81] gnu: Add plasma-nm.

* gnu/packages/kde-plasma.scm (plasma-nm): New variable.

Toggle diff (81 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index ff77c37cc8..08d3742e89 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -39,12 +39,15 @@ (define-module (gnu packages kde-plasma)
#:use-module (gnu packages compression)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib)
+ #:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages kde)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages linux)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages video)
+ #:use-module (gnu packages vpn)
#:use-module (gnu packages qt)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)
@@ -736,6 +739,58 @@ (define-public plasmatube
on QtMultimedia and @command{yt-dlp}.")
(license license:gpl3+)))
+(define-public plasma-nm
+ (package
+ (name "plasma-nm")
+ (version "5.25.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/"
+ version
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "147p572pmkrgg52pvwhzs8lvxy3rs8y622n9lj7hjc6hrlh14qk2"))))
+ (build-system qt-build-system)
+ (arguments
+ (list #:phases #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "ctest" "-E" "mobileproviderstest")))))))
+ (native-inputs (list extra-cmake-modules pkg-config))
+ (home-page "https://invent.kde.org/plasma/plasma-nm")
+ (inputs (list kconfigwidgets
+ kcompletion
+ kcoreaddons
+ kdeclarative
+ kdbusaddons
+ kio
+ ki18n
+ knetworkmanager
+ knotifications
+ kirigami
+ plasma-framework
+ modemmanager-qt
+ network-manager
+ qca
+ kservice
+ solid
+ prison
+ kwallet
+ kwidgetsaddons
+ kwindowsystem
+ openconnect
+ qtdeclarative-5))
+ (synopsis "Plasma applet written in QML for managing network connections")
+ (description "Provide Plasma applet written in QML for managing network
+connections.")
+ (license (list license:lgpl2.1 license:lgpl3))))
+
(define-public plasma-pass
(package
(name "plasma-pass")
--
2.37.2
From 53968a5518abfa3a489b9dfc69b2a57924e9cc0e Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Tue, 23 Aug 2022 10:39:35 +0200
Subject: [PATCH 63/81] gnu: Add plasma-workspace-wallpapers.

* gnu/packages/kde-plasma.scm (plasma-workspace-wallpapers): New variable.

Toggle diff (36 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index bf92351481..9ef70a85d5 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -1482,6 +1482,29 @@ (define-public plasma-systemmonitor
(home-page "https://invent.kde.org/plasma/plasma-systemmonitor")
(license (list license:gpl2 license:gpl3))))
+(define-public plasma-workspace-wallpapers
+ (package
+ (name "plasma-workspace-wallpapers")
+ (version "5.25.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/"
+ version
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "1vjrfmzib17cb9r2q17rv4zmnqsk5mf55vy8kzx71djjif7gaqiy"))))
+ (build-system cmake-build-system)
+ (native-inputs (list extra-cmake-modules))
+ (home-page "https://community.kde.org/Frameworks")
+ (synopsis "Oxygen provides the standard wallpapers for the KDE desktop")
+ (description "This package provides Wallpapers for the KDE desktop.")
+ (license license:lgpl3+)))
+
(define-public polkit-kde-agent
(package
(name "polkit-kde-agent")
--
2.37.2
From c17e20fe8ddf2dbb18aa47c5c908f0d9e2e8e439 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 26 Aug 2022 09:58:25 +0200
Subject: [PATCH 56/81] gnu: Add xdg-desktop-portal-kde.

* gnu/packages/freedesktop.scm (xdg-desktop-portal-kde): New variable.

Toggle diff (78 lines)
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 08fea2ad78..1a04974dbc 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -61,6 +61,7 @@ (define-module (gnu packages freedesktop)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix build-system glib-or-gtk)
+ #:use-module (guix build-system qt)
#:use-module (gnu packages)
#:use-module (gnu packages acl)
#:use-module (gnu packages admin)
@@ -73,6 +74,7 @@ (define-module (gnu packages freedesktop)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages cryptsetup)
+ #:use-module (gnu packages cups)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages disk)
@@ -92,6 +94,7 @@ (define-module (gnu packages freedesktop)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
+ #:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages language)
#:use-module (gnu packages libffi)
#:use-module (gnu packages libunwind)
@@ -2557,6 +2560,47 @@ (define-public xdg-desktop-portal-gtk
interfaces.")
(license license:lgpl2.1+)))
+(define-public xdg-desktop-portal-kde
+ (package
+ (name "xdg-desktop-portal-kde")
+ (version "5.25.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/"
+ version
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "13gva3mci9gawlxpw4ymdma8w6lc2b3y8z36699kmzli4vib214g"))))
+ (build-system qt-build-system)
+ (native-inputs (list extra-cmake-modules pkg-config))
+ (inputs (list cups
+ kcoreaddons
+ kconfig
+ ki18n
+ kdeclarative
+ kio
+ kirigami
+ knotifications
+ plasma-framework
+ plasma-wayland-protocols
+ kwayland
+ kwidgetsaddons
+ kwindowsystem
+ kiconthemes
+ qtdeclarative-5
+ qtwayland
+ wayland))
+ (synopsis "Backend implementation for xdg-desktop-portal using Qt/KF5")
+ (description "This package provides a backend implementation
+for xdg-desktop-portal that is using Qt/KF5.")
+ (home-page "https://invent.kde.org/plasma/xdg-desktop-portal-kde")
+ (license license:lgpl2.0+)))
+
(define-public xdg-desktop-portal-wlr
(package
(name "xdg-desktop-portal-wlr")
--
2.37.2
From 06150f4eb4f0e68e381bdbac0cb95ff92ad02853 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Tue, 23 Aug 2022 21:35:17 +0200
Subject: [PATCH 74/81] gnu: Add plasma meta-package.

* gnu/packages/kde-plasma.scm (plasma): New variable.

Toggle diff (105 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index d9f77f0a26..66d29d3898 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -31,12 +31,15 @@ (define-module (gnu packages kde-plasma)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix gexp)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system copy)
+ #:use-module (guix build-system trivial)
#:use-module (guix build-system qt)
#:use-module (gnu packages admin)
#:use-module (gnu packages boost)
#:use-module (gnu packages authentication)
#:use-module (gnu packages bash)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages display-managers)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages ghostscript)
@@ -49,12 +52,15 @@ (define-module (gnu packages kde-plasma)
#:use-module (gnu packages iso-codes)
#:use-module (gnu packages kde)
#:use-module (gnu packages kde-frameworks)
+ #:use-module (gnu packages kde-pim)
+ ;#:use-module ((gnu packages kde-systemtools) #:select (konsole))
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages linux)
#:use-module (gnu packages maths)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages polkit)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages video)
@@ -1309,6 +1315,66 @@ (define-public oxygen-sounds
(description "This package provides Oxygen sounds for the KDE desktop.")
(license license:lgpl3+)))
+(define-public plasma
+ (package
+ (name "plasma")
+ (version "5.25.4")
+ (source #f)
+ (build-system trivial-build-system)
+ (arguments
+ (list #:builder #~(begin
+ (mkdir #$output))))
+ (propagated-inputs (list bluedevil
+ breeze
+ ;; breeze-gtk
+ discover
+ drkonqi
+ kactivitymanagerd
+ kde-cli-tools
+ ;; kde-gtk-config
+ kdecoration
+ kdeplasma-addons
+ kgamma
+ khotkeys
+ kinfocenter
+ kmenuedit
+ kscreen
+ kscreenlocker
+ ksshaskpass
+ ksystemstats
+ kwallet-pam
+ kwayland-integration
+ kwin
+ kwrited
+ kinit
+ layer-shell-qt
+ libkscreen
+ libksysguard
+ milou
+ ;; oxygen
+ oxygen-sounds
+ plasma-browser-integration
+ plasma-desktop
+ plasma-disks
+ plasma-firewall
+ plasma-integration
+ plasma-nm
+ plasma-pa
+ plasma-systemmonitor
+ ;; plasma-thunderbolt ;; waiting for bolt
+ plasma-vault
+ plasma-workspace
+ plasma-workspace-wallpapers
+ polkit-kde-agent
+ powerdevil
+ sddm
+ system-settings
+ xdg-desktop-portal-kde))
+ (synopsis "Plasma desktop")
+ (home-page "https://kde.org/plasma-desktop/")
+ (description "Meta package containing packages for Plasma Desktop")
+ (license license:gpl2+)))
+
(define-public plasmatube
(package
(name "plasmatube")
--
2.37.2
From 05d15b39f5698d8a236ca9f4057177de43336d3f Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Sun, 14 Aug 2022 01:57:34 +0200
Subject: [PATCH 27/81] gnu: Add kpublictransport.

* gnu/packages/kde-utils.scm (kpublictransport): New variable.

Toggle diff (42 lines)
diff --git a/gnu/packages/kde-utils.scm b/gnu/packages/kde-utils.scm
index b2295d184a..5ed2065012 100644
--- a/gnu/packages/kde-utils.scm
+++ b/gnu/packages/kde-utils.scm
@@ -374,6 +374,35 @@ (define-public krusader
great on your desktop.")
(license license:gpl2+)))
+(define-public kpublictransport
+ (package
+ (name "kpublictransport")
+ (version "22.04.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://kde/stable/release-service/" version
+ "/src/kpublictransport-" version ".tar.xz"))
+ (sha256
+ (base32
+ "05s8mpqn74vz1daim3qdyfg8n7b7n8f18hzcybiim4zxcy2k71rz"))))
+ (build-system qt-build-system)
+ (arguments
+ (list #:phases '(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "ctest" "-E"
+ "(mergeutiltest|departuretest|journeytest|networkconfigtest|locationhistorymodeltest|navitiaparsertest|otpparsertest|ivvassparsertest|cachetest|locationhistorymodeltest)")))))))
+ (native-inputs (list extra-cmake-modules))
+ (inputs (list zlib qtdeclarative-5))
+ (home-page "https://api.kde.org/kdepim/kpublictransport/html/index.html")
+ (synopsis "Library for accessing realtime public transport data")
+ (description
+ "This pakckage provides library for accessing realtime public
+transport data and for performing public transport journey queries.")
+ (license (list license:lgpl2.0+))))
+
(define-public kxstitch
(package
(name "kxstitch")
--
2.37.2
From a564ed1882484d24aaa50712e1967a7827c10079 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Mon, 29 Aug 2022 15:05:21 +0200
Subject: [PATCH 59/81] gnu: Add calindori.

* gnu/packages/kde-plasma.scm (kde-plasma): New variable.

Toggle diff (45 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 33b2ec5181..2826b53b9f 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -129,6 +129,38 @@ (define-public breeze-gtk
(license (list license:bsd-3 ;cmake/FindSass.cmake
license:lgpl2.1+)))) ;<all other files>
+(define-public calindori
+ (package
+ (name "calindori")
+ (version "22.06")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma-mobile/" version
+ "/calindori-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0fcbkk1yisdd6z1qvac9x6i55wfppqpdma87a0n5smm191lkjg07"))))
+ (build-system qt-build-system)
+ (native-inputs (list extra-cmake-modules))
+ (inputs (list kconfig
+ kcoreaddons
+ kdbusaddons
+ ki18n
+ kirigami
+ kcalendarcore
+ knotifications
+ kpeople
+ qtbase-5
+ qtdeclarative-5
+ qtquickcontrols2-5
+ qtsvg-5
+ qtgraphicaleffects))
+ (home-page "https://invent.kde.org/plasma-mobile/calindori")
+ (synopsis "Calendar for Plasma Mobile")
+ (description
+ "This package provides a touch friendly calendar application.")
+ (license license:gpl3+)))
+
(define-public discover
(package
(name "discover")
--
2.37.2
From c15cf15bd19c16b8f38c90151656012868aefbbc Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Tue, 23 Aug 2022 21:36:25 +0200
Subject: [PATCH 45/81] gnu: Add plasma-active-window-control.

* gnu/packages/kde-plasma.scm (plasma-active-window-control): New variable.

Toggle diff (37 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 591ce016f4..954a4e7223 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -748,6 +748,30 @@ (define-public plasmatube
on QtMultimedia and @command{yt-dlp}.")
(license license:gpl3+)))
+(define-public plasma-active-window-control
+(let ((commit "0b1c091b5662fb21917064d7809b3be8b4a8be47")
+ (revision "1"))
+ (package
+ (name "plasma-active-window-control")
+ (version "1.7.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://invent.kde.org/plasma/"
+ "plasma-active-window-control/-/archive/"commit
+ "/plasma-active-window-control-" commit ".tar.gz"))
+ (sha256
+ (base32
+ "1q1scv2x7jrda14zyaqh13aqxpxa42lysdvcfmplpr6w38gcsvlh"))))
+ (build-system qt-build-system)
+ (native-inputs (list extra-cmake-modules))
+ (inputs (list kwindowsystem libsm plasma-framework qtdeclarative-5
+ qtx11extras))
+ (home-page "https://invent.kde.org/plasma/plasma-active-window-control")
+ (synopsis "Plasma applet for controlling the currently active window")
+ (description "This package provides window control applet for the current
+active window on Plasma Desktop.")
+ (license (list license:gpl2 license:gpl3)))))
+
(define-public plasma-disks
(package
(name "plasma-disks")
--
2.37.2
From ccfed518fd18bcae0ef274badfa515e1e908b958 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 25 Mar 2022 11:38:20 +0100
Subject: [PATCH 31/81] gnu: Add maliit-framework.

* gnu/pacakges/kde-frameworks.scm (maliit-framework): New variable.

Toggle diff (71 lines)
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index fcdb0aa331..61dccb7922 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -33,6 +33,7 @@ (define-module (gnu packages kde-frameworks)
#:use-module (guix build-system qt)
#:use-module (guix build-system trivial)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
@@ -50,6 +51,7 @@ (define-module (gnu packages kde-frameworks)
#:use-module (gnu packages calendar)
#:use-module (gnu packages compression)
#:use-module (gnu packages databases)
+ #:use-module (gnu packages documentation)
#:use-module (gnu packages docbook)
#:use-module (gnu packages flex)
#:use-module (gnu packages freedesktop)
@@ -86,6 +88,7 @@ (define-module (gnu packages kde-frameworks)
#:use-module (gnu packages video)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
+ #:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)
#:use-module (srfi srfi-1))
@@ -1229,6 +1232,40 @@ (define-public kwindowsystem
;; the lgpl2.1. Some source files are under non-copyleft licenses.
(license license:lgpl2.1+)))
+(define-public maliit-framework
+ (package
+ (name "maliit-framework")
+ (version "2.3.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/maliit/framework")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1dkjxvfxg56hfy70j6ibfklfyv57jiha4vgc3ggl60r5kjx65s5b"))))
+ (build-system cmake-build-system)
+ (native-inputs (list extra-cmake-modules
+ wayland-protocols
+ pkg-config
+ doxygen
+ graphviz
+ `(,glib "bin"))) ;for gdbus-codegen))
+ (inputs (list qtbase-5
+ qtdeclarative-5
+ qtwayland
+ wayland
+ libxkbcommon
+ dbus
+ eudev
+ glib))
+ (home-page "https://github.com/maliit/framework")
+ (synopsis "Core libraries of Maliit")
+ (description "This package provides Maliit provides a flexible input
+method framework.")
+ (license license:lgpl2.1+)))
+
(define-public modemmanager-qt
(package
(name "modemmanager-qt")
--
2.37.2
From 8b8006a2981cb2209d7a75d5cbebd00dffcc197d Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 25 Mar 2022 11:37:17 +0100
Subject: [PATCH 79/81] gnu: Add plasma-mobile-settings.

* gnu/pacakges/kde-plasma.scm (plasma-mobile-settings): New variable.

Toggle diff (41 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 7ccb022bbb..e8f85dd267 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -1867,6 +1867,34 @@ (define-public plasma-mobile
customizable platform for mobile devices.")
(license (list license:gpl3+ license:lgpl2.1+))))
+(define-public plasma-mobile-settings
+ (package
+ (name "plasma-mobile-settings")
+ (version "22.02")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma-mobile/" version
+ "/plasma-settings-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0b7lj3r9z9cz2vr0h15sqqxdaa7m07hsk8i2p8nf4a3yh02ywsxy"))))
+ (build-system cmake-build-system)
+ (native-inputs (list extra-cmake-modules pkg-config))
+ (inputs (list qtbase-5
+ qtdeclarative-5
+ kio
+ modemmanager-qt
+ networkmanager-qt
+ ki18n
+ plasma-framework
+ kdeclarative
+ kdbusaddons))
+ (home-page "https://plasma-mobile.org/")
+ (synopsis "Settings application for Plasma Mobile")
+ (description
+ "This package provides Settings application for Plasma Mobile.")
+ (license license:gpl2+)))
+
(define-public plasma-pa
(package
(name "plasma-pa")
--
2.37.2
From 295ee2b95ad096979130806c038d1b025d066af3 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 26 Aug 2022 07:23:20 +0200
Subject: [PATCH 51/81] gnu: Add ksystemstats.

* gnu/packages/kde-plasma.scm (ksystemstats): New variable.

Toggle diff (57 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 45bad2966e..4db2486f6d 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -368,6 +368,50 @@ (define-public ksshaskpass
call it if it is not associated to a terminal.")
(license license:gpl2+)))
+(define-public ksystemstats
+ (package
+ (name "ksystemstats")
+ (version "5.25.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/"
+ version
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "0ray2v90vv1j1sbd7fx4x5n7s7xwlil1zynwi4pzpgnyi13zq60x"))))
+ (build-system qt-build-system)
+ (arguments
+ (list #:phases #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "ctest" "-E" "ksystemstatstest")))))))
+ (native-inputs (list extra-cmake-modules pkg-config))
+ (inputs (list glib
+ kcoreaddons
+ kdbusaddons
+ solid
+ knetworkmanager
+ kiconthemes
+ kio
+ ki18n
+ libksysguard
+ libnl
+ eudev
+ `(,lm-sensors "lib")
+ network-manager))
+ (synopsis "Plugin based system monitoring daemon")
+ (description
+ "This package provides a daemon that collects statistics about
+the running system.")
+ (home-page "https://invent.kde.org/plasma/ksystemstats")
+ (license (list license:gpl2 license:gpl3))))
+
(define-public latte-dock
(package
(name "latte-dock")
--
2.37.2
From 1beb881a50df0d6e833dcdb15caa478e400e2ba2 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Sun, 14 Aug 2022 01:56:33 +0200
Subject: [PATCH 21/81] gnu: Add kirigami-addons.

* gnu/packages/kde-frameworks.scm (kirigami-addons): New variable.

Toggle diff (37 lines)
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index ef068b9e0f..c97aaf4441 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -858,6 +858,30 @@ (define-public kirigami
of applications that follow the Kirigami Human Interface Guidelines.")
(license license:lgpl2.1+)))
+(define-public kirigami-addons
+ (package
+ (name "kirigami-addons")
+ (version "0.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://invent.kde.org/libraries/kirigami-addons/-/archive/v"
+ version "/kirigami-addons-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "1zr8dpc7bzw6g3y0jaxsr2lqlxqwlcphchpk8iah6g1f3n9fq73r"))))
+ (build-system qt-build-system)
+ (arguments
+ (list #:tests? #f)) ; failing test
+ (native-inputs (list extra-cmake-modules))
+ (inputs (list kirigami ki18n qtdeclarative-5 qtquickcontrols2-5))
+ (home-page "https://invent.kde.org/libraries/kirigami-addons")
+ (synopsis "Add-ons for the Kirigami framework")
+ (description
+ "This package provides Kirigami components usable by both touch
+and desktop experiences.")
+ (license license:lgpl2.0+)))
+
(define-public kitemmodels
(package
(name "kitemmodels")
--
2.37.2
From bb8da5482be7f54098c294dfbdcd79b885a14987 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 26 Aug 2022 06:50:41 +0200
Subject: [PATCH 69/81] gnu: Add kdeplasma-addons.

* gnu/packages/kde-plasma.scm (kdeplasma-addons): New variable.

Toggle diff (59 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 3cb8f3854e..3e302af583 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -388,6 +388,52 @@ (define-public kde-cli-tools
(home-page "https://invent.kde.org/plasma/kde-cli-tools")
(license license:lgpl2.0+)))
+(define-public kdeplasma-addons
+ (package
+ (name "kdeplasma-addons")
+ (version "5.25.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/"
+ version
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "1lgmmqr798cfxmllalgzixf3v9xbiiazbn3vkcdqxcj6cjf730c0"))))
+ (build-system qt-build-system)
+ (arguments
+ (list #:phases #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "ctest" "-E"
+ "(converterrunnertest|spellcheckrunnertest)")))))))
+ (native-inputs (list extra-cmake-modules))
+ (inputs (list karchive
+ kconfig
+ kcoreaddons
+ kdeclarative
+ kholidays
+ ki18n
+ kio
+ kcmutils
+ knotifications
+ plasma-framework
+ krunner
+ kservice
+ sonnet
+ kunitconversion
+ knewstuff
+ qtdeclarative-5))
+ (synopsis "Add-ons to improve your Plasma experience")
+ (description "Provides multiple addons for Plasma Desktop.")
+ (home-page "https://invent.kde.org/plasma/kdeplasma-addons")
+ (license license:lgpl2.0)))
+
(define-public kinfocenter
(package
(name "kinfocenter")
--
2.37.2
From d99c9cd74365579208351ca744e89cc6f8195149 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 26 Aug 2022 05:43:16 +0200
Subject: [PATCH 60/81] gnu: Add bluedevil.

* gnu/packages/kde-plasma.scm (bluedevil): New variable.

Toggle diff (48 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 2826b53b9f..cc7901daff 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -58,6 +58,41 @@ (define-module (gnu packages kde-plasma)
#:use-module (gnu packages xorg)
#:use-module (gnu packages web))
+(define-public bluedevil
+ (package
+ (name "bluedevil")
+ (version "5.25.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/"
+ version
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "1cygnmigwqx1mqynfafcypkvf9bmz05rmrfwlxsksvll8yd9xn84"))))
+ (build-system qt-build-system)
+ (native-inputs (list extra-cmake-modules pkg-config qttools-5))
+ (inputs (list kcoreaddons
+ kwidgetsaddons
+ kdbusaddons
+ knotifications
+ kwindowsystem
+ plasma-framework
+ ki18n
+ kio
+ kdeclarative
+ bluez-qt
+ shared-mime-info
+ qtdeclarative-5))
+ (synopsis "Manages the Bluetooth settings of a Plasma Shell")
+ (description "This package provides Bluetooth manager for Plasma Shell.")
+ (home-page "https://invent.kde.org/plasma/bluedevil")
+ (license (list license:lgpl2.1 license:lgpl3))))
+
(define-public breeze
(package
(name "breeze")
--
2.37.2
From 18180f9540101c82ab8e271f1fb27a0024ab248b Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Mon, 22 Aug 2022 18:13:36 +0200
Subject: [PATCH 71/81] gnu: Add powerdevil.

* gnu/packages/kde-plasma.scm (powerdevil): New variable.

Toggle diff (61 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 55862d4537..480b78b057 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -1877,6 +1877,54 @@ (define-public polkit-kde-agent
(home-page "https://invent.kde.org/plasma/polkit-kde-agent-1")
(license license:gpl2+)))
+(define-public powerdevil
+ (package
+ (name "powerdevil")
+ (version "5.25.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/"
+ version
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "1nznjxi59xc6pmyh0vainznhp9ig1ini3i87iapayawpnpf8sdxx"))))
+ (build-system qt-build-system)
+ (native-inputs (list extra-cmake-modules qttools-5 pkg-config))
+ (inputs (list bluez-qt
+ glib
+ kauth
+ kactivities
+ kscreen
+ kidletime
+ kconfig
+ kdbusaddons
+ solid
+ ki18n
+ kcrash
+ knotifyconfig
+ knetworkmanager
+ kio
+ kwayland
+ kglobalaccel
+ kcrash
+ knotifications
+ kirigami
+ libkscreen
+ network-manager
+ plasma-workspace
+ eudev
+ qtx11extras))
+ (synopsis "Manages the power consumption settings of a Plasma Shell")
+ (description "This package provides the power consumption settings
+of a Plasma shell.")
+ (home-page "https://invent.kde.org/plasma/powerdevil")
+ (license license:gpl2+)))
+
(define-public system-settings
(package
(name "system-settings")
--
2.37.2
From 8e2ebf424ec9bbc0464ba3c338b257ff50fc7fd6 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 26 Aug 2022 08:01:45 +0200
Subject: [PATCH 53/81] gnu: Add milou.

* gnu/packages/kde-plasma.scm (milou): New variable.

Toggle diff (46 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 0139707c29..df6db3bde5 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -849,6 +849,39 @@ (define-public kwrited
(description "This package provides access to system notifications.")
(license license:gpl2+)))
+(define-public milou
+ (package
+ (name "milou")
+ (version "5.25.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/"
+ version
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "17npfn7gwiqrvy5w8vzpc38c4bgkx3vjgjkm1caizn04zfk7xar7"))))
+ (build-system qt-build-system)
+ (native-inputs (list extra-cmake-modules))
+ (inputs (list kcoreaddons
+ ki18n
+ kdeclarative
+ kitemmodels
+ kservice
+ plasma-framework
+ kwindowsystem
+ krunner
+ qtdeclarative-5))
+ (synopsis "Dedicated search application built on top of Baloo")
+ (description "This package provides a dedicated search application built
+on top of Baloo.")
+ (home-page "https://invent.kde.org/plasma/milou")
+ (license (list license:gpl2+))))
+
(define-public oxygen-sounds
(package
(name "oxygen-sounds")
--
2.37.2
From 3f1abf346945332df462601a21dc88aacfdbe109 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 26 Aug 2022 10:35:53 +0200
Subject: [PATCH 58/81] gnu: breeze-gtk: Update to 5.25.4.

* gnu/packages/kde-plasma.scm (breeze-gtk): Update to 5.25.4.

Toggle diff (24 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index d353352b68..33b2ec5181 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -108,7 +108,7 @@ (define-public breeze
(define-public breeze-gtk
(package
(name "breeze-gtk")
- (version "5.19.5")
+ (version "5.25.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/plasma/"
@@ -116,7 +116,7 @@ (define-public breeze-gtk
"-" version ".tar.xz"))
(sha256
(base32
- "1j2nq9yw1ragmgwrz9f6ca4ifpi86qv1bbprdgd2qm2yh7vb44sj"))))
+ "1x9a74f2anybvgmj4yl7pzz14jckjly55sb8hhlyrd1mp2k8p4mi"))))
(build-system qt-build-system)
(arguments
'(#:tests? #f)) ;no 'test' target
--
2.37.2
From b5efc60a97f7855f2395c69fd958ab01d6ecee28 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Thu, 18 Aug 2022 01:52:33 +0200
Subject: [PATCH 25/81] gnu: Add signond.

* gnu/packages/qt.scm (signond): New variable.

Toggle diff (58 lines)
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 541e1e6c06..213ca9a942 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -4234,6 +4234,51 @@ (define-public kdsoap
web server.")
(license (list license:gpl2 license:gpl3))))
+(define-public signond
+ (package
+ (name "signond")
+ (version "8.61")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/accounts-sso/signond")
+ (commit (string-append "VERSION_" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0k6saz5spys4a4p6ws0ayrjks2gqdqvz7zfmlhdpz5axha0gbqq4"))))
+ (build-system qt-build-system)
+ (native-inputs (list doxygen pkg-config qtbase-5 qttools-5))
+ (inputs (list dbus glib libaccounts-glib))
+ (arguments
+ (list #:tests? #f ; Figure out how to run tests
+ #:phases #~(modify-phases %standard-phases
+ (delete 'validate-runpath)
+ (replace 'configure
+ (lambda _
+ (substitute* "src/signond/signond.pro"
+ (("/etc/")
+ (string-append #$output "/etc/")))
+ (substitute* '("tests/extensions/extensions.pri"
+ "tests/signond-tests/mock-ac-plugin/plugin.pro"
+ "tests/signond-tests/identity-tool.pro"
+ "tests/signond-tests/mock-ac-plugin/identity-ac-helper.pro"
+ "tests/libsignon-qt-tests/libsignon-qt-tests.pro"
+ "tests/signond-tests/signond-tests.pri")
+ (("QMAKE_RPATHDIR = \\$\\$\\{QMAKE_LIBDIR\\}")
+ (string-append "QMAKE_RPATHDIR = "
+ #$output "/lib:"
+ #$output "/lib/signon")))
+ (invoke "qmake"
+ (string-append "PREFIX="
+ #$output)
+ (string-append "LIBDIR="
+ #$output "/lib")))))))
+ (home-page "http://accounts-sso.gitlab.io/signond/index.html")
+ (synopsis "D-Bus service which performs user authentication")
+ (description "This package provides A D-Bus service which performs user
+authentication on behalf of its clients")
+ (license license:lgpl2.1+)))
;;;
;;; Avoid adding new packages to the end of this file. To reduce the chances
;;; of a merge conflict, place them above by existing packages with similar
--
2.37.2
From a4767b7dc338e9eb443485f68a7ddae048a94b1b Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Tue, 23 Aug 2022 10:29:15 +0200
Subject: [PATCH 36/81] gnu: Add oxygen-sounds.

* gnu/packages/kde-plasma.scm (oxygen-sounds): New variable.

Toggle diff (36 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index f6d8799412..c96a2841b5 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -685,6 +685,29 @@ (define-public kwrited
(description "This package provides access to system notifications.")
(license license:gpl2+)))
+(define-public oxygen-sounds
+ (package
+ (name "oxygen-sounds")
+ (version "5.25.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/"
+ version
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "0v8j8kf86ri1z14mgqc1c6kkpsbih8rjph35sr5y0i4av9mh6p9b"))))
+ (build-system cmake-build-system)
+ (native-inputs (list extra-cmake-modules))
+ (home-page "https://community.kde.org/Frameworks")
+ (synopsis "Oxygen provides the standard sounds for the KDE desktop")
+ (description "This package provides Oxygen sounds for the KDE desktop.")
+ (license license:lgpl3+)))
+
(define-public plasmatube
(package
(name "plasmatube")
--
2.37.2
From 9ef389ea6dfd5347fc9faf0cbd121cec422c564e Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <mail@brendan.scot>
Date: Sat, 5 Mar 2022 11:46:20 +1100
Subject: [PATCH 30/81] gnu: Add kaccounts-integration.

* gnu/packages/kde.scm (kaccounts-integration): New variable.

Toggle diff (46 lines)
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index 83bbf69506..454a8b8105 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -1214,3 +1214,39 @@ (define-public kuserfeedback
@item A management and analytics application.
@end itemize")
(license license:expat)))
+
+(define-public kaccounts-integration
+ (package
+ (name "kaccounts-integration")
+ (version "22.04.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/release-service/" version
+ "/src/" name "-" version ".tar.xz"))
+ (sha256
+ (base32 "16v12l56wix9sarxyi0qvjrkj6g3hnac6s13x99zj05hhj4rpnqy"))))
+ (build-system qt-build-system)
+ (native-inputs
+ (list extra-cmake-modules))
+ (inputs
+ (list kcmutils
+ kcoreaddons
+ kdbusaddons
+ kdeclarative
+ ki18n
+ kio
+ kwallet
+ libaccounts-qt
+ qtbase-5
+ signond))
+ (home-page "https://invent.kde.org/network/kaccounts-integration")
+ (synopsis "Online account management system and Plasma Integration")
+ (description "KAccounts Integration provides a way to share accounts data
+such as login tokens and general user information (like usernames and such)
+between various applications.
+
+The KAccounts library is a KDE Frameworks style abstraction layer on top of
+the Accounts-SSO and SignOnD libraries, which uses a combination of models and
+jobs to expose the functionality of those.")
+ (license (list license:gpl2+ license:gpl3+ license:lgpl2.0+))))
--
2.37.2
From 89162ca6c3b517ff7e5fdef82636cc5b36c51688 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Tue, 23 Aug 2022 20:10:50 +0200
Subject: [PATCH 23/81] gnu: Add knetworkmanager.

* gnu/packages/kde-frameworks.scm (knetworkmanager): New variable.

Toggle diff (44 lines)
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index c97aaf4441..fcdb0aa331 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -1864,6 +1864,37 @@ (define-public kjobwidgets
asynchronous jobs.")
(license license:lgpl2.1+)))
+(define-public knetworkmanager
+ (package
+ (name "knetworkmanager")
+ (version "5.96.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/frameworks/"
+ (version-major+minor version)
+ "/"
+ "/networkmanager-qt-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "1gyvgy0wl00asg9bkhjgvqnz32xmazvazcarh3p0640jy2fjrzfz"))))
+ (build-system qt-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "ctest" "-E"
+ "(managertest|settingstest|activeconnectiontest)")))))))
+ (native-inputs (list extra-cmake-modules pkg-config))
+ (inputs (list glib network-manager qtbase-5))
+ (properties `((upstream-name . "networkmanager-qt")))
+ (home-page "https://community.kde.org/Frameworks")
+ (synopsis "Qt wrapper for NetworkManager API")
+ (description "This package provides Qt wrapper for NetworkManager API.")
+ (license (list license:lgpl2.0 license:lgpl3))))
+
(define-public knotifications
(package
(name "knotifications")
--
2.37.2
From 4b1b941d172b263ac0da73010279ca4bc372315a Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <mail@brendan.scot>
Date: Sat, 5 Mar 2022 11:47:21 +1100
Subject: [PATCH 75/81] gnu: Add plasma-desktop-service-type.

* gnu/services/desktop.scm (plasma-desktop-service-type): New variable.
* gnu/system/examples/desktop.tmpl (operating-system): [services]: Add
plasma-desktop-service-type to provide all Desktop environments.

Toggle diff (84 lines)
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 9b3eb12613..871f033105 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -14,6 +14,7 @@
;;; Copyright © 2020 Reza Alizadeh Majd <r.majd@pantherx.org>
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2021, 2022 muradm <mail@muradm.net>
+;;; Copyright © 2022 phodina <phodina@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -54,6 +55,7 @@ (define-module (gnu services desktop)
#:use-module (gnu packages cups)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gnome)
+ #:use-module (gnu packages kde-plasma)
#:use-module (gnu packages xfce)
#:use-module (gnu packages avahi)
#:use-module (gnu packages xdisorg)
@@ -157,6 +159,11 @@ (define-module (gnu services desktop)
polkit-wheel-service
+ plasma-desktop-configuration
+ plasma-desktop-configuration?
+ plasma-desktop-service
+ plasma-desktop-service-type
+
gnome-keyring-configuration
gnome-keyring-configuration?
gnome-keyring-service-type
@@ -1441,6 +1448,37 @@ (define-deprecated (xfce-desktop-service #:key (config
(service xfce-desktop-service-type config))
+
+
+;;;
+;;; KDE Plasma desktop service.
+;;;
+
+(define-record-type* <plasma-desktop-configuration> plasma-desktop-configuration
+ make-plasma-desktop-configuration
+ plasma-desktop-configuration?
+ (plasma plasma-package
+ (default plasma)))
+
+(define (plasma-polkit-settings config)
+ "Return the list of Plasma dependencies that provide polkit actions and
+rules."
+ (let ((plasma (plasma-package config)))
+ (map (lambda (name)
+ ((package-direct-input-selector name) plasma))
+ '("powerdevil"))))
+
+(define plasma-desktop-service-type
+ (service-type
+ (name 'plasma-desktop)
+ (extensions
+ (list (service-extension polkit-service-type
+ plasma-polkit-settings)
+ (service-extension profile-service-type
+ (compose list plasma-package))))
+ (default-value (plasma-desktop-configuration))
+ (description "Run Plasma desktop environment.")))
+
+
;;;
;;; Lxqt desktop service.
;;;
diff --git a/gnu/system/examples/desktop.tmpl b/gnu/system/examples/desktop.tmpl
index 7055a8f92d..6c4f737c47 100644
--- a/gnu/system/examples/desktop.tmpl
+++ b/gnu/system/examples/desktop.tmpl
@@ -76,6 +76,7 @@
;; NetworkManager, and more.
(services (if (target-x86-64?)
(append (list (service gnome-desktop-service-type)
+ (service plasma-desktop-service-type)
(service xfce-desktop-service-type)
(set-xorg-configuration
(xorg-configuration
--
2.37.2
From e9f0968eeba76b555a6235226408b6e59d0f4967 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 26 Aug 2022 08:51:18 +0200
Subject: [PATCH 55/81] gnu: Add polkit-kde-agent.

* gnu/packages/kde-plasma.scm (polkit-kde-agent): New variable.

Toggle diff (51 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 2686e2c557..8dca7d5a9d 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -48,6 +48,7 @@ (define-module (gnu packages kde-plasma)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages linux)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages polkit)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages video)
@@ -1266,3 +1267,36 @@ (define-public plasma-systemmonitor
sensors, process information and other system resources.")
(home-page "https://invent.kde.org/plasma/plasma-systemmonitor")
(license (list license:gpl2 license:gpl3))))
+
+(define-public polkit-kde-agent
+ (package
+ (name "polkit-kde-agent")
+ (version "5.25.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/"
+ version
+ "/"
+ name
+ "-1-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "0skadgzv97vfl4n2x889fiy5gsr6n894fr5viq3rizs0qsqc68b5"))))
+ (build-system qt-build-system)
+ (native-inputs (list extra-cmake-modules))
+ (inputs (list ki18n
+ kwindowsystem
+ kdbusaddons
+ kwidgetsaddons
+ kcoreaddons
+ kcrash
+ kiconthemes
+ polkit-qt))
+ (synopsis "Daemon providing a Polkit authentication UI for Plasma")
+ (description
+ "This package provides daemon providing a Polkit authentication
+UI for Plasma")
+ (home-page "https://invent.kde.org/plasma/polkit-kde-agent-1")
+ (license license:gpl2+)))
--
2.37.2
From c5df8b90d3272844f4baa8107595c33491d7b0a0 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 25 Mar 2022 11:36:00 +0100
Subject: [PATCH 78/81] gnu: Add plasma-mobile.

* gnu/packages/kde-plasma.scm (plasma-mobile): New variable.

Toggle diff (53 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index e63722472b..7ccb022bbb 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -1827,6 +1827,46 @@ (define-public plasma-nm
connections.")
(license (list license:lgpl2.1 license:lgpl3))))
+(define-public plasma-mobile
+ (package
+ (name "plasma-mobile")
+ (version "5.24.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://download.kde.org/stable/plasma/"
+ version "/plasma-mobile-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1bwmy7xvd8wmh0snqqjh9jjgawib8ks2g30w48sqxwhplhf3da58"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list #:phases #~(modify-phases %standard-phases
+ (add-after 'install 'wrap-script
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (wrap-program (string-append #$output
+ "/bin/kwinwrapper")
+ `("PATH" ":" prefix
+ (,(string-append #$plasma-framework
+ "/bin")))))))))
+ (native-inputs (list extra-cmake-modules pkg-config qttools))
+ (inputs (list bash-minimal
+ kdeclarative
+ ki18n
+ kio
+ knotifications
+ kwayland
+ kwin
+ modemmanager-qt
+ networkmanager-qt
+ plasma-framework
+ qtbase-5))
+ (home-page "https://plasma-mobile.org/")
+ (synopsis
+ "General UI components for Plasma Phone including shell, containment and applets")
+ (description "This package provides user-friendly, privacy-enabling and
+customizable platform for mobile devices.")
+ (license (list license:gpl3+ license:lgpl2.1+))))
+
(define-public plasma-pa
(package
(name "plasma-pa")
--
2.37.2
From 8ecac97e3d448b31789db4669e2b7add88a00cb6 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 26 Aug 2022 08:13:24 +0200
Subject: [PATCH 44/81] gnu: Add plasma-firewall.

* gnu/packages/kde-plasma.scm (plasma-firewall): New variable.

Toggle diff (61 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 6903109e05..591ce016f4 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -733,8 +733,15 @@ (define-public plasmatube
"01bmxdh0aclm184j5s0kddjc7a14225bdnbkr8jlk21g9wlw8cyx"))))
(build-system cmake-build-system)
(native-inputs (list extra-cmake-modules))
- (inputs (list kirigami kconfig ki18n qtbase-5 qtdeclarative-5 qtquickcontrols2-5
- qtsvg-5 qtmultimedia-5 youtube-dl))
+ (inputs (list kirigami
+ kconfig
+ ki18n
+ qtbase-5
+ qtdeclarative-5
+ qtquickcontrols2-5
+ qtsvg-5
+ qtmultimedia-5
+ youtube-dl))
(home-page "https://apps.kde.org/plasmatube/")
(synopsis "Kirigami YouTube video player")
(description "This package provides YouTube video player based
@@ -774,6 +781,36 @@ (define-public plasma-disks
(home-page "https://invent.kde.org/plasma/plasma-disks")
(license (list license:gpl2 license:gpl3))))
+(define-public plasma-firewall
+ (package
+ (name "plasma-firewall")
+ (version "5.25.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/plasma/"
+ version
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "12rmf7x8dyyb1k5ycj43kn4c0wzidig4h5wdh1igrgcvyypmjjcl"))))
+ (build-system qt-build-system)
+ (native-inputs (list extra-cmake-modules))
+ (inputs (list iproute
+ kcoreaddons
+ kcmutils
+ ki18n
+ kdeclarative
+ python
+ qtdeclarative-5))
+ (synopsis "Control Panel for system firewall")
+ (description "This package provides interface to system firewall")
+ (home-page "https://invent.kde.org/plasma/plasma-firewall")
+ (license (list license:gpl2 license:gpl3))))
+
(define-public plasma-integration
(package
(name "plasma-integration")
--
2.37.2
From 4477c3dece29e2884d38fcc829c45e9ed02b35b0 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Sun, 28 Aug 2022 23:10:35 +0200
Subject: [PATCH 57/81] gnu: breeze: Update to 5.25.4.

* gnu/packages/kde-plasma.scm (breeze): Update to 5.25.4.

Toggle diff (23 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 8dca7d5a9d..d353352b68 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -61,14 +61,14 @@ (define-module (gnu packages kde-plasma)
(define-public breeze
(package
(name "breeze")
- (version "5.25.3")
+ (version "5.25.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/plasma/" version "/"
name "-" version ".tar.xz"))
(sha256
(base32
- "0za75ckgfcdxrh2qxgyl2c1273g2xqwmd55njsis1yvwryadypqw"))))
+ "0lw0vj07z8l19v2z31d601kfanqixy3dbsv0lf8q273xv3li9sbp"))))
(build-system qt-build-system)
;; TODO: Warning at /gnu/store/…-kpackage-5.34.0/…/KF5PackageMacros.cmake:
;; warnings during generation of metainfo for org.kde.breezedark.desktop:
--
2.37.2
From 076f3ecd44d4b985ecf894af79ad600a6f1727d8 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Sun, 28 Aug 2022 23:54:23 +0200
Subject: [PATCH 26/81] gnu: Add signon-plugin-oauth2.

* gnu/packages/qt.scm (signon-plugin-oauth2): New variable.

Toggle diff (45 lines)
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 213ca9a942..7d27ff5e45 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -4279,6 +4279,38 @@ (define-public signond
(description "This package provides A D-Bus service which performs user
authentication on behalf of its clients")
(license license:lgpl2.1+)))
+
+(define-public signon-plugin-oauth2
+ (package
+ (name "signon-plugin-oauth2")
+ (version "0.25")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/accounts-sso/signon-plugin-oauth2")
+ (commit (string-append "VERSION_" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "16aslnyk8jdg03zcg97rp6qzd0gmclj14hyhliksz8jgfz1l0w7c"))))
+ (build-system qt-build-system)
+ (native-inputs (list doxygen pkg-config))
+ (inputs (list signond))
+ (arguments
+ (list #:tests? #f
+ #:make-flags #~(list (string-append "INSTALL_ROOT=" #$output))
+ #:phases #~(modify-phases %standard-phases
+ (replace 'configure
+ (lambda _
+ ; Don't treat warnings as erros
+ (substitute* "common-project-config.pri"
+ (("-Werror") ""))
+ (invoke "qmake" (string-append "PREFIX=" #$output)
+ (string-append "LIBDIR=" #$output "/lib")))))))
+ (home-page "")
+ (synopsis "OAuth 2 plugin for signon")
+ (description "")
+ (license license:lgpl2.1+)))
;;;
;;; Avoid adding new packages to the end of this file. To reduce the chances
;;; of a merge conflict, place them above by existing packages with similar
--
2.37.2
From b7c95fa2807ca744354216cfab0989c7f844e59b Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Sun, 28 Aug 2022 23:11:00 +0200
Subject: [PATCH 64/81] gnu: Add appmenu-gtk-module.

* gnu/packages/gtk.scm (appmenu-gtk-menu): New variable.

Toggle diff (50 lines)
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 8d72205cbc..97df4cfcb2 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -31,6 +31,7 @@
;;; Copyright © 2021 Wamm K. D. <jaft.r@outlook.com>
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2022 Benjamin Slade <slade@lambda-y.net>
+;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -116,6 +117,35 @@ (define-module (gnu packages gtk)
#:use-module (srfi srfi-26)
#:use-module (ice-9 match))
+(define-public appmenu-gtk-module
+ (package
+ (name "appmenu-gtk-module")
+ (version "0.7.6")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url
+ "https://gitlab.com/vala-panel-project/vala-panel-appmenu")
+ (commit version)))
+ (sha256
+ (base32
+ "1ywpygjwlbli65203ja2f8wwxh5gbavnfwcxwg25v061pcljaqmm"))))
+ (build-system meson-build-system)
+ (arguments
+ (list #:glib-or-gtk? #t
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-install-gtk-module
+ (lambda* _
+ (substitute* "subprojects/appmenu-gtk-module/src/gtk-3.0/meson.build"
+ (("gtk3.get_pkgconfig_variable\\('libdir'\\)")
+ #$output)))))))
+ (native-inputs (list `(,glib "bin") vala pkg-config))
+ (inputs (list gtk+-2 gtk+ libwnck))
+ (synopsis "Application Menu GTK+ Module")
+ (description "")
+ (home-page "https://gitlab.com/vala-panel-project/vala-panel-appmenu")
+ (license (list license:lgpl3))))
+
(define-public atk
(package
(name "atk")
--
2.37.2
From 2788be6c4284e51c09c3d1400fed0ec5d5d3bc4d Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Thu, 18 Aug 2022 01:53:40 +0200
Subject: [PATCH 29/81] gnu: Add libsignon-glib.

* gnu/packages/qt.scm (libsignon-glib): New variable.

Toggle diff (85 lines)
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index c0e79e268a..aa3f12ca14 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -49,6 +49,7 @@ (define-module (gnu packages qt)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system meson)
#:use-module (guix build-system trivial)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
@@ -60,6 +61,7 @@ (define-module (gnu packages qt)
#:use-module (gnu packages bash)
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
+ #:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages cups)
@@ -4271,6 +4273,62 @@ (define-public libaccounts-qt
(description #~(package-description libaccounts-glib))
(license license:lgpl2.1+)))
+(define-public libsignon-glib
+ (package
+ (name "libsignon-glib")
+ (version "2.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/accounts-sso/libsignon-glib")
+ (commit (string-append "VERSION_" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0vgckvv78kzp54drj0dclqi0gfgrz6ihyjlks8z0cbd6k01r1dfy"))))
+ (build-system meson-build-system)
+ (arguments
+ (list #:tests? #f ;TODO: ninja: no work to do.
+ #:imported-modules `((guix build python-build-system)
+ ,@%meson-build-system-modules)
+ #:modules '(((guix build python-build-system)
+ #:select (python-version))
+ (guix build meson-build-system)
+ (guix build utils))
+ #:configure-flags #~(list "-Dtests=true"
+ (string-append "-Dpy-overrides-dir="
+ #$output "/lib/python"
+ (python-version #$(this-package-input
+ "python"))
+ "/site-packages/gi/overrides"))
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'get-submodule
+ (lambda* _
+ (copy-recursively #$(origin
+ (method git-fetch)
+ (uri (git-reference (url
+ "https://gitlab.com/accounts-sso/signon-dbus-specification")
+ (commit
+ "67487954653006ebd0743188342df65342dc8f9b")))
+ (sha256 (base32
+ "0w2wlm2vbgdw4fr3bd8z0x9dchl3l3za1gzphwhg4s6val1yk2rj")))
+ "libsignon-glib/interfaces"))))))
+ (native-inputs (list dbus
+ dbus-test-runner
+ `(,glib "bin")
+ gobject-introspection
+ gtk-doc
+ pkg-config
+ vala))
+ (inputs (list check signond python python-pygobject))
+ (propagated-inputs (list glib))
+ (home-page "https://accounts-sso.gitlab.io/libsignon-glib/")
+ (synopsis "Single signon authentication library for GLib applications")
+ (description
+ "This package provides single signon authentication library for
+GLib applications.")
+ (license license:lgpl2.1+)))
+
(define-public signond
(package
(name "signond")
--
2.37.2
From 4b50b101ec22c1e8c799a865d2febb60da5830bc Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Sun, 18 Sep 2022 10:45:18 +0200
Subject: [PATCH 48/81] gnu: packagekit: Update to 1.2.5.

* gnu/packages/freedesktop.scm (packagekit): Update to 1.2.5.
[build-system]: Use meson-build-system.
[arguments]: Disable systemd. Fix xsl.
[native-inputs]: Add docbook-xsl, gobject-introspection, libxslt and vala.
[inputs]: Add gstreamer, gst-plugins-base and gtk+.

Toggle diff (70 lines)
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index d5069a0f59..08fea2ad78 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -904,31 +904,41 @@ (define (source-file regexp)
(define-public packagekit
(package
(name "packagekit")
- (version "1.1.13")
+ (version "1.2.5")
(source (origin
- (method url-fetch)
- (uri (string-append
- "https://www.freedesktop.org/software/"
- "PackageKit/releases/"
- "PackageKit-" version ".tar.xz"))
- (sha256
- (base32
- "1dr1laic65ld95abp2yxbwvijnngh0dwyb1x49x4wjm5rhq43dl8"))))
- (build-system gnu-build-system)
+ (method url-fetch)
+ (uri (string-append "https://www.freedesktop.org/software/"
+ "PackageKit/releases/" "PackageKit-" version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "09md23m4fw87x264mls1f5isrswk6iw7y9g4hr1nib008wbbk370"))))
+ (build-system meson-build-system)
(arguments
(list #:tests? #f
- #:make-flags #~(list (string-append "BASH_COMPLETIONS_DIR="
- #$output "/etc/bash_completion.d"))
- #:configure-flags #~(list "--disable-systemd")))
- (native-inputs
- (list intltool
- pkg-config
- python-wrapper
- `(,glib "bin")))
- (inputs
- (list glib bash-completion polkit))
- (propagated-inputs
- (list sqlite))
+ #:configure-flags #~'("-Dsystemd=false" "-Doffline_update=false")
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-xsl
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "client/meson.build"
+ (("http://docbook.sourceforge.net/release/xsl/current")
+ (string-append #$docbook-xsl
+ "/xml/xsl/docbook-xsl-1.79.2/"))))))))
+ (native-inputs (list intltool
+ pkg-config
+ python-wrapper
+ `(,glib "bin")
+ gobject-introspection
+ docbook-xsl
+ libxslt
+ vala))
+ (inputs (list glib
+ gstreamer
+ gst-plugins-base
+ gtk+
+ bash-completion
+ polkit))
+ (propagated-inputs (list sqlite))
(home-page "https://www.freedesktop.org/software/PackageKit/")
(synopsis "API for package management, through D-Bus")
(description
--
2.37.2
L
L
Ludovic Courtès wrote on 24 Sep 2022 15:12
Re: bug#57608: Upstreaming KDE Plasma and rest of packages
(name . phodina)(address . phodina@protonmail.com)
87leq8apbc.fsf_-_@gnu.org
Hi!

An impressive patch series. :-)

phodina <phodina@protonmail.com> skribis:

Toggle quote (7 lines)
> 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.

Toggle quote (5 lines)
> +++ b/gnu/services/firmware.scm
> @@ -0,0 +1,70 @@
> +;;; GNU Guix --- Functional package management for GNU
> +;;; Copyright ?? 2022 Petr Hodina <phodina@protonmail.com>

Typo.

Toggle quote (5 lines)
> +(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’.
L
L
Ludovic Courtès wrote on 24 Sep 2022 15:15
(name . phodina)(address . phodina@protonmail.com)
87h70wap7m.fsf_-_@gnu.org
Hi,

phodina <phodina@protonmail.com> skribis:

Toggle quote (4 lines)
> + (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’.
M
M
Marek Pa?nikowski wrote on 2 Oct 2022 19:14
(address . 57608@debbugs.gnu.org)
g-lKM71JLyctFcT8NCaj4T4FQpfHrXS6Q5t76FuzN8Sq8RKNn8TxZ1hVTXh4uZ7W3sW2T6oSIUZHAHIbjBvjY5zeUacRrfRZklgKOJ061jE=@protonmail.com
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..
```
P
P
phodina wrote on 4 Oct 2022 08:52
(name . Marek Pa?nikowski)(address . marekpasnikowski@protonmail.com)
rSP7l0x20iAtx1mm4ZRtWMpr5fboGIQ-dqNUpdtLxbR1gF9EFfN9928d0fsaptrIlTglBCypNOewO1Xz5BpHG4oyHd9XzQYwil0rWzjtX-c=@protonmail.com
Hi Marek and Ludo',


Toggle quote (5 lines)
> 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.
Toggle quote (7 lines)
> 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`.

Toggle quote (2 lines)
> 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.

Toggle quote (2 lines)
> 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.
Toggle quote (2 lines)
> 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.



----
Petr
M
M
Marek Pa?nikowski wrote on 4 Oct 2022 13:07
QSZ8RbUPGn2lE1DR6Aw3JV9QrkAi6E5r_YqSmbeNPIIOZjStLecsc_IA6knXWjG4YAxn1NhHMrFS5ZvZB0E7-sLSmTScNRtX6Z0STL-EtNg=@protonmail.com
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:
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))
```
P
P
phodina wrote on 4 Oct 2022 16:01
lP6X-EnSyxu4gsO-EqOtNUBLQxQqROn_-XDtnPH6AauHiM5VWh5dY_Kgyet9c0UkO2PNwC4RDrY45BziEEuku7qMe_47evJgpx6YFbjeFFU=@protonmail.com
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:

Toggle quote (74 lines)
> 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))
> ```
Attachment: file
P
P
phodina wrote on 6 Oct 2022 14:09
_9i_X2elmnmVduuEMWiqx4qwh8Jlu6wffrzRfrk0M2boZ-SINJbuBmUDidz8oMTRJhaeeNmsNGvDgNTbPRLyCy1EcDAYVk6nwNlliDDWy6M=@protonmail.com
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 :-)

----
Petr

------- Original Message -------
On Tuesday, October 4th, 2022 at 4:01 PM, phodina <phodina@protonmail.com> wrote:

Toggle quote (90 lines)
> 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))
>> ```
Attachment: file
K
K
kiasoc5 wrote on 6 Oct 2022 20:29
Re: [bug#57608] Upstreaming KDE Plasma and rest of packages
(name . phodina via Guix-patches via)(address . guix-patches@gnu.org)
20221006182958.5d7f95a0@aria
On Thu, Oct 06 2022, 12:09:24 PM +0000
phodina via Guix-patches via <guix-patches@gnu.org> wrote:

Toggle quote (5 lines)
> - 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/57742is a factor for blocking the
wayland session?

--
P
P
phodina wrote on 7 Oct 2022 14:57
(name . kiasoc5)(address . kiasoc5@disroot.org)
9smcBEFrJoUxSWXDb4goWIF4QOwiBIy6n7K6DwWb2HYjsX8HTNqPrvW5cGYba3NxMCK5trSEUy5-ky8ZxA9qkoMHrDTjAXzg6SzvdWCZ390=@protonmail.com
Toggle quote (14 lines)
> 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
M
M
Maxim Cournoyer wrote on 7 Oct 2022 16:09
(name . phodina)(address . phodina@protonmail.com)
87ilkv67yu.fsf@gmail.com
Hi,

phodina <phodina@protonmail.com> writes:

Toggle quote (20 lines)
>> 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?

Toggle snippet (9 lines)
$ guix size qtbase
[...]
total: 1419.4 MiB

$ guix size qtwayland
[...]
total: 1575.9 MiB

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?

--
Thanks,
Maxim
M
M
Marek Pa?nikowski wrote on 10 Oct 2022 15:03
8JP2Q_G5a64hRpHji47IEVTfuacYseEp-Cb4jpA1CL3kr3X9P4-RH7qwefMFO3-IM6awTDWMS079zdeuDKMj4Equ7kP1ewxj4JmLe8TE0ho=@protonmail.com
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?
B
B
Brendan Tildesley wrote on 29 Oct 2022 13:59
Re: Upstreaming KDE Plasma and rest of packages
a66bc81b-727b-2ffa-7094-e3f99b67fcbf@brendan.scot
Another issue is that Dolphin does not create/display thumbnails and
reports:

kf.service.services: KServiceTypeTrader: serviceType "ThumbCreator" not
found

I packaged kdegraphics-thumbnailers. But adding that didn't make a
difference.
Have you had a go at this phodina?




(define-public kdegraphics-thumbnailers
  (package
    (name "kdegraphics-thumbnailers")
    (version "22.08.2")
    (source
     (origin
       (method url-fetch)
       (uri (string-append "mirror://kde/stable/release-service/" version
                           "/src/" name "-" version ".tar.xz"))

       (sha256
        (base32 "1ppgc5yh23fgfkwzjirrkv5w7y23xlpf3ijgaw8wgm7kbm61i5y0"))))
    (build-system cmake-build-system)
    (native-inputs
     (list extra-cmake-modules))
    (inputs
     (list karchive
           kdegraphics-mobipocket
           ki18n
           kio
           libkexiv2
           qtbase-5))
    (home-page "")
    (synopsis "")
    (description "")
    (license #f)))
M
M
Marek Pa?nikowski wrote on 29 Oct 2022 22:32
R-ilWxopZw7bwBvQqL6pd3dI6LPDTXP1OPT8BdC4E9okkxABVHH1gb2ryMknVLuN3id_nIEb8oYHv1H2n7FqoBlWLEW4Y8rkbnmtWSCH4PY=@protonmail.com
------- Original Message -------
sobota, 29 pa?dziernika 2022 13:59, Brendan Tildesley <mail@brendan.scot> napisa?(a):

Toggle quote (2 lines)
> Another issue is that Dolphin does not create/display thumbnails

Is that Dolphin opened in GNOME desktop or in Plasma desktop?
I am asking because Plasma Desktop fails to produce anything more
than a black screen in the current state of the patches.

I would also like to take this opportunity to share a couple of
links related to the process of Plasma Desktop installation, which
I found this week.

[Qt/KDE applications segfault on start due to stale qmlcache][1]
[KDE Community page on kdesrc-build build-system][2]
[Script to streamline setting up and maintaining KDE software][3]

I wish I could experiment with the KDESRC system, but I am still
struggling with packaging a simple GNOME extension, so I am not
ready for this.

B
B
Brendan Tildesley wrote on 30 Oct 2022 01:49
11722dd2-9cff-962d-a2fd-91b723de9382@brendan.scot
On 29/10/22 20:32, Marek Pa?nikowski wrote:
Toggle quote (7 lines)
> ------- Original Message -------
> sobota, 29 pa?dziernika 2022 13:59, Brendan Tildesley <mail@brendan.scot> napisa?(a):
>
>> Another issue is that Dolphin does not create/display thumbnails
> Is that Dolphin opened in GNOME desktop or in Plasma desktop?
> I am asking because Plasma Desktop fails to produce anything more
> than a black screen in the current state of the patches.
I'm in XFCE, just testing with guix shell dolphin -- dolphin
Toggle quote (15 lines)
> I would also like to take this opportunity to share a couple of
> links related to the process of Plasma Desktop installation, which
> I found this week.
>
> [Qt/KDE applications segfault on start due to stale qmlcache][1]
> [KDE Community page on kdesrc-build build-system][2]
> [Script to streamline setting up and maintaining KDE software][3]
>
> I wish I could experiment with the KDESRC system, but I am still
> struggling with packaging a simple GNOME extension, so I am not
> ready for this.
>
> [1]: https://github.com/NixOS/nixpkgs/issues/177720
> [2]: https://community.kde.org/Get_Involved/development#Building_software_with_kdesrc-build
> [3]: https://invent.kde.org/sdk/kdesrc-build
P
P
phodina wrote on 31 Oct 2022 08:42
(name . 57608@debbugs.gnu.org)(address . 57608@debbugs.gnu.org)
TmrudMQdNDsUlfVXXDlUYS6Cl32emete1oDiVMXaWPTmgzM9sbDSRMPQgBYONLze1lm4M6GS0ce2RsCrklKAcGrn11EQHJky0phqYeIepXo=@protonmail.com
Hi,

Toggle quote (8 lines)
>
> > Another issue is that Dolphin does not create/display thumbnails
>
>
> Is that Dolphin opened in GNOME desktop or in Plasma desktop?
> I am asking because Plasma Desktop fails to produce anything more
> than a black screen in the current state of the patches.

Well since Plasma is not yet running it's probably Dolphin in Gnome or other DE. Not sure why thumbnails are missing, but let's note issues about all the KDE programs.
Toggle quote (17 lines)
>
> I would also like to take this opportunity to share a couple of
> links related to the process of Plasma Desktop installation, which
> I found this week.
>
> [Qt/KDE applications segfault on start due to stale qmlcache][1]
> [KDE Community page on kdesrc-build build-system][2]
> [Script to streamline setting up and maintaining KDE software][3]
>
> I wish I could experiment with the KDESRC system, but I am still
> struggling with packaging a simple GNOME extension, so I am not
> ready for this.
>
> [1]: https://github.com/NixOS/nixpkgs/issues/177720
> [2]: https://community.kde.org/Get_Involved/development#Building_software_with_kdesrc-build
> [3]: https://invent.kde.org/sdk/kdesrc-build

Thanks for the links. The issue is probably not in the KDESRC itself but in the Qt Framework.

I've been looking into Nix and they have additional patches. I managed to apply some of them.

But then the most needed could not get to work (marked with ! in the commit).

Would somebody know how to port them into Guix?
It's mostly about CMake and QML. Which is what fails during the `kwin` and `plasma-workspace` build. Therefore they built but are broken when run.

----
Petr
From d35b2ca62f3fc89bf8121e8c1f412b482d90c868 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Sun, 30 Oct 2022 14:09:40 +0100
Subject: [PATCH 2/8] gnu: qtbase-5: Apply patch qtbase-assert.patch.

* gnu/packages/qt.scm (qtbase-5)[source]: Apply qtbase-assert.patch.
* gnu/packages/patches/qtbase-assert.patch: New file.
* gnu/local.mk: Add patch.

Toggle diff (65 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 1d40cecad3..2e2218334a 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1750,6 +1750,7 @@ dist_patch_DATA = \
%D%/packages/patches/qpdfview-qt515-compat.patch \
%D%/packages/patches/qrcodegen-cpp-make-install.patch \
%D%/packages/patches/qtbase-absolute-runpath.patch \
+ %D%/packages/patches/qtbase-assert.patch \
%D%/packages/patches/qtbase-moc-ignore-gcc-macro.patch \
%D%/packages/patches/qtbase-use-TZDIR.patch \
%D%/packages/patches/qtscript-disable-tests.patch \
diff --git a/gnu/packages/patches/qtbase-assert.patch b/gnu/packages/patches/qtbase-assert.patch
new file mode 100644
index 0000000000..2215cd8fa0
--- /dev/null
+++ b/gnu/packages/patches/qtbase-assert.patch
@@ -0,0 +1,33 @@
+From 015845b3c320d02691f28373097d1e6dbbac79f7 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@mailbox.org>
+Date: Tue, 17 Sep 2019 05:37:04 -0500
+Subject: [PATCH 10/11] qtbase-assert
+
+---
+ src/testlib/qtestassert.h | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/src/testlib/qtestassert.h b/src/testlib/qtestassert.h
+index 6498ea84ef..d821ced7fc 100644
+--- a/src/testlib/qtestassert.h
++++ b/src/testlib/qtestassert.h
+@@ -44,10 +44,13 @@
+
+ QT_BEGIN_NAMESPACE
+
+-
++#if defined(QT_NO_DEBUG) && !defined(QT_FORCE_ASSERTS)
++#define QTEST_ASSERT(cond) do { } while ((false) && (cond))
++#define QTEST_ASSERT_X(cond, where, what) do { } while ((false) && (cond))
++#else
+ #define QTEST_ASSERT(cond) do { if (!(cond)) qt_assert(#cond,__FILE__,__LINE__); } while (false)
+-
+ #define QTEST_ASSERT_X(cond, where, what) do { if (!(cond)) qt_assert_x(where, what,__FILE__,__LINE__); } while (false)
++#endif
+
+ QT_END_NAMESPACE
+
+--
+2.25.4
+
+
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index f46304241c..2a86506579 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -298,6 +298,7 @@ (define-public qtbase-5
"1p2fa94m1y8qzhdfi2d7dck93qh1lgsinibwl1wy92bwmacwfhhc"))
;; Use TZDIR to avoid depending on package "tzdata".
(patches (search-patches "qtbase-use-TZDIR.patch"
+ "qtbase-assert.patch"
"qtbase-moc-ignore-gcc-macro.patch"
"qtbase-absolute-runpath.patch"))
(modules '((guix build utils)))
--
2.37.2
From 93aab2cdacd879ecb8ae34fa0f6f6793d7c03536 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Sun, 30 Oct 2022 14:29:42 +0100
Subject: [PATCH 4/8] gnu: qtbase-5: Apply qtbase-tbd-frameworks.patch.

* gnu/packages/qt.scm (qtbase-5)[source]: Apply qtbase-tbd-frameworks.patch.
* gnu/local.mk: Add patch.
* gnu/packages/patches/qtbase-tbd-frameworks.patch: New file.

Toggle diff (48 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 9a5b4643a3..9ddf179143 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1752,6 +1752,7 @@ dist_patch_DATA = \
%D%/packages/patches/qtbase-absolute-runpath.patch \
%D%/packages/patches/qtbase-assert.patch \
%D%/packages/patches/qtbase-moc-ignore-gcc-macro.patch \
+ %D%/packages/patches/qtbase-tbd-frameworks.patch \
%D%/packages/patches/qtbase-use-TZDIR.patch \
%D%/packages/patches/qtbase-xcursor.patch \
%D%/packages/patches/qtscript-disable-tests.patch \
diff --git a/gnu/packages/patches/qtbase-tbd-frameworks.patch b/gnu/packages/patches/qtbase-tbd-frameworks.patch
new file mode 100644
index 0000000000..ba25d90747
--- /dev/null
+++ b/gnu/packages/patches/qtbase-tbd-frameworks.patch
@@ -0,0 +1,16 @@
+diff --git a/src/gui/Qt5GuiConfigExtras.cmake.in b/src/gui/Qt5GuiConfigExtras.cmake.in
+index 84dbbfebd4..615bfed124 100644
+--- a/src/gui/Qt5GuiConfigExtras.cmake.in
++++ b/src/gui/Qt5GuiConfigExtras.cmake.in
+@@ -119,6 +119,10 @@ macro(_qt5gui_find_extra_libs Name Libs LibDir IncDirs)
+ if (NOT EXISTS "${Qt5Gui_${_cmake_lib_name}_LIBRARY}")
+ set(Qt5Gui_${_cmake_lib_name}_LIBRARY)
+ endif()
++ set(Qt5Gui_${_cmake_lib_name}_LIBRARY "${Qt5Gui_${_cmake_lib_name}_LIBRARY}/${_lib}.tbd")
++ if (NOT EXISTS "${Qt5Gui_${_cmake_lib_name}_LIBRARY}")
++ set(Qt5Gui_${_cmake_lib_name}_LIBRARY)
++ endif()
+ !!ENDIF
+ if (NOT Qt5Gui_${_cmake_lib_name}_LIBRARY)
+ # The above find_library call doesn\'t work for finding
+
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index e4d8803655..957500aeb2 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -299,6 +299,7 @@ (define-public qtbase-5
;; Use TZDIR to avoid depending on package "tzdata".
(patches (search-patches "qtbase-use-TZDIR.patch"
"qtbase-assert.patch"
+ "qtbase-tbd-frameworks.patch"
"qtbase-xcursor.patch"
"qtbase-moc-ignore-gcc-macro.patch"
"qtbase-absolute-runpath.patch"))
--
2.37.2
From 65f7ed2fdbd2d83de015d629630e86f7fe6ff3b7 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Sun, 30 Oct 2022 14:22:31 +0100
Subject: [PATCH 1/8] gnu: plasma-workspace: Add xorg-server-for-tests in
native-inputs.

* gnu/packages/kde-plasma.scm (plasma-workspace)[native-inputs]: Add
xorg-server-for-tests.
[arguments]: Launch xorg-server and use dbus to launch tests.

Toggle diff (31 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 76d80ba4be..c5d4b16761 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -2490,7 +2490,7 @@ (define-public plasma-workspace
"0pxwg3i07sipfchn4qkmlr6kcgqbhj2s10xq69wi32x1fc13jx5x"))))
(build-system qt-build-system)
(native-inputs (list extra-cmake-modules kdoctools pkg-config qtsvg-5
- qttools-5))
+ qttools-5 xorg-server-for-tests))
(inputs (list appmenu-gtk-module
appstream-qt
baloo
@@ -2610,11 +2610,12 @@ (define-public plasma-workspace
(getcwd))
(setenv "QT_QPA_PLATFORM" "offscreen")
(setenv "QT_PLUGIN_PATH"
- (string-append #$output
+ (string-append #$qtbase-5
"/lib/qt5/plugins:"
(getenv "QT_PLUGIN_PATH")))
- (invoke "ctest" "-E"
- "(appstreamtest|lookandfeel-kcmTest|tst_triangleFilter|systemtraymodeltest|testdesktop| screenpooltest)")))))))
+ (system "Xvfb :1 -screen 0 640x480x24 &")
+ (invoke "dbus-launch" "ctest"))))))) ;"-E")
+ ;; "(appstreamtest|lookandfeel-kcmTest|tst_triangleFilter|systemtraymodeltest|testdesktop| screenpooltest)")))))))
(home-page "https://invent.kde.org/plasma/plasma-workspace")
(synopsis "Plasma workspace components")
(description
--
2.37.2
From 655d8440e56dfdd03c8b816f8f8446935bcfbc26 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Sun, 30 Oct 2022 14:51:07 +0100
Subject: [PATCH 8/8] ! gnu: qtbase-5: Apply qtbase-fix-header_module.patch.

* gnu/packages/qt.scm (qtbase-5)[source]: Apply qtbase-fix-header_module.patch.
* gnu/local.mk: Add patch.
* gnu/packages/patches/qtbase-fix-header_module.patch: New file.

Toggle diff (69 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 8b6f0913d4..c5ca64e644 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1752,6 +1752,7 @@ dist_patch_DATA = \
%D%/packages/patches/qtbase-absolute-runpath.patch \
%D%/packages/patches/qtbase-assert.patch \
%D%/packages/patches/qtbase-cmake.patch \
+ %D%/packages/patches/qtbase-fix-header_module.patch \
%D%/packages/patches/qtbase-moc-ignore-gcc-macro.patch \
%D%/packages/patches/qtbase-qtpluginpath.patch \
%D%/packages/patches/qtbase-replace-libdir.patch \
diff --git a/gnu/packages/patches/qtbase-fix-header_module.patch b/gnu/packages/patches/qtbase-fix-header_module.patch
new file mode 100644
index 0000000000..ed869244dc
--- /dev/null
+++ b/gnu/packages/patches/qtbase-fix-header_module.patch
@@ -0,0 +1,26 @@
+From 2bce8511877db1db532e1437e7140b1d55633f86 Mon Sep 17 00:00:00 2001
+From: Will Dietz <w@wdtz.org>
+Date: Mon, 30 Sep 2019 20:15:40 -0500
+Subject: [PATCH 11/11] fix header_module
+
+---
+ mkspecs/features/qt_module.prf | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
+index b9e5d35026..9924271042 100644
+--- a/mkspecs/features/qt_module.prf
++++ b/mkspecs/features/qt_module.prf
+@@ -84,7 +84,7 @@ header_module {
+ CONFIG += qt_no_install_library
+
+ # Allow creation of .prl, .la and .pc files.
+- target.path = $$[QT_INSTALL_LIBS]
++ target.path = $$NIX_OUTPUT_OUT/lib
+ target.CONFIG += dummy_install
+ INSTALLS += target
+ } else {
+--
+2.25.4
+
+
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 47f0db985c..5bf2354f1d 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -300,6 +300,7 @@ (define-public qtbase-5
(patches (search-patches "qtbase-use-TZDIR.patch"
"qtbase-assert.patch"
"qtbase-cmake.patch"
+ "qtbase-fix-header_module.patch"
"qtbase-qtpluginpath.patch"
"qtbase-replace-libdir.patch"
"qtbase-tbd-frameworks.patch"
@@ -437,6 +438,10 @@ (define-public qtbase-5
(substitute* '("mkspecs/features/qt_common.prf"
"mkspecs/features/qt_module.prf") (("..NIX_OUTPUT_OUT") #$output))
+ ;; qtbase-fix-header_module.patch
+ (substitute* "mkspecs/features/qt_module.prf"
+ (("..NIX_OUTPUT_OUT") #$output))
+
;; qtbase-cmake.patch
(substitute* (list
"mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in"
--
2.37.2
From 899e966fad8afa41e9208877b25bbb1284453aa7 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Sun, 30 Oct 2022 14:21:33 +0100
Subject: [PATCH 3/8] gnu: qtbase-5: Apply qtbase-xcursor.patch.

* gnu/packages/qt.scm (qtbase-5)[source]: Apply qtbase-xcursor.patch.
* gnu/packages/patches/qtbase-xcursor.patch: New file.
* gnu/local.mk: Add patch.

Toggle diff (74 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 2e2218334a..9a5b4643a3 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1753,6 +1753,7 @@ dist_patch_DATA = \
%D%/packages/patches/qtbase-assert.patch \
%D%/packages/patches/qtbase-moc-ignore-gcc-macro.patch \
%D%/packages/patches/qtbase-use-TZDIR.patch \
+ %D%/packages/patches/qtbase-xcursor.patch \
%D%/packages/patches/qtscript-disable-tests.patch \
%D%/packages/patches/quagga-reproducible-build.patch \
%D%/packages/patches/quickswitch-fix-dmenu-check.patch \
diff --git a/gnu/packages/patches/qtbase-xcursor.patch b/gnu/packages/patches/qtbase-xcursor.patch
new file mode 100644
index 0000000000..42b25661a5
--- /dev/null
+++ b/gnu/packages/patches/qtbase-xcursor.patch
@@ -0,0 +1,30 @@
+From 707098eada20ba074e642a73248de74407bc261c Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@mailbox.org>
+Date: Tue, 17 Sep 2019 05:35:58 -0500
+Subject: [PATCH 07/11] qtbase-xcursor
+
+---
+ src/plugins/platforms/xcb/qxcbcursor.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/plugins/platforms/xcb/qxcbcursor.cpp b/src/plugins/platforms/xcb/qxcbcursor.cpp
+index 42c7a52bd4..ba670ddb44 100644
+--- a/src/plugins/platforms/xcb/qxcbcursor.cpp
++++ b/src/plugins/platforms/xcb/qxcbcursor.cpp
+@@ -317,10 +317,10 @@ QXcbCursor::QXcbCursor(QXcbConnection *conn, QXcbScreen *screen)
+ #if QT_CONFIG(xcb_xlib) && QT_CONFIG(library)
+ static bool function_ptrs_not_initialized = true;
+ if (function_ptrs_not_initialized) {
+- QLibrary xcursorLib(QLatin1String("Xcursor"), 1);
++ QLibrary xcursorLib(QLatin1String(NIXPKGS_LIBXCURSOR), 1);
+ bool xcursorFound = xcursorLib.load();
+ if (!xcursorFound) { // try without the version number
+- xcursorLib.setFileName(QLatin1String("Xcursor"));
++ xcursorLib.setFileName(QLatin1String(NIXPKGS_LIBXCURSOR));
+ xcursorFound = xcursorLib.load();
+ }
+ if (xcursorFound) {
+--
+2.25.4
+
+
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 2a86506579..e4d8803655 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -299,6 +299,7 @@ (define-public qtbase-5
;; Use TZDIR to avoid depending on package "tzdata".
(patches (search-patches "qtbase-use-TZDIR.patch"
"qtbase-assert.patch"
+ "qtbase-xcursor.patch"
"qtbase-moc-ignore-gcc-macro.patch"
"qtbase-absolute-runpath.patch"))
(modules '((guix build utils)))
@@ -422,6 +423,11 @@ (define-public qtbase-5
"-no-mips_dspr2"))
#:phases
#~(modify-phases %standard-phases
+ (add-after 'unpack 'nixos-patches
+ (lambda _
+ ;; qtbase-xcursor.patch
+ (substitute* "src/plugins/platforms/xcb/qxcbcursor.cpp"
+ (("NIXPKGS_LIBXCURSOR") (string-append "\"" #$libxcursor "/lib\"")))))
(add-after 'configure 'patch-bin-sh
(lambda _
(substitute* '("config.status"
--
2.37.2
M
M
Marius Bakke wrote on 21 Nov 2022 22:11
Re: bug#57608: Upstreaming KDE Plasma and rest of packages
87zgckypvd.fsf@gnu.org
phodina <phodina@protonmail.com> skriver:

Toggle quote (18 lines)
> 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:
* 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 !
-----BEGIN PGP SIGNATURE-----

iIUEARYKAC0WIQRNTknu3zbaMQ2ddzTocYulkRQQdwUCY3vphg8cbWFyaXVzQGdu
dS5vcmcACgkQ6HGLpZEUEHfWIwEA5vwwA7FKpTl0eFHnVwi0+6R1PBtTXO4hKdNy
C6OyPtoA/3Z7+8LlMLHlTfupMHxNwNBBzQGW+dmkWpYvxl2oKnoF
=RtAe
-----END PGP SIGNATURE-----

P
P
phodina wrote on 22 Nov 2022 11:20
(name . Marius Bakke)(address . marius@gnu.org)
RkgWytuZm52T0xhoxjTig5b2ALJRL9d4itDBimjK77SiJpkUpv6Va6XMatmT5QUwhxLRYRNQvQcyUN3kgD8OC1Nh95rX3jA8c2afW6Z1YH8=@protonmail.com
Hi Marius,

Thanks for the review and push to master!

Toggle quote (7 lines)
> 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).

Toggle quote (6 lines)
> * 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?

Toggle quote (3 lines)
> * dropped the !! commits
> * Minor tweaks to synopses and descriptions

My apologies as I noticed there were few packages with wrong license or missing description.

Toggle quote (4 lines)
> * 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.

Toggle quote (4 lines)
> * 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!
Toggle quote (2 lines)
> * Skipped commits that would trigger a lot of rebuilds, e.g. gpgme.

I'll submit it in new ticket.

Toggle quote (4 lines)
> * 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.

Toggle quote (2 lines)
> * 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.

Toggle quote (7 lines)
> 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
M
M
Marius Bakke wrote on 22 Nov 2022 11:56
(name . phodina)(address . phodina@protonmail.com)
87wn7nz28p.fsf@gnu.org
phodina <phodina@protonmail.com> skriver:

Toggle quote (13 lines)
> 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...

Toggle quote (8 lines)
>> * 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).

Toggle quote (5 lines)
>> * 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?

Toggle quote (6 lines)
>> * 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. :-)

Toggle quote (10 lines)
>> * 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'.

Toggle quote (6 lines)
>> * 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.

Toggle quote (5 lines)
>> * 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. :-)

Toggle quote (9 lines)
>> 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!

Toggle quote (2 lines)
> 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.
-----BEGIN PGP SIGNATURE-----

iIUEARYKAC0WIQRNTknu3zbaMQ2ddzTocYulkRQQdwUCY3yq5g8cbWFyaXVzQGdu
dS5vcmcACgkQ6HGLpZEUEHdlmQD/QjugwqcWILFzJ+hlRXSny1St5DXqeUmsnEIC
ZyNPbK0BALF1YyTJtmV9DgJcLL5JcqvJauf2nJSoPHSOeLhhQdEI
=dsMV
-----END PGP SIGNATURE-----

P
P
phodina wrote on 27 Dec 2022 22:15
(name . Marius Bakke)(address . marius@gnu.org)
X3go74odFaq331z5JbwC40xo6HkXw_5_aR6wB1_FX1nrpVHL8oFOE8QKK7I0yAH4ra1rAV06OWQCqcNvh9ZuFVQPUxZ9Jhro7QQ51AmRgG0=@protonmail.com
Hi Marius,





Sent with Proton Mail secure email.

------- Original Message -------
On Tuesday, November 22nd, 2022 at 11:56 AM, Marius Bakke <marius@gnu.org> wrote:


Toggle quote (8 lines)
> > 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).

Thanks for the explanation. I'll keep that in mind.
Toggle quote (11 lines)
>
> > > * 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?

I've tried to follow the licenses as submitted by the individual packages. I'm currently in process
of double checking.


I found out that the kinfocenter and systemsettings were not behaving correctly - no widgets were
rendered due to missing QML modules. The attached patch solves this.

I have some additional patches for kwin and plasma-workspace but they are not yet enough to launch
KDE desktop.

Also one "small" problem. As I switched to sway to test apps running under Wayland I noticed a pretty
important issue. None of the programs launched were running under Wayland - they ran in XWayland.

Is this known issue?

Do we need to modify the qt-build-system or cmake-build-system? Or shall we add wrap phase for each
package to add the correct path for qtwayland package in env variable QT_QPA_PLATFORM_PLUGIN_PATH?

```
$ echo $XDG_SESSION_TYPE
wayland
$ konsole
qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
```

----
Petr
From 063ea2790d55780943a0bd07be64421106b22d4d Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Mon, 26 Dec 2022 10:50:19 +0100
Subject: [PATCH] gnu: system-settings: Add phase 'wrap-executable and
additional inputs.

* gnu/packages/kde-plasma.scm (system-settings)[inputs]: Add qtquickcontrols-5.
[arguments]: Add phase 'wrap-executable.
[inputs]: Add kcoreaddons, kdeclarative, knewstuff, kuserfeedback,
qtgraphicaleffects and qtquickcontrols2-5.

Toggle diff (62 lines)
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 89405bacaa..157ac3e1dd 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -2495,9 +2495,34 @@ (define-public system-settings
(base32
"0n7mf6ygi8fgn1m6pk2fadnqj1h58mxqni3h19xbi373wfypq5fl"))))
(build-system qt-build-system)
+ (arguments
+ (list #:phases #~(modify-phases %standard-phases
+ (add-after 'install 'wrap-executable
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((out #$output)
+ (qml "/lib/qt5/qml"))
+ (wrap-program (string-append out
+ "/bin/systemsettings5")
+ `("QML2_IMPORT_PATH" ":" prefix
+ (,(string-append out qml)
+ ,@(map (lambda (i)
+ (string-append
+ (assoc-ref inputs i) qml))
+ '("kirigami"
+ "kcoreaddons"
+ "kdeclarative"
+ "knewstuff"
+ "kuserfeedback"
+ "plasma-workspace"
+ "qtdeclarative"
+ "qtgraphicaleffects"
+ "qtquickcontrols"
+ "qtquickcontrols2")))))))))))
(native-inputs (list extra-cmake-modules))
(inputs (list kauth
kcrash
+ kcoreaddons
+ kdeclarative
kitemviews
kitemmodels
kcmutils
@@ -2511,14 +2536,19 @@ (define-public system-settings
kdbusaddons
kconfig
kpackage
+ knewstuff
kactivities
kactivities-stats
kguiaddons
kirigami
knotifications
krunner
+ kuserfeedback
plasma-workspace
- qtdeclarative-5))
+ qtdeclarative-5
+ qtgraphicaleffects
+ qtquickcontrols-5
+ qtquickcontrols2-5))
(synopsis "Control center to configure Plasma Desktop")
(description "This package provides configuration UI for Plasma Desktop.")
(home-page "https://invent.kde.org/plasma/systemsettings")
--
2.38.1
M
M
Maxim Cournoyer wrote on 28 Dec 2022 01:48
(name . phodina)(address . phodina@protonmail.com)
87ilhw5p6e.fsf@gmail.com
Hi Petr,

phodina <phodina@protonmail.com> writes:

[...]

Toggle quote (5 lines)
> Also one "small" problem. As I switched to sway to test apps running under Wayland I noticed a pretty
> important issue. None of the programs launched were running under Wayland - they ran in XWayland.
>
> Is this known issue?

It's known as #57742. If you add qtwayland to the inputs of the
packages making use of it, it'll get captured in the wrapper and it'll
work.

--
Thanks,
Maxim
?
Re: [bug#57608] Upstreaming KDE Plasma and rest of packages
(name . phodina)(address . phodina@protonmail.com)(address . 57608-done@debbugs.gnu.org)
87h6odryo2.fsf@envs.net
phodina <phodina@protonmail.com> writes:

Toggle quote (5 lines)
> [...]
>
> The patches are again tracked in the branch patch/upstream-kde [2]. Expect rebases as my next plan is to go
> through licenses and later tests + builds.

Hello, we have a working KDE plasma in master now, closing.

If there are still some changes needed, please rebase and open new
issues, thanks!
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 57608@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 57608
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch