Subject: [bug#64798] [PATCH 000/209] update kde package and add plasme desktop

From: 宋文武 <[email-masked]>
Date: Sat, 05 Aug 2023 19:50:26 +0800

宋文武 <[email-masked]> writes:

> 宋文武 <[email-masked]> writes:
>
>> Zheng Junjie <[email-masked]> writes:
>>
>>> hello!
>>>
>>> I updated some kde package, and add plasma desktop.
>>
>> Hello, I had pick those patches from your Github repo, and modify
>> some commit messages (mostly from 'use ...' to 'Use ...', 'add ...' to
>> 'Add ...') to hopefully align better with our style.
>>
>> And put it here https://codeberg.org/iyzsong/guix with my wip (building
>> qtwebengine now...), I plan to update all KDE packages (games, internet,
>> multimedia, etc.), and will push to a kde-updates branch on
>> git.savannah.gnu.org once it's in good shape.
>
> I have push a kde-updates branch to savannah, with plasma update to
> 5.27.7.  Applications are all build fine but some have runtime issues.
> I haven't got Plasma built due to substitute issues, will try later in
> next days...
>
> In addition to version updates, there have some changes:
>
> 2b9e2e65cf gnu: Remove kwayland-server.
> 08846c7ebf gnu: qgpgme: Propagate gpgme.
> b9e192ad9a gnu: Add qcoro-qt5.
> ab3eba1447 gnu: Add kpipewire.
>
> Review is welcome, Thanks!

Plasma build and works fine.
Also fixed 3 mahjongg games with:

>From 1e4085670a149df7e9858ef6c52995415cf27037 Mon Sep 17 00:00:00 2001
Message-ID: <[email-masked]>
From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <[email-masked]>
Date: Sat, 5 Aug 2023 15:37:57 +0800
Subject: [PATCH 1/2] gnu: kajongg: Hardcode paths to 'ogg123' and 'python3'.

* gnu/packages/kde-games.scm (kajongg)[inputs]: Add vorbis-tools.
[arguments]<#:phases>: Hardcode paths to 'ogg123' and 'python3'.
---
 gnu/packages/kde-games.scm | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/kde-games.scm b/gnu/packages/kde-games.scm
index a47deb6c68..9e2b885c2b 100644
--- a/gnu/packages/kde-games.scm
+++ b/gnu/packages/kde-games.scm
@@ -37,7 +37,8 @@ (define-module (gnu packages kde-games)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
-  #:use-module (gnu packages qt))
+  #:use-module (gnu packages qt)
+  #:use-module (gnu packages xiph))
 
 (define-public ktuberling
   (package
@@ -300,7 +301,15 @@ (define-public kajongg
              (substitute* "src/mjresource.py"
                (("'share', 'kmahjongglib'" all)
                 (string-append "'" (assoc-ref inputs "libkmahjongg")
-                               "/share', 'kmahjongglib'")))))
+                               "/share', 'kmahjongglib'")))
+             (substitute* "src/sound.py"
+               (("oggBinary = 'ogg123'")
+                (format #f "oggBinary = '~a'"
+                        (search-input-file inputs "bin/ogg123"))))
+             (substitute* "src/common.py"
+               (("interpreterName = 'python3'")
+                (format #f "interpreterName = '~a'"
+                        (search-input-file inputs "bin/python3"))))))
          (add-after 'qt-wrap 'wrap
            (lambda* (#:key outputs #:allow-other-keys)
              (let ((out (assoc-ref outputs "out")))
@@ -327,7 +336,8 @@ (define-public kajongg
            python-qtpy
            python-zope-interface
            qtbase-5
-           qtsvg-5))
+           qtsvg-5
+           vorbis-tools))
     (home-page "https://apps.kde.org/kajongg/")
     (synopsis "Classical Mah Jongg game for 4 players")
     (description "Kajongg is the ancient Chinese board game for 4 players.

base-commit: 0a4490e4fd77a0dd50262d080bd024a2f41cdc4a
-- 
2.41.0

>From 4c0a6635d81970da2f461757ff891f2528a57b5c Mon Sep 17 00:00:00 2001
Message-ID: <[email-masked]>
In-Reply-To: <[email-masked]>
References: <[email-masked]>
From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <[email-masked]>
Date: Sat, 5 Aug 2023 19:36:49 +0800
Subject: [PATCH 2/2] gnu: libkmahjongg: Make its tilset available to games.

* gnu/packages/kde-games.scm (libkmahjongg)[arguments]: Add a phase
to add its "$out/share" to XDG_DATA_DIRS.
---
 gnu/packages/kde-games.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/kde-games.scm b/gnu/packages/kde-games.scm
index 9e2b885c2b..8ed530d83e 100644
--- a/gnu/packages/kde-games.scm
+++ b/gnu/packages/kde-games.scm
@@ -27,6 +27,7 @@ (define-module (gnu packages kde-games)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system qt)
+  #:use-module (guix gexp)
   #:use-module (gnu packages bash)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages gl)
@@ -184,6 +185,24 @@ (define-public libkmahjongg
       (sha256
        (base32 "1a0c0q34h5yxwx76y6934ibn6hm1ip1hc2xvl11q1kaazq0alca3"))))
     (build-system qt-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'patch-tileset-dir
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              ;; Add "$out/share" to XDG_DATA_DIRS so that the default tileset
+              ;; is always available.
+              (substitute* "src/kmahjonggtileset.cpp"
+                (("_inited = true;")
+                 (format #f "QByteArray x = qgetenv(\"XDG_DATA_DIRS\");
+if (!x.isEmpty()) {
+  QString datadirs = QString::fromLocal8Bit(x) + QLatin1String(\":~a\");
+  qputenv(\"XDG_DATA_DIRS\", datadirs.toLocal8Bit());
+}
+_inited = true;"
+                         (string-append
+                          (assoc-ref outputs "out") "/share")))))))))
     (native-inputs
      (list extra-cmake-modules))
     (inputs
-- 
2.41.0

CC to guix-devel: Anyone can help to setup a CI job for this kde-updates
branch? (more than 2000 packages will need rebuild due to sdl2 -> fcitx -> extra-cmake-modules)
Thanks!