1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2017, 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
4 ;;; This file is part of GNU Guix.
6 ;;; GNU Guix is free software; you can redistribute it and/or modify it
7 ;;; under the terms of the GNU General Public License as published by
8 ;;; the Free Software Foundation; either version 3 of the License, or (at
9 ;;; your option) any later version.
11 ;;; GNU Guix is distributed in the hope that it will be useful, but
12 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 ;;; GNU General Public License for more details.
16 ;;; You should have received a copy of the GNU General Public License
17 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19 (define-module (gnu packages kde-multimedia)
20 #:use-module (guix build-system qt)
21 #:use-module (guix download)
22 #:use-module ((guix licenses) #:prefix license:)
23 #:use-module (guix packages)
24 #:use-module (guix utils)
25 #:use-module (gnu packages)
26 #:use-module (gnu packages audio)
27 #:use-module (gnu packages base)
28 #:use-module (gnu packages compression)
29 #:use-module (gnu packages cdrom)
30 #:use-module (gnu packages glib)
31 #:use-module (gnu packages gtk)
32 #:use-module (gnu packages gnome)
33 #:use-module (gnu packages gstreamer)
34 #:use-module (gnu packages kde-frameworks)
35 #:use-module (gnu packages libcanberra)
36 #:use-module (gnu packages linux)
37 #:use-module (gnu packages mp3)
38 #:use-module (gnu packages music)
39 #:use-module (gnu packages pkg-config)
40 #:use-module (gnu packages pulseaudio)
41 #:use-module (gnu packages qt)
42 #:use-module (gnu packages video)
43 #:use-module (gnu packages xiph)
44 #:use-module (gnu packages xorg))
46 (define-public audiocd-kio
53 (uri (string-append "mirror://kde/stable/applications/" version
54 "/src/audiocd-kio-" version ".tar.xz"))
56 (base32 "1924w7li16qkmqsvbgfihjd7id6mb00m9k3acfwkkf32yzg3dn4q"))))
57 (build-system qt-build-system)
59 `(("extra-cmake-modules" ,extra-cmake-modules)
60 ("kdoctools" ,kdoctools)))
62 `(("cdparanoia" ,cdparanoia)
64 ("kcmutils" ,kcmutils)
68 ("libkcddb" ,libkcddb)
69 ("libkcompactdisc", libkcompactdisc)
70 ("libvorbis" ,libvorbis)
73 (home-page "https://kde.org/applications/multimedia/org.kde.kio_audiocd")
74 (synopsis "Transparent audio CD integration for applications using the KDE
76 (description "KIO AudioCD is a KIO slave that enables KIO-aware
77 applications (such as Dolphin or k3b) to access audio and CD text data on the
78 audio compact disks. It allows transparent drag and drop conversion of audio
79 data into the popular formats and has a configuration System Settings module
80 available in the \"Multimedia\" section.
82 This package is part of the KDE multimedia module.")
83 (license ;; GPL for programs, FDL for documentation
84 (list license:gpl2+ license:fdl1.2+))))
93 (uri (string-append "mirror://kde/stable/applications/" version
94 "/src/dragon-" version ".tar.xz"))
96 (base32 "02l16k4sgrxbczxp8rlnxbylb5fmjh4zhl4xw55qxkvmvxnjy5zr"))))
97 (build-system qt-build-system)
99 `(("extra-cmake-modules" ,extra-cmake-modules)
100 ("kdoctools" ,kdoctools)))
102 `(("kconfig" ,kconfig)
103 ("kconfigwidgets" ,kconfigwidgets)
104 ("kcoreaddons" ,kcoreaddons)
106 ("kdbusaddons" ,kdbusaddons)
109 ("kjobwidgets" ,kjobwidgets)
110 ("knotifications" ,knotifications)
112 ("kwidgetsaddons" ,kwidgetsaddons)
113 ("kwindowsystem" ,kwindowsystem)
115 ("oxygen-icons" ,oxygen-icons) ; default icon set
117 ("phonon-backend-gstreamer" ,phonon-backend-gstreamer)
120 (home-page "https://kde.org/applications/multimedia/org.kde.dragonplayer")
121 (synopsis "Simple video player")
122 (description "Dragon Player is a multimedia player where the focus is on
123 simplicity, instead of features. Dragon Player does one thing, and only one
124 thing, which is playing multimedia files. It's simple interface is designed
125 not to get in your way and instead empower you to simply play multimedia
128 This package is part of the KDE multimedia module.")
129 (license ;; GPL for programs, FDL for documentation
130 (list license:gpl2+ license:fdl1.2+))))
139 (uri (string-append "mirror://kde//stable/elisa/0.4.2"
140 "/elisa-" version ".tar.xz"))
142 (base32 "0v9af6l89pgz1g7naf7gwcnq8znlicyh7z985kxalbdmv359c97w"))))
143 (build-system qt-build-system)
145 `(("extra-cmake-modules" ,extra-cmake-modules)
146 ("pkg-config" ,pkg-config)
148 ("kdoctools" ,kdoctools)
149 ("xorg-server" , xorg-server-for-tests)))
151 `(("kconfig" ,kconfig)
153 ("kconfigwidgets" ,kconfigwidgets)
154 ("kcoreaddons" ,kcoreaddons)
156 ("kcmutils" ,kcmutils)
157 ("kdbusaddons" ,kdbusaddons)
158 ("kdeclarative" ,kdeclarative)
159 ("kfilemetadata" ,kfilemetadata)
162 ("kirigami" ,kirigami)
163 ("kmediaplayer" ,kmediaplayer)
165 ("kpackage" ,kpackage)
166 ("kwidgetsaddons" ,kwidgetsaddons)
168 ("oxygen-icons" ,oxygen-icons) ; default icon set
171 ("qtdeclarative" ,qtdeclarative)
172 ("qtgraphicaleffects" ,qtgraphicaleffects) ; not listed as dependency
173 ("qtmultimedia" ,qtmultimedia)
174 ("qtquickcontrols" ,qtquickcontrols)
175 ("qtquickcontrols2" ,qtquickcontrols2)
177 ("qtx11extras" ,qtx11extras)
178 ;; TODO: upnpqt https://gitlab.com/homeautomationqt/upnp-player-qt
182 (modify-phases %standard-phases
183 (add-before 'check 'start-xorg-server
184 (lambda* (#:key inputs #:allow-other-keys)
185 ;; The test suite requires a running X server, setting
186 ;; QT_QPA_PLATFORM=offscreen does not suffice.
187 (system (string-append (assoc-ref inputs "xorg-server")
188 "/bin/Xvfb :1 -screen 0 640x480x24 &"))
189 (setenv "DISPLAY" ":1")
191 (home-page "https://kde.org/applications/multimedia/org.kde.elisa")
192 (synopsis "Powerful music player for Plasma 5")
193 (description "Elisa is a simple music player aiming to provide a nice
194 experience for its users. Elisa allows to browse music by album, artist or
195 all tracks. The music is indexed using either a private indexer or an indexer
196 using Baloo. The private one can be configured to scan music on chosen paths.
197 The Baloo one is much faster because Baloo is providing all needed data from
198 its own database. You can build and play your own playlist.")
199 (license license:lgpl3+)))
201 (define-public ffmpegthumbs
203 (name "ffmpegthumbs")
208 (uri (string-append "mirror://kde/stable/applications/" version
209 "/src/ffmpegthumbs-" version ".tar.xz"))
211 (base32 "1w6070ng40nf99wpl6p5s8nx0icfx2c26vvnz4f9fx7l7pldh6n9"))))
212 (build-system qt-build-system)
214 `(("extra-cmake-modules" ,extra-cmake-modules)
215 ("pkg-config" ,pkg-config)))
222 (home-page "https://kde.org/applications/multimedia/org.kde.ffmpegthumbs")
223 (synopsis "Video thumbnail generator for KDE using ffmpeg")
225 FFMpegThumbs is a video thumbnail generator for KDE file managers
226 like Dolphin and Konqueror. It enables them to show preview images
227 of video files using FFMpeg.
229 This package is part of the KDE multimedia module.")
230 (license license:gpl2+)))
239 (uri (string-append "mirror://kde/stable/applications/" version
240 "/src/juk-" version ".tar.xz"))
242 (base32 "0c1hrd1n4ah7qm8xr7bfswgbcmbvnnhai4bfawx6v6ab3frl7wvf"))))
243 (build-system qt-build-system)
245 `(("extra-cmake-modules" ,extra-cmake-modules)))
247 `(("kcoreaddons" ,kcoreaddons)
248 ("kcompletion" ,kcompletion)
251 ("kdbusaddons" ,kdbusaddons)
252 ("kdoctools" ,kdoctools)
253 ("kglobalaccel" ,kglobalaccel)
255 ("kiconthemes" ,kiconthemes)
256 ("kjobwidgets" ,kjobwidgets)
258 ("knotifications" ,knotifications)
259 ("ktextwidgets" ,ktextwidgets)
261 ("kwidgetsaddons" ,kwidgetsaddons)
262 ("kwindowsystem" ,kwindowsystem)
264 ("oxygen-icons" ,oxygen-icons) ; default icon set
266 ("phonon-backend-gstreamer" ,phonon-backend-gstreamer)
270 (home-page "https://kde.org/applications/multimedia/org.kde.juk")
271 (synopsis "Music jukebox / music player")
272 (description "JuK is a powerful music player capable of managing a large
275 Some of JuK's features include:
277 @item Music collection, playlists, and smart playlists
278 @item Tag editing support, including the ability to edit multiple files at once
279 @item Tag-based music file organization and renaming
280 @item CD burning support using k3b
281 @item Album art using Google Image Search
284 This package is part of the KDE multimedia module.")
285 (license license:gpl2+)))
294 (uri (string-append "mirror://kde/stable/applications/" version
295 "/src/k3b-" version ".tar.xz"))
297 (base32 "08rbiy1hz650srdksr7ciq8dpcz20wczs22613pghrpgm5zsczhr"))))
298 (build-system qt-build-system)
300 `(("extra-cmake-modules" ,extra-cmake-modules)
301 ("pkg-config" ,pkg-config)
302 ("kdoctools" ,kdoctools)))
306 ("karchive" ,karchive)
307 ("kcmutils" ,kcmutils)
309 ("kcoreaddons" ,kcoreaddons)
310 ("kfilemetadata" ,kfilemetadata)
312 ("kiconthemes" ,kiconthemes)
314 ("kjobwidgets" ,kjobwidgets)
315 ("knewstuff" ,knewstuff)
316 ("knotifications" ,knotifications)
317 ("knotifyconfig" ,knotifyconfig)
318 ("kservice" ,kservice)
319 ("kwidgetsaddons" ,kwidgetsaddons)
322 ("libdvdread" ,libdvdread)
324 ("libiconv" ,libiconv)
325 ("libkcddb" ,libkcddb)
327 ("libmpcdec" ,libmpcdec) ;; FIXME: why does cmake not find this?
328 ;;("libmusicbrainz" ,libmusicbrainz) ; wants old version 2
329 ("libsamplerate" ,libsamplerate)
330 ("libsndfile" ,libsndfile)
331 ("libvorbis" ,libvorbis)
332 ("oxygen-icons" ,oxygen-icons) ; default icon set
334 ("qtwebkit" ,qtwebkit)
335 ("shared-mime-info" ,shared-mime-info)
338 (home-page "https://kde.org/applications/multimedia/org.kde.k3b")
339 (synopsis "Sophisticated CD/DVD burning application")
340 (description "K3b is CD-writing software which intends to be feature-rich
341 and provide an easily usable interface. Features include burning audio CDs
342 from .WAV and .MP3 audio files, configuring external programs and configuring
344 (license ;; GPL for programs, FDL for documentation
345 (list license:gpl2+ license:fdl1.2+))))
347 (define-public kaffeine
354 (uri (string-append "mirror://kde/stable/kaffeine"
355 "/kaffeine-" version ".tar.xz"))
357 (base32 "10dnhr9v2jlki44i3gmjagky66ybixmv6f29z5imk9clgddrlyfr"))))
358 (build-system qt-build-system)
360 `(("extra-cmake-modules" ,extra-cmake-modules)
361 ("pkg-config" ,pkg-config)
362 ("kdoctools" ,kdoctools)))
365 ("kcoreaddons" ,kcoreaddons)
366 ("kdbusaddons" ,kdbusaddons)
369 ("kwidgetsaddons" ,kwidgetsaddons)
370 ("kwindowsystem" ,kwindowsystem)
372 ("libxscrnsaver" ,libxscrnsaver)
373 ("oxygen-icons" ,oxygen-icons) ; default icon set
375 ("qtx11extras" ,qtx11extras)
377 ("v4l-utils" ,v4l-utils) ; libdvbv5
381 (modify-phases %standard-phases
382 (add-after 'unpack 'fix-code
384 (substitute* "src/dvb/dvbdevice_linux.cpp"
385 (("\\s*qPrintable\\(transponder\\.getTransmissionType\\(\\)\\)\\);")
386 "transponder.getTransmissionType());"))
388 (home-page "https://kde.org/applications/multimedia/org.kde.kaffeine")
389 (synopsis "Versatile media player for KDE")
390 (description "Kaffeine is a media player for KDE. While it supports
391 multiple Phonon backends, its default backend is Xine, giving Kaffeine a wide
392 variety of supported media types and letting Kaffeine access CDs, DVDs, and
393 network streams easily.
395 Kaffeine can keep track of multiple playlists simultaneously, and supports
396 autoloading of subtitle files for use while playing video.")
397 (license ;; GPL for programs, FDL for documentation
398 (list license:gpl2+ license:fdl1.2+))))
400 (define-public kamoso
407 (uri (string-append "mirror://kde/stable/applications/" version
408 "/src/kamoso-" version ".tar.xz"))
410 (base32 "0j0lr2gwaxwchgfp54dashm1b39gsaw4ly9p8ybavwwzhjkdqza3"))))
411 (build-system qt-build-system)
413 `(("extra-cmake-modules" ,extra-cmake-modules)
414 ("glib:bin" ,glib "bin")
415 ("kdoctools" ,kdoctools)
416 ("pkg-config" ,pkg-config)))
418 `(("gstreamer" ,gstreamer)
419 ("gst-plugins-base" ,gst-plugins-base)
423 ("kirigami" ,kirigami)
424 ("knotifications" ,knotifications)
426 ("oxygen-icons" ,oxygen-icons) ; default icon set
429 ("qtdeclarative" ,qtdeclarative)
430 ("qtgraphicaleffects" ,qtgraphicaleffects)
431 ("qtquickcontrols" ,qtquickcontrols)
432 ("qtquickcontrols2" ,qtquickcontrols2) ; not listed as dependency
433 ("qtx11extras" ,qtx11extras)))
435 `(#:tests? #f ; test program gets built, but is not found
437 (list (string-append "-DCMAKE_CXX_FLAGS=-I"
438 (assoc-ref %build-inputs "gst-plugins-base")
439 "/include/gstreamer-1.0"))))
440 (home-page "https://kde.org/applications/multimedia/org.kde.kamoso")
441 (synopsis "Take pictures and videos out of your webcam")
442 (description "Kamoso is a simple and friendly program to use your
443 camera. Use it to take pictures and make videos to share.")
444 (license ;; GPL for programs, LGPL for libraries
445 (list license:gpl2+ license:lgpl2.0+))))
454 (uri (string-append "mirror://kde/stable/applications/" version
455 "/src/kmix-" version ".tar.xz"))
457 (base32 "1g42hlmpdf0rrgqapps6v47z9cnwpkfzpwgavaq26m5k3bpanwfg"))))
458 (build-system qt-build-system)
460 `(("extra-cmake-modules" ,extra-cmake-modules)
461 ("pkg-config" ,pkg-config)))
463 `(("alsa-lib" ,alsa-lib)
465 ("kconfigwidgets" ,kconfigwidgets)
466 ("kcompletion" ,kcompletion)
468 ("kconfigwidgets" ,kconfigwidgets)
470 ("kdbusaddons" ,kdbusaddons)
471 ("kdoctools" ,kdoctools)
472 ("kglobalaccel" ,kglobalaccel)
474 ("kiconthemes" ,kiconthemes)
475 ("knotifications" ,knotifications)
476 ("kwidgetsaddons" ,kwidgetsaddons)
477 ("kwindowsystem" ,kwindowsystem)
479 ("libcanberra" ,libcanberra)
480 ("oxygen-icons" ,oxygen-icons) ; default icon set
481 ("plasma-framework" ,plasma-framework)
482 ("pulseaudio" ,pulseaudio)
485 (home-page "https://kde.org/applications/multimedia/org.kde.kmix")
486 (synopsis "Volume control and mixer")
487 (description "KMix is an audio device mixer, used to adjust volume, select
488 recording inputs, and set other hardware options.
490 This package is part of the KDE multimedia module.")
491 (license ;; GPL for programs, LGPL for libraries, FDL for documentation
492 (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
494 (define-public kmplayer
501 (uri (string-append "mirror://kde/stable/kmplayer/0.12"
502 "/kmplayer-" version ".tar.bz2"))
504 (base32 "0wzdxym4fc83wvqyhcwid65yv59a2wvp1lq303cn124mpnlwx62y"))
505 (patches (search-patches
506 "kmplayer-aarch64.patch"
507 "kmplayer-upstream_Fix-build-with-Qt-5.9.patch"))))
508 (build-system qt-build-system)
510 `(("extra-cmake-modules" ,extra-cmake-modules)
511 ("pkg-config" ,pkg-config)
512 ("kdoctools" ,kdoctools)))
514 `(("kconfig" ,kconfig)
515 ("kcoreaddons" ,kcoreaddons)
516 ("kdelibs4support" ,kdelibs4support)
521 ("kmediaplayer" ,kmediaplayer)
522 ("kwidgetsaddons" ,kwidgetsaddons)
523 ("libxcb" ,libxcb) ;; FIXME: why does cmake not find XEVIE and XPRINT?
524 ("oxygen-icons" ,oxygen-icons) ; default icon set
529 ("qtx11extras" ,qtx11extras)
530 ("xcb-util" ,xcb-util)
531 ("xcb-util-cursor" ,xcb-util-cursor)
532 ("xcb-util-errors" ,xcb-util-errors)
533 ("xcb-util-image" ,xcb-util-image)
534 ("xcb-util-keysyms" ,xcb-util-keysyms)
535 ("xcb-util-wm" ,xcb-util-wm)))
539 "-DCMAKE_CXX_FLAGS=-I"
540 (assoc-ref %build-inputs "qtx11extras") "/include/qt5"))))
541 (home-page "https://kde.org/applications/multimedia/org.kde.kmplayer")
542 (synopsis "Media player using mplayer/phonon as backend")
543 (description "Kmplayer can play all the audio/video supported by
544 mplayer/phonon from a local file or URL and be embedded in Konqueror and
545 KHTML. It also plays DVDs.
549 @item play DVD/VCD movies (from file or url and from a video device)
550 @item embed inside konqueror (movie is played inside konqueror)
551 @item embed inside khtml (movie playback inside a html page)
552 @item Movie recording using mencoder (part of the mplayer package)
553 @item No video during recording, but you can always open a new window and play it
554 @item Broadcasting, http streaming, using ffserver/ffmpeg
555 @item For TV sources, you need v4lctl (part of the xawtv package)
557 (license ;; GPL for programs, LGPL for libraries, FDL for documentation
558 (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
567 (uri (string-append "mirror://kde/stable/applications/" version
568 "/src/kwave-" version ".tar.xz"))
570 (base32 "1vv3m3h9mvjr9sxajccqnvcgvz901n3qxhki0g7vsljvh31x5s5x"))))
571 (build-system qt-build-system)
573 `(("extra-cmake-modules" ,extra-cmake-modules)
575 ("pkg-config" ,pkg-config)
576 ("kdoctools" ,kdoctools)))
578 `(("also-lib" ,alsa-lib)
579 ("audiofile" ,audiofile)
582 ("karchive" ,karchive)
583 ("kcompletion" ,kcompletion)
585 ("kconfigwidgets" ,kconfigwidgets)
586 ("kcoreaddons" ,kcoreaddons)
588 ("kdbusaddons" ,kdbusaddons)
590 ("kiconthemes" ,kiconthemes)
592 ("kservice" ,kservice)
593 ("ktextwidgets" ,ktextwidgets)
594 ("kwidgetsaddons" ,kwidgetsaddons)
597 ("libsamplerate" ,libsamplerate)
598 ("libvorbis" ,libvorbis)
600 ("oxygen-icons" ,oxygen-icons) ; default icon set
601 ("pulseaudio" ,pulseaudio)
603 ("qtmultimedia" ,qtmultimedia)
605 (home-page "https://kde.org/applications/multimedia/org.kde.kwave")
606 (synopsis "Sound editor for KDE")
607 (description "Kwave is a sound editor designed for the KDE Desktop
610 With Kwave you can record, play back, import and edit many sorts of audio
611 files including multi-channel files. It includes some plugins to transform
612 audio files in several ways and presents a graphical view with a complete
613 zoom- and scroll capability.
615 Its features include:
619 @item Use of multicore CPUs (SMP, hyperthreading)
620 @item Simple Drag & Drop
621 @item Realtime Pre-Listen for some effects
622 @item Support for multi-track files
623 @item Playback and recording via native ALSA (or OSS, deprecated)
624 @item Playback via PulseAudio and Phonon
625 @item Load and edit-capability for large files (can use virtual memory)
626 @item Reading and auto-repair of damaged wav-files
627 @item Supports multiple windows
628 @item Extendable Plugin interface
629 @item a nice splashscreen
630 @item some label handling
632 (license ;; GPL for programs, LGPL for libraries, FDL for documentation
633 (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+
634 license:cc-by-sa3.0 license:cc-by-sa4.0 ;; icons, samples
635 license:cc0 license:bsd-3)))) ;; utilities files
637 (define-public libkcddb
644 (uri (string-append "mirror://kde/stable/applications/" version
645 "/src/libkcddb-" version ".tar.xz"))
647 (base32 "1rla9sfzpdfiki0p265ga6d1axqpq37825maaw85hm84mg7hkzjn"))))
648 (build-system qt-build-system)
650 `(("extra-cmake-modules" ,extra-cmake-modules)
651 ("kdoctools" ,kdoctools)))
653 `(("kcodecs" ,kcodecs)
657 ("kwidgetsaddons" ,kwidgetsaddons)
658 ("libmusicbrainz" ,libmusicbrainz)
661 `(#:tests? #f)) ; Most tests require network
662 (home-page "https://cgit.kde.org/libkcddb.git")
663 (synopsis "CDDB library for KDE Platform (runtime)")
664 (description "A library for retrieving and sending cddb information.")
665 (license ;; GPL for programs, LGPL for libraries, FDL for documentation
666 (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
668 (define-public libkcompactdisc
670 (name "libkcompactdisc")
675 (uri (string-append "mirror://kde/stable/applications/" version
676 "/src/libkcompactdisc-" version ".tar.xz"))
678 (base32 "09gl2dww5i50rpj92ryw4vq5ryy96cv9kflg6yqgdbznmmdqhawi"))))
679 (build-system qt-build-system)
681 `(("extra-cmake-modules" ,extra-cmake-modules)))
683 `(("alsa-lib" ,alsa-lib)
684 ("kcoreaddons" ,kcoreaddons)
689 (home-page "https://cgit.kde.org/libkcompactdisc.git/")
690 (synopsis "KDE library for playing & ripping CDs")
691 (description "KDE library for playing & ripping CDs.")
692 (license ;; GPL for programs, LGPL for libraries
693 (list license:gpl2+ license:lgpl2.0+))))