Subject: [PATCH core-updates-frozen 16/19] gnu: KDE Multimedia: Update to 21.08.2.

From: Brendan Tildesley <[email-masked]>
Date: Fri, 15 Oct 2021 20:30:12 +1100

(audiocd-kio dragon elisa ffmpegthumbs juk k3b kaffeine kamoso kmix
kwave libkcddb libkcompactdisc): Update to 21.08.2.

(kmplayer): Remove unmaintained program.

(audiocd-kio):
[home-page]: Lint URL.

(dragon): [inputs]: Add gst-plugins-{base,good}.
[arguments]: Wrap plugins.
[home-page]: Lint URL.

(elisa): [inputs]: Add kiconthemes. Use breeze-icons over oxygen-icons as
default.
[home-page]: Lint URL.

(ffmpegthumbs): [inputs]: Add taglib.
[home-page]: Lint URL.

(juk, kaffeine, kmix):
[inputs]: Use breeze-icons over oxygen-icons as default.
[home-page]: Lint URL.

(k3b): [arguments]: Don't use %build-inputs or %outputs.
[inputs]: Use breeze-icons over oxygen-icons as
[home-page]: Lint URL.

(kamoso): [inputs]: Use breeze-icons over oxygen-icons as default.
[arguments]: Don't use %build-inputs.
[home-page]: Lint URL.

(kwave): [native-inputs]: Add gzip (used in arguments)
[inputs]: Use breeze-icons over oxygen-icons as default.
[arguments]: Fix/workaround kwave being unable to find some icons.
[home-page]: Lint URL.
---
 gnu/packages/kde-multimedia.scm | 213 ++++++++++++++------------------
 1 file changed, 95 insertions(+), 118 deletions(-)

diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm
index 4e28fe1367..48ca9635b3 100644
--- a/gnu/packages/kde-multimedia.scm
+++ b/gnu/packages/kde-multimedia.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2017, 2019 Hartmut Goebel <[email-masked]>
 ;;; Copyright © 2020 Timotej Lazar <[email-masked]>
 ;;; Copyright © 2021 Efraim Flashner <[email-masked]>
+;;; Copyright © 2021 Brendan Tildesley <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -48,14 +49,14 @@
 (define-public audiocd-kio
   (package
     (name "audiocd-kio")
-    (version "20.04.1")
+    (version "21.08.2")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/audiocd-kio-" version ".tar.xz"))
        (sha256
-        (base32 "0qlnxxbayqhz25jbvzis27jw2zbw1pmacp8rv7v5wa7zfqn3kmyk"))))
+        (base32 "1l0wym8gisgwv2mg2jsvpj8hb2yvmzd7dcximg540ljphv3hp1p2"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -72,7 +73,7 @@
        ("libvorbis" ,libvorbis)
        ("phonon" ,phonon)
        ("qtbase" ,qtbase-5)))
-    (home-page "https://kde.org/applications/multimedia/org.kde.kio_audiocd")
+    (home-page "https://apps.kde.org/kio_audiocd/")
     (synopsis "Transparent audio CD integration for applications using the KDE
 Platform")
     (description "KIO AudioCD is a KIO slave that enables KIO-aware
@@ -88,14 +89,14 @@ This package is part of the KDE multimedia module.")
 (define-public dragon
   (package
     (name "dragon")
-    (version "20.04.1")
+    (version "21.08.2")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/dragon-" version ".tar.xz"))
        (sha256
-        (base32 "1sssg20a1vpwk816lp5jgwahilaswb9f3hgfqvc73il4g11ky1xj"))))
+        (base32 "0ddijz96z58582w298jp11vns9fx3rmzqd3x1qplxvp4sl0hp9l7"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -114,12 +115,24 @@ This package is part of the KDE multimedia module.")
        ("kwidgetsaddons" ,kwidgetsaddons)
        ("kwindowsystem" ,kwindowsystem)
        ("kxmlgui" ,kxmlgui)
-       ("oxygen-icons" ,oxygen-icons) ; default icon set
+       ("breeze-icons" ,breeze-icons) ; default icon set
        ("phonon" ,phonon)
        ("phonon-backend-gstreamer" ,phonon-backend-gstreamer)
+       ("gst-plugins-base" ,gst-plugins-base)
+       ("gst-plugins-good" ,gst-plugins-good)
        ("qtbase" ,qtbase-5)
        ("solid" ,solid)))
-    (home-page "https://kde.org/applications/multimedia/org.kde.dragonplayer")
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'qt-wrap 'gst-wrap
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((out             (assoc-ref outputs "out"))
+                   (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
+               (wrap-program (string-append out "/bin/dragon")
+                 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)))
+               #t))))))
+    (home-page "https://apps.kde.org/dragonplayer/")
     (synopsis "Simple video player")
     (description "Dragon Player is a multimedia player where the focus is on
 simplicity, instead of features.  Dragon Player does one thing, and only one
@@ -134,14 +147,14 @@ This package is part of the KDE multimedia module.")
 (define-public elisa
   (package
     (name "elisa")
-    (version "20.12.0")
+    (version "21.08.2")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/elisa-" version ".tar.xz"))
        (sha256
-        (base32 "02450lsnbd37fms1i2bb9qc9wir4vym6qqd9p5hr6a6s6qwfs6qf"))))
+        (base32 "14wi7dva0bfagxw49bs80qszqcv6k16s0569mh1c4m97gzlzgv35"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -159,6 +172,7 @@ This package is part of the KDE multimedia module.")
        ("kdbusaddons" ,kdbusaddons)
        ("kdeclarative" ,kdeclarative)
        ("kfilemetadata" ,kfilemetadata)
+       ("kiconthemes" ,kiconthemes)
        ("ki18n" ,ki18n)
        ("kio" ,kio)
        ("kirigami" ,kirigami)
@@ -167,7 +181,7 @@ This package is part of the KDE multimedia module.")
        ("kpackage" ,kpackage)
        ("kwidgetsaddons" ,kwidgetsaddons)
        ("kxmlgui" ,kxmlgui)
-       ("oxygen-icons" ,oxygen-icons) ; default icon set
+       ("breeze-icons" ,breeze-icons) ; default icon set
        ("phonon" ,phonon)
        ("qtbase" ,qtbase-5)
        ("qtdeclarative" ,qtdeclarative)
@@ -195,7 +209,7 @@ This package is part of the KDE multimedia module.")
                (setenv "CTEST_OUTPUT_ON_FAILURE" "1")
                (invoke "dbus-launch" "make" test-target))
              #t)))))
-    (home-page "https://kde.org/applications/multimedia/org.kde.elisa")
+    (home-page "https://apps.kde.org/elisa/")
     (synopsis "Powerful music player for Plasma 5")
     (description "Elisa is a simple music player aiming to provide a nice
 experience for its users.  Elisa browses music by album, artist or
@@ -208,14 +222,14 @@ its own database.  You can build and play your own playlist.")
 (define-public ffmpegthumbs
   (package
     (name "ffmpegthumbs")
-    (version "20.04.1")
+    (version "21.08.2")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/ffmpegthumbs-" version ".tar.xz"))
        (sha256
-        (base32 "17l50z33a1h5zkrrfkb261yi2hms66qj36l1mndq7mvs97y2ggmc"))))
+        (base32 "1gsxcm86aq3r485ivk532a949z5l4129kildbd752c2qy0hdy5z1"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -225,8 +239,9 @@ its own database.  You can build and play your own playlist.")
        ("kconfig" ,kconfig)
        ("ki18n" ,ki18n)
        ("kio" ,kio)
+       ("taglib" ,taglib)
        ("qtbase" ,qtbase-5)))
-    (home-page "https://kde.org/applications/multimedia/org.kde.ffmpegthumbs")
+    (home-page "https://apps.kde.org/ffmpegthumbs/")
     (synopsis "Video thumbnail generator for KDE using ffmpeg")
     (description "
 FFMpegThumbs is a video thumbnail generator for KDE file managers
@@ -239,14 +254,14 @@ This package is part of the KDE multimedia module.")
 (define-public juk
   (package
     (name "juk")
-    (version "20.04.1")
+    (version "21.08.2")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/juk-" version ".tar.xz"))
        (sha256
-        (base32 "06vsh7knyhcbcbf632jhldbqpzfkdyils2l8dbcdw5nj5hhgzzmr"))))
+        (base32 "0c74s9ylx1xh1y581ygm6zyafwv3l5d7297wfg50f64nyr5npxm2"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -268,13 +283,13 @@ This package is part of the KDE multimedia module.")
        ("kwidgetsaddons" ,kwidgetsaddons)
        ("kwindowsystem" ,kwindowsystem)
        ("kxmlgui" ,kxmlgui)
-       ("oxygen-icons" ,oxygen-icons) ; default icon set
+       ("breeze-icons" ,breeze-icons) ; default icon set
        ("phonon" ,phonon)
        ("phonon-backend-gstreamer" ,phonon-backend-gstreamer)
        ("qtbase" ,qtbase-5)
        ("qtsvg" ,qtsvg)
        ("taglib" ,taglib)))
-    (home-page "https://kde.org/applications/multimedia/org.kde.juk")
+    (home-page "https://apps.kde.org/juk/")
     (synopsis "Music jukebox / music player")
     (description "JuK is a powerful music player capable of managing a large
 music collection.
@@ -294,24 +309,24 @@ This package is part of the KDE multimedia module.")
 (define-public k3b
   (package
     (name "k3b")
-    (version "20.04.2")
+    (version "21.08.2")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/k3b-" version ".tar.xz"))
        (sha256
-        (base32 "15wm987hz6rfs9ds9l1gbs6gdsardj1ywvk6zmpvj2i2190y4b3q"))))
+        (base32 "1g9xgzklsyard3ghcmr9irixcilga6kcj46jav884y8w7zxb4mrd"))))
     (build-system qt-build-system)
     (arguments
      `(#:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'set-absolute-library-paths
-           (lambda _
+           (lambda* (#:key inputs #:allow-other-keys)
              ;; Set absolute paths for dlopened libraries. We can’t use k3b’s
              ;; runpath as they are loaded by the Qt library.
-             (let ((libcdio-paranoia (assoc-ref %build-inputs "libcdio-paranoia"))
-                   (libdvdcss (assoc-ref %build-inputs "libdvdcss")))
+             (let ((libcdio-paranoia (assoc-ref inputs "libcdio-paranoia"))
+                   (libdvdcss (assoc-ref inputs "libdvdcss")))
                (substitute* "libk3b/tools/k3bcdparanoialib.cpp"
                  (("\"(cdio_cdda|cdio_paranoia)\"" _ library)
                   (string-append "\"" libcdio-paranoia "/lib/" library "\"")))
@@ -320,12 +335,12 @@ This package is part of the KDE multimedia module.")
                   (string-append "\"" libdvdcss "/lib/" library "\""))))
              #t))
          (add-after 'qt-wrap 'wrap-path
-           (lambda _
+           (lambda* (#:key inputs outputs #:allow-other-keys)
              ;; Set paths to backend programs.
-             (wrap-program (string-append (assoc-ref %outputs "out") "/bin/k3b")
+             (wrap-program (string-append (assoc-ref outputs "out") "/bin/k3b")
                `("PATH" ":" prefix
                  ,(map (lambda (input)
-                         (string-append (assoc-ref %build-inputs input) "/bin"))
+                         (string-append (assoc-ref inputs input) "/bin"))
                        '("cdrdao" "dvd+rw-tools" "libburn" "sox"))))
              #t)))))
     (native-inputs
@@ -366,7 +381,7 @@ This package is part of the KDE multimedia module.")
        ("libsamplerate" ,libsamplerate)
        ("libsndfile" ,libsndfile)
        ("libvorbis" ,libvorbis)
-       ("oxygen-icons" ,oxygen-icons) ; default icon set
+       ("breeze-icons" ,breeze-icons) ; default icon set
        ("qtbase" ,qtbase-5)
        ("qtwebkit" ,qtwebkit)
        ("shared-mime-info" ,shared-mime-info)
@@ -374,7 +389,7 @@ This package is part of the KDE multimedia module.")
        ("sox" ,sox)
        ("taglib" ,taglib)
        ("zlib" ,zlib)))
-    (home-page "https://kde.org/applications/multimedia/org.kde.k3b")
+    (home-page "https://apps.kde.org/k3b/")
     (synopsis "Sophisticated CD/DVD burning application")
     (description "K3b is CD-writing software which intends to be feature-rich
 and provide an easily usable interface.  Features include burning audio CDs
@@ -412,7 +427,7 @@ available CD drives.")
        ("kwindowsystem" ,kwindowsystem)
        ("kxmlgui" ,kxmlgui)
        ("libxscrnsaver" ,libxscrnsaver)
-       ("oxygen-icons" ,oxygen-icons) ; default icon set
+       ("breeze-icons" ,breeze-icons) ; default icon set
        ("qtbase" ,qtbase-5)
        ("qtx11extras" ,qtx11extras)
        ("solid" ,solid)
@@ -427,7 +442,7 @@ available CD drives.")
                (("\\s*qPrintable\\(transponder\\.getTransmissionType\\(\\)\\)\\);")
                  "transponder.getTransmissionType());"))
              #t)))))
-    (home-page "https://kde.org/applications/multimedia/org.kde.kaffeine")
+    (home-page "https://apps.kde.org/kaffeine/")
     (synopsis "Versatile media player for KDE")
     (description "Kaffeine is a media player for KDE.  While it supports
 multiple Phonon backends, its default backend is Xine, giving Kaffeine a wide
@@ -442,14 +457,14 @@ autoloading of subtitle files for use while playing video.")
 (define-public kamoso
   (package
     (name "kamoso")
-    (version "20.04.1")
+    (version "21.08.2")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kamoso-" version ".tar.xz"))
        (sha256
-        (base32 "0c47j315kjfikd3b6x18786k3gqymicjjslpm0a58zdxl3wpqfay"))))
+        (base32 "0rkd9mk7rgha40j19rwpyqmn8lchqahakn4p3sbab7h3p3cq2b7p"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -465,7 +480,7 @@ autoloading of subtitle files for use while playing video.")
        ("kirigami" ,kirigami)
        ("knotifications" ,knotifications)
        ("kparts" ,kparts)
-       ("oxygen-icons" ,oxygen-icons) ; default icon set
+       ("breeze-icons" ,breeze-icons) ; default icon set
        ("purpose" ,purpose)
        ("qtbase" ,qtbase-5)
        ("qtdeclarative" ,qtdeclarative)
@@ -473,13 +488,8 @@ autoloading of subtitle files for use while playing video.")
        ("qtquickcontrols" ,qtquickcontrols)
        ("qtquickcontrols2" ,qtquickcontrols2) ; not listed as dependency
        ("qtx11extras" ,qtx11extras)))
-    (arguments
-     `(#:tests? #f ; test program gets built, but is not found
-       #:configure-flags
-       (list (string-append "-DCMAKE_CXX_FLAGS=-I"
-                            (assoc-ref %build-inputs "gst-plugins-base")
-                            "/include/gstreamer-1.0"))))
-    (home-page "https://kde.org/applications/multimedia/org.kde.kamoso")
+    (arguments `(#:tests? #f)) ; test program gets built, but is not found
+    (home-page "https://apps.kde.org/kamoso/")
     (synopsis "Take pictures and videos out of your webcam")
     (description "Kamoso is a simple and friendly program to use your
 camera.  Use it to take pictures and make videos to share.")
@@ -489,14 +499,14 @@ camera.  Use it to take pictures and make videos to share.")
 (define-public kmix
   (package
     (name "kmix")
-    (version "20.04.1")
+    (version "21.08.2")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://kde/stable/release-service/" version
                           "/src/kmix-" version ".tar.xz"))
       (sha256
-       (base32 "1na52ypp57wqrc6pl1khinx9i6fidv1k97nnxcy8zb4l7d5sh1nd"))))
+       (base32 "1srv1alrq2w87rmv9jriz1y37rb0fp7w14291ky64gf23phwmfdq"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -519,12 +529,12 @@ camera.  Use it to take pictures and make videos to share.")
        ("kwindowsystem" ,kwindowsystem)
        ("kxmlgui" ,kxmlgui)
        ("libcanberra" ,libcanberra)
-       ("oxygen-icons" ,oxygen-icons) ; default icon set
+       ("breeze-icons" ,breeze-icons) ; default icon set
        ("plasma-framework" ,plasma-framework)
        ("pulseaudio" ,pulseaudio)
        ("qtbase" ,qtbase-5)
        ("solid" ,solid)))
-    (home-page "https://kde.org/applications/multimedia/org.kde.kmix")
+    (home-page "https://apps.kde.org/kmix/")
     (synopsis "Volume control and mixer")
     (description "KMix is an audio device mixer, used to adjust volume, select
 recording inputs, and set other hardware options.
@@ -533,86 +543,21 @@ This package is part of the KDE multimedia module.")
     (license ;; GPL for programs, LGPL for libraries, FDL for documentation
      (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
 
-(define-public kmplayer
-  (package
-    (name "kmplayer")
-    (version "0.12.0b")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "mirror://kde/stable/kmplayer/0.12"
-                           "/kmplayer-" version ".tar.bz2"))
-       (sha256
-        (base32 "0wzdxym4fc83wvqyhcwid65yv59a2wvp1lq303cn124mpnlwx62y"))
-       (patches (search-patches
-                 "kmplayer-aarch64.patch"
-                 "kmplayer-upstream_Fix-build-with-Qt-5.9.patch"))))
-    (build-system qt-build-system)
-    (native-inputs
-     `(("extra-cmake-modules" ,extra-cmake-modules)
-       ("pkg-config" ,pkg-config)
-       ("kdoctools" ,kdoctools)))
-    (inputs
-     `(("kconfig" ,kconfig)
-       ("kcoreaddons" ,kcoreaddons)
-       ("kdelibs4support" ,kdelibs4support)
-       ("ki18n" ,ki18n)
-       ("kinit" ,kinit)
-       ("kio" ,kio)
-       ("kparts" ,kparts)
-       ("kmediaplayer" ,kmediaplayer)
-       ("kwidgetsaddons" ,kwidgetsaddons)
-       ("libxcb" ,libxcb) ;; FIXME: why does cmake not find XEVIE and XPRINT?
-       ("oxygen-icons" ,oxygen-icons) ; default icon set
-       ("phonon" ,phonon)
-       ("qtbase" ,qtbase-5)
-       ("cairo" ,cairo)
-       ("qtsvg" ,qtsvg)
-       ("qtx11extras" ,qtx11extras)
-       ("xcb-util" ,xcb-util)
-       ("xcb-util-cursor" ,xcb-util-cursor)
-       ("xcb-util-errors" ,xcb-util-errors)
-       ("xcb-util-image" ,xcb-util-image)
-       ("xcb-util-keysyms" ,xcb-util-keysyms)
-       ("xcb-util-wm" ,xcb-util-wm)))
-    (arguments
-     `(#:configure-flags
-       (list (string-append
-              "-DCMAKE_CXX_FLAGS=-I"
-              (assoc-ref %build-inputs "qtx11extras") "/include/qt5"))))
-    (home-page "https://kde.org/applications/multimedia/org.kde.kmplayer")
-    (synopsis "Media player using mplayer/phonon as backend")
-    (description "Kmplayer can play all the audio/video supported by
-mplayer/phonon from a local file or URL and be embedded in Konqueror and
-KHTML.  It also plays DVDs.
-
-Some features:
-@itemize
-@item play DVD/VCD movies (from file or url and from a video device)
-@item embed inside konqueror (movie is played inside konqueror)
-@item embed inside khtml (movie playback inside a html page)
-@item Movie recording using mencoder (part of the mplayer package)
-@item No video during recording, but you can always open a new window and play it
-@item Broadcasting, http streaming, using ffserver/ffmpeg
-@item For TV sources, you need v4lctl (part of the xawtv package)
-@end itemize")
-    (license ;; GPL for programs, LGPL for libraries, FDL for documentation
-     (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
-
 (define-public kwave
   (package
     (name "kwave")
-    (version "20.04.1")
+    (version "21.08.2")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                           "/src/kwave-" version ".tar.xz"))
        (sha256
-        (base32 "0ysa873pc2gip95cxr8yv7ifd9qql5zg6h67i9n9q3iqa6v58iyw"))))
+        (base32 "0sivhgcypwpdi6g0mkdzf1k2hqkj1vj4b5cdcvn8chs2gk9pisgh"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("gzip" ,gzip)
        ("librsvg" ,librsvg)
        ("pkg-config" ,pkg-config)
        ("kdoctools" ,kdoctools)))
@@ -639,12 +584,44 @@ Some features:
        ("libsamplerate" ,libsamplerate)
        ("libvorbis" ,libvorbis)
        ("opus" ,opus)
-       ("oxygen-icons" ,oxygen-icons) ; default icon set
+       ("breeze-icons" ,breeze-icons) ; default icon set
        ("pulseaudio" ,pulseaudio)
        ("qtbase" ,qtbase-5)
        ("qtmultimedia" ,qtmultimedia)
        ("zlib" ,zlib)))
-    (home-page "https://kde.org/applications/multimedia/org.kde.kwave")
+    (arguments
+     `(#:phases
+       ;; XXX: I haven't the slightest clue why, but there are two sets of
+       ;; icons that fail to be found: .svgz icons, since only .svg icons are
+       ;; searched for, and some local .png files which don't get
+       ;; loaded. Instead, they get searched for as e.g. fade_in.png.png files
+       ;; in XDG_DATA_DIRS.
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-icon-names
+           (lambda _
+             (substitute* "kwave/menus.config" (("\\.png") ""))))
+         (add-after 'install 'unpack-svgz
+           (lambda* (#:key native-inputs inputs outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (path (string-append out "/share/icons/hicolor/scalable"))
+                    (icons (find-files path "svgz$"))
+                    (gunzip (string-append (assoc-ref (or native-inputs inputs) "gzip")
+                                           "/bin/gunzip"))
+                    (pngs (find-files (string-append out "/share/kwave/pics") "png$"))
+                    (png-dir (string-append out "/share/icons/hicolor/32x32/actions")))
+               (for-each
+                (lambda (path)
+                  (let* ((svg.gz (string-append (string-drop-right path 1) ".gz")))
+                    (copy-file path svg.gz)
+                    (invoke gunzip svg.gz)))
+                icons)
+               (mkdir-p png-dir)
+               (for-each
+                (lambda (file)
+                  (symlink file (string-append png-dir "/" (basename file))))
+                pngs)
+               #t))))))
+    (home-page "https://apps.kde.org/kwave/")
     (synopsis "Sound editor for KDE")
     (description "Kwave is a sound editor designed for the KDE Desktop
 Environment.
@@ -679,14 +656,14 @@ Its features include:
 (define-public libkcddb
   (package
     (name "libkcddb")
-    (version "20.04.1")
+    (version "21.08.2")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/libkcddb-" version ".tar.xz"))
        (sha256
-        (base32 "1fwryaj8ldmsqhl5qxjda8by9i7xlb97r8p9rqzckw697hkfhs0h"))))
+        (base32 "03az77p3p0c0shzi2y2n5721gppzgrq469afvpjppria1n3ks5d2"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -710,14 +687,14 @@ Its features include:
 (define-public libkcompactdisc
   (package
     (name "libkcompactdisc")
-    (version "20.04.1")
+    (version "21.08.2")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/libkcompactdisc-" version ".tar.xz"))
        (sha256
-        (base32 "0iy4i0hxqsrnndd4iqkww7v1rqry7kvi5paxdw5qjfffwn8kcsbx"))))
+        (base32 "0sjr8gdbqsjlggxax0l2bxn42l9znplrjiln15izj2zwfkah7d69"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
-- 
2.33.0