kde-multimedia.scm 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782
  1. ;;; GNU Guix --- Functional package management for GNU
  2. ;;; Copyright © 2017, 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
  3. ;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si>
  4. ;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il>
  5. ;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
  6. ;;;
  7. ;;; This file is part of GNU Guix.
  8. ;;;
  9. ;;; GNU Guix is free software; you can redistribute it and/or modify it
  10. ;;; under the terms of the GNU General Public License as published by
  11. ;;; the Free Software Foundation; either version 3 of the License, or (at
  12. ;;; your option) any later version.
  13. ;;;
  14. ;;; GNU Guix is distributed in the hope that it will be useful, but
  15. ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
  16. ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  17. ;;; GNU General Public License for more details.
  18. ;;;
  19. ;;; You should have received a copy of the GNU General Public License
  20. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
  21. (define-module (gnu packages kde-multimedia)
  22. #:use-module (guix build-system qt)
  23. #:use-module (guix download)
  24. #:use-module (guix gexp)
  25. #:use-module ((guix licenses) #:prefix license:)
  26. #:use-module (guix packages)
  27. #:use-module (guix utils)
  28. #:use-module (gnu packages)
  29. #:use-module (gnu packages audio)
  30. #:use-module (gnu packages base)
  31. #:use-module (gnu packages compression)
  32. #:use-module (gnu packages cdrom)
  33. #:use-module (gnu packages glib)
  34. #:use-module (gnu packages gtk)
  35. #:use-module (gnu packages gnome)
  36. #:use-module (gnu packages gstreamer)
  37. #:use-module (gnu packages kde-frameworks)
  38. #:use-module (gnu packages libcanberra)
  39. #:use-module (gnu packages linux)
  40. #:use-module (gnu packages mp3)
  41. #:use-module (gnu packages music)
  42. #:use-module (gnu packages pkg-config)
  43. #:use-module (gnu packages pulseaudio)
  44. #:use-module (gnu packages qt)
  45. #:use-module (gnu packages video)
  46. #:use-module (gnu packages xiph)
  47. #:use-module (gnu packages xorg))
  48. (define-public audiocd-kio
  49. (package
  50. (name "audiocd-kio")
  51. (version "21.08.1")
  52. (source
  53. (origin
  54. (method url-fetch)
  55. (uri (string-append "mirror://kde/stable/release-service/" version
  56. "/src/audiocd-kio-" version ".tar.xz"))
  57. (sha256
  58. (base32 "1aqzgmpypzska5lgjwjpnbl6q2cbyiirph6h8ph5wnnb992lx8li"))))
  59. (build-system qt-build-system)
  60. (native-inputs
  61. `(("extra-cmake-modules" ,extra-cmake-modules)
  62. ("kdoctools" ,kdoctools)))
  63. (inputs
  64. `(("cdparanoia" ,cdparanoia)
  65. ("flac" ,flac)
  66. ("kcmutils" ,kcmutils)
  67. ("kconfig" ,kconfig)
  68. ("ki18n" ,ki18n)
  69. ("kio" ,kio)
  70. ("libkcddb" ,libkcddb)
  71. ("libkcompactdisc" ,libkcompactdisc)
  72. ("libvorbis" ,libvorbis)
  73. ("phonon" ,phonon)
  74. ("qtbase" ,qtbase-5)))
  75. (home-page "https://apps.kde.org/kio_audiocd/")
  76. (synopsis "Transparent audio CD integration for applications using the KDE
  77. Platform")
  78. (description "KIO AudioCD is a KIO slave that enables KIO-aware
  79. applications (such as Dolphin or k3b) to access audio and CD text data on the
  80. audio compact disks. It allows transparent drag and drop conversion of audio
  81. data into the popular formats and has a configuration System Settings module
  82. available in the \"Multimedia\" section.
  83. This package is part of the KDE multimedia module.")
  84. (license ;; GPL for programs, FDL for documentation
  85. (list license:gpl2+ license:fdl1.2+))))
  86. (define-public dragon
  87. (package
  88. (name "dragon")
  89. (version "21.08.1")
  90. (source
  91. (origin
  92. (method url-fetch)
  93. (uri (string-append "mirror://kde/stable/release-service/" version
  94. "/src/dragon-" version ".tar.xz"))
  95. (sha256
  96. (base32 "050jrizyip362fanrbx3fwp4n69sr7d4y2w6n70aqv8hhi90xqjy"))))
  97. (build-system qt-build-system)
  98. (native-inputs
  99. `(("extra-cmake-modules" ,extra-cmake-modules)
  100. ("kdoctools" ,kdoctools)))
  101. (inputs
  102. `(("kconfig" ,kconfig)
  103. ("kconfigwidgets" ,kconfigwidgets)
  104. ("kcoreaddons" ,kcoreaddons)
  105. ("kcrash" ,kcrash)
  106. ("kdbusaddons" ,kdbusaddons)
  107. ("ki18n" ,ki18n)
  108. ("kio" ,kio)
  109. ("kjobwidgets" ,kjobwidgets)
  110. ("knotifications" ,knotifications)
  111. ("kparts" ,kparts)
  112. ("kwidgetsaddons" ,kwidgetsaddons)
  113. ("kwindowsystem" ,kwindowsystem)
  114. ("kxmlgui" ,kxmlgui)
  115. ("breeze-icons" ,breeze-icons) ; default icon set
  116. ("phonon" ,phonon)
  117. ("phonon-backend-gstreamer" ,phonon-backend-gstreamer)
  118. ("gst-plugins-base" ,gst-plugins-base)
  119. ("gst-plugins-good" ,gst-plugins-good)
  120. ("qtbase" ,qtbase-5)
  121. ("solid" ,solid)))
  122. (arguments
  123. `(#:phases
  124. (modify-phases %standard-phases
  125. (add-after 'qt-wrap 'gst-wrap
  126. (lambda* (#:key inputs outputs #:allow-other-keys)
  127. (let ((out (assoc-ref outputs "out"))
  128. (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
  129. (wrap-program (string-append out "/bin/dragon")
  130. `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)))
  131. #t))))))
  132. (home-page "https://apps.kde.org/dragonplayer/")
  133. (synopsis "Simple video player")
  134. (description "Dragon Player is a multimedia player where the focus is on
  135. simplicity, instead of features. Dragon Player does one thing, and only one
  136. thing, which is playing multimedia files. It's simple interface is designed
  137. not to get in your way and instead empower you to simply play multimedia
  138. files.
  139. This package is part of the KDE multimedia module.")
  140. (license ;; GPL for programs, FDL for documentation
  141. (list license:gpl2+ license:fdl1.2+))))
  142. (define-public elisa
  143. (package
  144. (name "elisa")
  145. (version "21.08.1")
  146. (source
  147. (origin
  148. (method url-fetch)
  149. (uri (string-append "mirror://kde/stable/release-service/" version
  150. "/src/elisa-" version ".tar.xz"))
  151. (sha256
  152. (base32 "12kr5aixw5gdmy2vj6id0wmznkwg6p1ysxcqayk8bwvv2qz2pygr"))))
  153. (build-system qt-build-system)
  154. (native-inputs
  155. `(("extra-cmake-modules" ,extra-cmake-modules)
  156. ("pkg-config" ,pkg-config)
  157. ("dbus" ,dbus)
  158. ("kdoctools" ,kdoctools)
  159. ("xorg-server" , xorg-server-for-tests)))
  160. (inputs
  161. `(("kconfig" ,kconfig)
  162. ("baloo" ,baloo)
  163. ("kconfigwidgets" ,kconfigwidgets)
  164. ("kcoreaddons" ,kcoreaddons)
  165. ("kcrash" ,kcrash)
  166. ("kcmutils" ,kcmutils)
  167. ("kdbusaddons" ,kdbusaddons)
  168. ("kdeclarative" ,kdeclarative)
  169. ("kfilemetadata" ,kfilemetadata)
  170. ("kiconthemes" ,kiconthemes)
  171. ("ki18n" ,ki18n)
  172. ("kio" ,kio)
  173. ("kirigami" ,kirigami)
  174. ("kmediaplayer" ,kmediaplayer)
  175. ("kparts" ,kparts)
  176. ("kpackage" ,kpackage)
  177. ("kwidgetsaddons" ,kwidgetsaddons)
  178. ("kxmlgui" ,kxmlgui)
  179. ("breeze-icons" ,breeze-icons) ; default icon set
  180. ("phonon" ,phonon)
  181. ("qtbase" ,qtbase-5)
  182. ("qtdeclarative" ,qtdeclarative)
  183. ("qtgraphicaleffects" ,qtgraphicaleffects) ; not listed as dependency
  184. ("qtmultimedia" ,qtmultimedia)
  185. ("qtquickcontrols" ,qtquickcontrols)
  186. ("qtquickcontrols2" ,qtquickcontrols2)
  187. ("qtsvg" ,qtsvg)
  188. ("qtx11extras" ,qtx11extras)
  189. ;; TODO: upnpqt https://gitlab.com/homeautomationqt/upnp-player-qt
  190. ("vlc" ,vlc)))
  191. (arguments
  192. `(#:phases
  193. (modify-phases %standard-phases
  194. (add-before 'check 'start-xorg-server
  195. (lambda* (#:key inputs #:allow-other-keys)
  196. ;; The test suite requires a running X server, setting
  197. ;; QT_QPA_PLATFORM=offscreen does not suffice.
  198. (system "Xvfb :1 -screen 0 640x480x24 &")
  199. (setenv "DISPLAY" ":1")
  200. #t))
  201. (replace 'check
  202. (lambda* (#:key tests? test-target #:allow-other-keys)
  203. (when tests?
  204. (setenv "CTEST_OUTPUT_ON_FAILURE" "1")
  205. (invoke "dbus-launch" "make" test-target))
  206. #t)))))
  207. (home-page "https://apps.kde.org/elisa/")
  208. (synopsis "Powerful music player for Plasma 5")
  209. (description "Elisa is a simple music player aiming to provide a nice
  210. experience for its users. Elisa browses music by album, artist or
  211. all tracks. The music is indexed using either a private indexer or an indexer
  212. using Baloo. The private one can be configured to scan music on chosen paths.
  213. The Baloo one is much faster because Baloo is providing all needed data from
  214. its own database. You can build and play your own playlist.")
  215. (license license:lgpl3+)))
  216. (define-public ffmpegthumbs
  217. (package
  218. (name "ffmpegthumbs")
  219. (version "21.08.1")
  220. (source
  221. (origin
  222. (method url-fetch)
  223. (uri (string-append "mirror://kde/stable/release-service/" version
  224. "/src/ffmpegthumbs-" version ".tar.xz"))
  225. (sha256
  226. (base32 "13v5y99fvj0p9f9hqafw652qzb7z267fjfsqykv7wb3pv274f11w"))))
  227. (build-system qt-build-system)
  228. (native-inputs
  229. `(("extra-cmake-modules" ,extra-cmake-modules)
  230. ("pkg-config" ,pkg-config)))
  231. (inputs
  232. `(("ffmpeg" ,ffmpeg)
  233. ("kconfig" ,kconfig)
  234. ("ki18n" ,ki18n)
  235. ("kio" ,kio)
  236. ("taglib" ,taglib)
  237. ("qtbase" ,qtbase-5)))
  238. (home-page "https://apps.kde.org/ffmpegthumbs/")
  239. (synopsis "Video thumbnail generator for KDE using ffmpeg")
  240. (description "
  241. FFMpegThumbs is a video thumbnail generator for KDE file managers
  242. like Dolphin and Konqueror. It enables them to show preview images
  243. of video files using FFMpeg.
  244. This package is part of the KDE multimedia module.")
  245. (license license:gpl2+)))
  246. (define-public juk
  247. (package
  248. (name "juk")
  249. (version "21.08.1")
  250. (source
  251. (origin
  252. (method url-fetch)
  253. (uri (string-append "mirror://kde/stable/release-service/" version
  254. "/src/juk-" version ".tar.xz"))
  255. (sha256
  256. (base32 "0q2q31r72d28hhabrnwglhcz6h3ay70i4fg7gyn658njvx8gl26b"))))
  257. (build-system qt-build-system)
  258. (native-inputs
  259. `(("extra-cmake-modules" ,extra-cmake-modules)))
  260. (inputs
  261. `(("kcoreaddons" ,kcoreaddons)
  262. ("kcompletion" ,kcompletion)
  263. ("kconfig" ,kconfig)
  264. ("kcrash" ,kcrash)
  265. ("kdbusaddons" ,kdbusaddons)
  266. ("kdoctools" ,kdoctools)
  267. ("kglobalaccel" ,kglobalaccel)
  268. ("ki18n" ,ki18n)
  269. ("kiconthemes" ,kiconthemes)
  270. ("kjobwidgets" ,kjobwidgets)
  271. ("kio" ,kio)
  272. ("knotifications" ,knotifications)
  273. ("ktextwidgets" ,ktextwidgets)
  274. ("kwallet" ,kwallet)
  275. ("kwidgetsaddons" ,kwidgetsaddons)
  276. ("kwindowsystem" ,kwindowsystem)
  277. ("kxmlgui" ,kxmlgui)
  278. ("breeze-icons" ,breeze-icons) ; default icon set
  279. ("phonon" ,phonon)
  280. ("phonon-backend-gstreamer" ,phonon-backend-gstreamer)
  281. ("qtbase" ,qtbase-5)
  282. ("qtsvg" ,qtsvg)
  283. ("taglib" ,taglib)))
  284. (home-page "https://apps.kde.org/juk/")
  285. (synopsis "Music jukebox / music player")
  286. (description "JuK is a powerful music player capable of managing a large
  287. music collection.
  288. Some of JuK's features include:
  289. @itemize
  290. @item Music collection, playlists, and smart playlists
  291. @item Tag editing support, including the ability to edit multiple files at once
  292. @item Tag-based music file organization and renaming
  293. @item CD burning support using k3b
  294. @item Album art using Google Image Search
  295. @end itemize
  296. This package is part of the KDE multimedia module.")
  297. (license license:gpl2+)))
  298. (define-public k3b
  299. (package
  300. (name "k3b")
  301. (version "21.08.1")
  302. (source
  303. (origin
  304. (method url-fetch)
  305. (uri (string-append "mirror://kde/stable/release-service/" version
  306. "/src/k3b-" version ".tar.xz"))
  307. (sha256
  308. (base32 "1gs4api78ngyb03sgknhc1cil6rx7rd1y66674lmi3sssyhi6bkz"))))
  309. (build-system qt-build-system)
  310. (arguments
  311. `(#:phases
  312. (modify-phases %standard-phases
  313. (add-after 'unpack 'set-absolute-library-paths
  314. (lambda* (#:key inputs #:allow-other-keys)
  315. ;; Set absolute paths for dlopened libraries. We can’t use k3b’s
  316. ;; runpath as they are loaded by the Qt library.
  317. (let ((libcdio-paranoia (assoc-ref inputs "libcdio-paranoia"))
  318. (libdvdcss (assoc-ref inputs "libdvdcss")))
  319. (substitute* "libk3b/tools/k3bcdparanoialib.cpp"
  320. (("\"(cdio_cdda|cdio_paranoia)\"" _ library)
  321. (string-append "\"" libcdio-paranoia "/lib/" library "\"")))
  322. (substitute* "libk3b/tools/k3blibdvdcss.cpp"
  323. (("\"(dvdcss)\"" _ library)
  324. (string-append "\"" libdvdcss "/lib/" library "\""))))
  325. #t))
  326. (add-after 'qt-wrap 'wrap-path
  327. (lambda* (#:key inputs outputs #:allow-other-keys)
  328. ;; Set paths to backend programs.
  329. (wrap-program (string-append (assoc-ref outputs "out") "/bin/k3b")
  330. `("PATH" ":" prefix
  331. ,(map (lambda (input)
  332. (string-append (assoc-ref inputs input) "/bin"))
  333. '("cdrdao" "dvd+rw-tools" "libburn" "sox"))))
  334. #t)))))
  335. (native-inputs
  336. `(("extra-cmake-modules" ,extra-cmake-modules)
  337. ("pkg-config" ,pkg-config)
  338. ("kdoctools" ,kdoctools)))
  339. (inputs
  340. `(("cdrdao" ,cdrdao)
  341. ("dvd+rw-tools" ,dvd+rw-tools)
  342. ("ffmpeg" ,ffmpeg)
  343. ("flac" ,flac)
  344. ("karchive" ,karchive)
  345. ("kcmutils" ,kcmutils)
  346. ("kconfig" ,kconfig)
  347. ("kcoreaddons" ,kcoreaddons)
  348. ("kfilemetadata" ,kfilemetadata)
  349. ("ki18n" ,ki18n)
  350. ("kiconthemes" ,kiconthemes)
  351. ("kio" ,kio)
  352. ("kjobwidgets" ,kjobwidgets)
  353. ("knewstuff" ,knewstuff)
  354. ("knotifications" ,knotifications)
  355. ("knotifyconfig" ,knotifyconfig)
  356. ("kservice" ,kservice)
  357. ("kwidgetsaddons" ,kwidgetsaddons)
  358. ("kxmlgui" ,kxmlgui)
  359. ("lame" ,lame)
  360. ("libburn" ,libburn)
  361. ("libcdio-paranoia" ,libcdio-paranoia)
  362. ("libdvdcss" ,libdvdcss)
  363. ("libdvdread" ,libdvdread)
  364. ;; TODO: LibFuzzer
  365. ("libiconv" ,libiconv)
  366. ("libkcddb" ,libkcddb)
  367. ("libmad" ,libmad)
  368. ("libmpcdec" ,libmpcdec)
  369. ;;("libmusicbrainz" ,libmusicbrainz) ; wants old version 2
  370. ("libsamplerate" ,libsamplerate)
  371. ("libsndfile" ,libsndfile)
  372. ("libvorbis" ,libvorbis)
  373. ("breeze-icons" ,breeze-icons) ; default icon set
  374. ("qtbase" ,qtbase-5)
  375. ("qtwebkit" ,qtwebkit)
  376. ("shared-mime-info" ,shared-mime-info)
  377. ("solid" ,solid)
  378. ("sox" ,sox)
  379. ("taglib" ,taglib)
  380. ("zlib" ,zlib)))
  381. (home-page "https://apps.kde.org/k3b/")
  382. (synopsis "Sophisticated CD/DVD burning application")
  383. (description "K3b is CD-writing software which intends to be feature-rich
  384. and provide an easily usable interface. Features include burning audio CDs
  385. from .WAV and .MP3 audio files, configuring external programs and configuring
  386. devices.
  387. The @code{udisks-service} should be enabled for @command{k3b} to discover the
  388. available CD drives.")
  389. (license ;; GPL for programs, FDL for documentation
  390. (list license:gpl2+ license:fdl1.2+))))
  391. (define-public kaffeine
  392. (package
  393. (name "kaffeine")
  394. (version "2.0.18")
  395. (source
  396. (origin
  397. (method url-fetch)
  398. (uri (string-append "mirror://kde/stable/kaffeine"
  399. "/kaffeine-" version ".tar.xz"))
  400. (sha256
  401. (base32 "10dnhr9v2jlki44i3gmjagky66ybixmv6f29z5imk9clgddrlyfr"))))
  402. (build-system qt-build-system)
  403. (native-inputs
  404. `(("extra-cmake-modules" ,extra-cmake-modules)
  405. ("pkg-config" ,pkg-config)
  406. ("kdoctools" ,kdoctools)))
  407. (inputs
  408. `(("eudev" ,eudev)
  409. ("kcoreaddons" ,kcoreaddons)
  410. ("kdbusaddons" ,kdbusaddons)
  411. ("ki18n" ,ki18n)
  412. ("kio" ,kio)
  413. ("kwidgetsaddons" ,kwidgetsaddons)
  414. ("kwindowsystem" ,kwindowsystem)
  415. ("kxmlgui" ,kxmlgui)
  416. ("libxscrnsaver" ,libxscrnsaver)
  417. ("breeze-icons" ,breeze-icons) ; default icon set
  418. ("qtbase" ,qtbase-5)
  419. ("qtx11extras" ,qtx11extras)
  420. ("solid" ,solid)
  421. ("v4l-utils" ,v4l-utils) ; libdvbv5
  422. ("vlc" ,vlc)))
  423. (arguments
  424. `(#:phases
  425. (modify-phases %standard-phases
  426. (add-after 'unpack 'fix-code
  427. (lambda _
  428. (substitute* "src/dvb/dvbdevice_linux.cpp"
  429. (("\\s*qPrintable\\(transponder\\.getTransmissionType\\(\\)\\)\\);")
  430. "transponder.getTransmissionType());"))
  431. #t)))))
  432. (home-page "https://apps.kde.org/kaffeine/")
  433. (synopsis "Versatile media player for KDE")
  434. (description "Kaffeine is a media player for KDE. While it supports
  435. multiple Phonon backends, its default backend is Xine, giving Kaffeine a wide
  436. variety of supported media types and letting Kaffeine access CDs, DVDs, and
  437. network streams easily.
  438. Kaffeine can keep track of multiple playlists simultaneously, and supports
  439. autoloading of subtitle files for use while playing video.")
  440. (license ;; GPL for programs, FDL for documentation
  441. (list license:gpl2+ license:fdl1.2+))))
  442. (define-public kamoso
  443. (package
  444. (name "kamoso")
  445. (version "21.08.1")
  446. (source
  447. (origin
  448. (method url-fetch)
  449. (uri (string-append "mirror://kde/stable/release-service/" version
  450. "/src/kamoso-" version ".tar.xz"))
  451. (sha256
  452. (base32 "15nqy97m913f0sdjs15bjivs7hvxghlhlw5579fsnfahg5iz5qp6"))))
  453. (build-system qt-build-system)
  454. (native-inputs
  455. `(("extra-cmake-modules" ,extra-cmake-modules)
  456. ("glib:bin" ,glib "bin")
  457. ("kdoctools" ,kdoctools)
  458. ("pkg-config" ,pkg-config)))
  459. (inputs
  460. `(("gstreamer" ,gstreamer)
  461. ("gst-plugins-base" ,gst-plugins-base)
  462. ("kconfig" ,kconfig)
  463. ("ki18n" ,ki18n)
  464. ("kio" ,kio)
  465. ("kirigami" ,kirigami)
  466. ("knotifications" ,knotifications)
  467. ("kparts" ,kparts)
  468. ("breeze-icons" ,breeze-icons) ; default icon set
  469. ("purpose" ,purpose)
  470. ("qtbase" ,qtbase-5)
  471. ("qtdeclarative" ,qtdeclarative)
  472. ("qtgraphicaleffects" ,qtgraphicaleffects)
  473. ("qtquickcontrols" ,qtquickcontrols)
  474. ("qtquickcontrols2" ,qtquickcontrols2) ; not listed as dependency
  475. ("qtx11extras" ,qtx11extras)))
  476. (arguments `(#:tests? #f)) ; test program gets built, but is not found
  477. (home-page "https://apps.kde.org/kamoso/")
  478. (synopsis "Take pictures and videos out of your webcam")
  479. (description "Kamoso is a simple and friendly program to use your
  480. camera. Use it to take pictures and make videos to share.")
  481. (license ;; GPL for programs, LGPL for libraries
  482. (list license:gpl2+ license:lgpl2.0+))))
  483. (define-public kmix
  484. (package
  485. (name "kmix")
  486. (version "21.08.1")
  487. (source
  488. (origin
  489. (method url-fetch)
  490. (uri (string-append "mirror://kde/stable/release-service/" version
  491. "/src/kmix-" version ".tar.xz"))
  492. (sha256
  493. (base32 "0jc0b1j32gg7az0z7m1cvfdjrwss4q91hm1cfhrk5fq12620vivf"))))
  494. (build-system qt-build-system)
  495. (native-inputs
  496. `(("extra-cmake-modules" ,extra-cmake-modules)
  497. ("pkg-config" ,pkg-config)))
  498. (inputs
  499. `(("alsa-lib" ,alsa-lib)
  500. ("glib" ,glib)
  501. ("kconfigwidgets" ,kconfigwidgets)
  502. ("kcompletion" ,kcompletion)
  503. ("kconfig" ,kconfig)
  504. ("kconfigwidgets" ,kconfigwidgets)
  505. ("kcrash" ,kcrash)
  506. ("kdbusaddons" ,kdbusaddons)
  507. ("kdoctools" ,kdoctools)
  508. ("kglobalaccel" ,kglobalaccel)
  509. ("ki18n" ,ki18n)
  510. ("kiconthemes" ,kiconthemes)
  511. ("knotifications" ,knotifications)
  512. ("kwidgetsaddons" ,kwidgetsaddons)
  513. ("kwindowsystem" ,kwindowsystem)
  514. ("kxmlgui" ,kxmlgui)
  515. ("libcanberra" ,libcanberra)
  516. ("breeze-icons" ,breeze-icons) ; default icon set
  517. ("plasma-framework" ,plasma-framework)
  518. ("pulseaudio" ,pulseaudio)
  519. ("qtbase" ,qtbase-5)
  520. ("solid" ,solid)))
  521. (home-page "https://apps.kde.org/kmix/")
  522. (synopsis "Volume control and mixer")
  523. (description "KMix is an audio device mixer, used to adjust volume, select
  524. recording inputs, and set other hardware options.
  525. This package is part of the KDE multimedia module.")
  526. (license ;; GPL for programs, LGPL for libraries, FDL for documentation
  527. (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
  528. (define-public kmplayer
  529. (package
  530. (name "kmplayer")
  531. (version "0.12.0b")
  532. (source
  533. (origin
  534. (method url-fetch)
  535. (uri (string-append "mirror://kde/stable/kmplayer/0.12"
  536. "/kmplayer-" version ".tar.bz2"))
  537. (sha256
  538. (base32 "0wzdxym4fc83wvqyhcwid65yv59a2wvp1lq303cn124mpnlwx62y"))
  539. (patches (search-patches
  540. "kmplayer-aarch64.patch"
  541. "kmplayer-upstream_Fix-build-with-Qt-5.9.patch"))))
  542. (build-system qt-build-system)
  543. (native-inputs
  544. `(("extra-cmake-modules" ,extra-cmake-modules)
  545. ("pkg-config" ,pkg-config)
  546. ("kdoctools" ,kdoctools)))
  547. (inputs
  548. `(("kconfig" ,kconfig)
  549. ("kcoreaddons" ,kcoreaddons)
  550. ("kdelibs4support" ,kdelibs4support)
  551. ("kglobalaccel" ,kglobalaccel)
  552. ("ki18n" ,ki18n)
  553. ("kinit" ,kinit)
  554. ("kio" ,kio)
  555. ("kparts" ,kparts)
  556. ("kmediaplayer" ,kmediaplayer)
  557. ("kwidgetsaddons" ,kwidgetsaddons)
  558. ("libxcb" ,libxcb) ;; FIXME: why does cmake not find XEVIE and XPRINT?
  559. ("breeze-icons" ,breeze-icons) ; default icon set
  560. ("phonon" ,phonon)
  561. ("qtbase" ,qtbase-5)
  562. ("cairo" ,cairo)
  563. ("qtsvg" ,qtsvg)
  564. ("qtx11extras" ,qtx11extras)
  565. ("xcb-util" ,xcb-util)
  566. ("xcb-util-cursor" ,xcb-util-cursor)
  567. ("xcb-util-errors" ,xcb-util-errors)
  568. ("xcb-util-image" ,xcb-util-image)
  569. ("xcb-util-keysyms" ,xcb-util-keysyms)
  570. ("xcb-util-wm" ,xcb-util-wm)))
  571. (arguments
  572. `(#:configure-flags
  573. ,#~(list (string-append "-DCMAKE_CXX_FLAGS=-I" #$qtx11extras
  574. "/include/qt5"))))
  575. (home-page "https://apps.kde.org/kmplayer/")
  576. (synopsis "Media player using mplayer/phonon as backend")
  577. (description "Kmplayer can play all the audio/video supported by
  578. mplayer/phonon from a local file or URL and be embedded in Konqueror and
  579. KHTML. It also plays DVDs.
  580. Some features:
  581. @itemize
  582. @item play DVD/VCD movies (from file or url and from a video device)
  583. @item embed inside konqueror (movie is played inside konqueror)
  584. @item embed inside khtml (movie playback inside a html page)
  585. @item Movie recording using mencoder (part of the mplayer package)
  586. @item No video during recording, but you can always open a new window and play it
  587. @item Broadcasting, http streaming, using ffserver/ffmpeg
  588. @item For TV sources, you need v4lctl (part of the xawtv package)
  589. @end itemize")
  590. (license ;; GPL for programs, LGPL for libraries, FDL for documentation
  591. (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
  592. (define-public kwave
  593. (package
  594. (name "kwave")
  595. (version "21.08.1")
  596. (source
  597. (origin
  598. (method url-fetch)
  599. (uri (string-append "mirror://kde/stable/release-service/" version
  600. "/src/kwave-" version ".tar.xz"))
  601. (sha256
  602. (base32 "1dl7kn67hp9y39xlnq989kg743295a23kbpjpvbjashgdqy3hqwl"))))
  603. (build-system qt-build-system)
  604. (native-inputs
  605. `(("extra-cmake-modules" ,extra-cmake-modules)
  606. ("gzip" ,gzip)
  607. ("librsvg" ,librsvg)
  608. ("pkg-config" ,pkg-config)
  609. ("kdoctools" ,kdoctools)))
  610. (inputs
  611. `(("also-lib" ,alsa-lib)
  612. ("audiofile" ,audiofile)
  613. ("flac" ,flac)
  614. ("id3lib" ,id3lib)
  615. ("karchive" ,karchive)
  616. ("kcompletion" ,kcompletion)
  617. ("kconfig" ,kconfig)
  618. ("kconfigwidgets" ,kconfigwidgets)
  619. ("kcoreaddons" ,kcoreaddons)
  620. ("kcrash" ,kcrash)
  621. ("kdbusaddons" ,kdbusaddons)
  622. ("ki18n" ,ki18n)
  623. ("kiconthemes" ,kiconthemes)
  624. ("kio" ,kio)
  625. ("kservice" ,kservice)
  626. ("ktextwidgets" ,ktextwidgets)
  627. ("kwidgetsaddons" ,kwidgetsaddons)
  628. ("kxmlgui" ,kxmlgui)
  629. ("libmad" ,libmad)
  630. ("libsamplerate" ,libsamplerate)
  631. ("libvorbis" ,libvorbis)
  632. ("opus" ,opus)
  633. ("breeze-icons" ,breeze-icons) ; default icon set
  634. ("pulseaudio" ,pulseaudio)
  635. ("qtbase" ,qtbase-5)
  636. ("qtmultimedia" ,qtmultimedia)
  637. ("zlib" ,zlib)))
  638. (arguments
  639. `(#:phases
  640. ;; I haven't the slightest clue why, but there are two sets of icons
  641. ;; that fail to be found: .svgz icons, since only .svg icons are
  642. ;; searched for, and some local .png files which don't get
  643. ;; loaded. Instead, they get searched for as e.g. fade_in.png.png files
  644. ;; in XDG_DATA_DIRS.
  645. (modify-phases %standard-phases
  646. (add-after 'unpack 'patch-icon-names
  647. (lambda _
  648. (substitute* "kwave/menus.config" (("\\.png") ""))))
  649. (add-after 'install 'unpack-svgz
  650. (lambda* (#:key native-inputs inputs outputs #:allow-other-keys)
  651. (let* ((out (assoc-ref outputs "out"))
  652. (path (string-append out "/share/icons/hicolor/scalable"))
  653. (icons (find-files path "svgz$"))
  654. (gunzip (string-append (assoc-ref (or native-inputs inputs) "gzip")
  655. "/bin/gunzip"))
  656. (pngs (find-files (string-append out "/share/kwave/pics") "png$"))
  657. (png-dir (string-append out "/share/icons/hicolor/32x32/actions")))
  658. (for-each
  659. (lambda (path)
  660. (let* ((svg.gz (string-append (string-drop-right path 1) ".gz")))
  661. (copy-file path svg.gz)
  662. (invoke gunzip svg.gz)))
  663. icons)
  664. (mkdir-p png-dir)
  665. (for-each
  666. (lambda (file)
  667. (symlink file (string-append png-dir "/" (basename file))))
  668. pngs)
  669. #t))))))
  670. (home-page "https://apps.kde.org/kwave/")
  671. (synopsis "Sound editor for KDE")
  672. (description "Kwave is a sound editor designed for the KDE Desktop
  673. Environment.
  674. With Kwave you can record, play back, import and edit many sorts of audio
  675. files including multi-channel files. It includes some plugins to transform
  676. audio files in several ways and presents a graphical view with a complete
  677. zoom- and scroll capability.
  678. Its features include:
  679. @itemize
  680. @item 24 Bit Support
  681. @item Undo/Redo
  682. @item Use of multicore CPUs (SMP, hyperthreading)
  683. @item Simple Drag & Drop
  684. @item Realtime Pre-Listen for some effects
  685. @item Support for multi-track files
  686. @item Playback and recording via native ALSA (or OSS, deprecated)
  687. @item Playback via PulseAudio and Phonon
  688. @item Load and edit-capability for large files (can use virtual memory)
  689. @item Reading and auto-repair of damaged wav-files
  690. @item Supports multiple windows
  691. @item Extendable Plugin interface
  692. @item a nice splashscreen
  693. @item some label handling
  694. @end itemize")
  695. (license ;; GPL for programs, LGPL for libraries, FDL for documentation
  696. (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+
  697. license:cc-by-sa3.0 license:cc-by-sa4.0 ;; icons, samples
  698. license:cc0 license:bsd-3)))) ;; utilities files
  699. (define-public libkcddb
  700. (package
  701. (name "libkcddb")
  702. (version "21.08.1")
  703. (source
  704. (origin
  705. (method url-fetch)
  706. (uri (string-append "mirror://kde/stable/release-service/" version
  707. "/src/libkcddb-" version ".tar.xz"))
  708. (sha256
  709. (base32 "08841rssxcg9vi490qih8jxnalnbjd2wqsgcq22gkm1ahfj5dizq"))))
  710. (build-system qt-build-system)
  711. (native-inputs
  712. `(("extra-cmake-modules" ,extra-cmake-modules)
  713. ("kdoctools" ,kdoctools)))
  714. (inputs
  715. `(("kcodecs" ,kcodecs)
  716. ("kconfig" ,kconfig)
  717. ("ki18n" ,ki18n)
  718. ("kio" ,kio)
  719. ("kwidgetsaddons" ,kwidgetsaddons)
  720. ("libmusicbrainz" ,libmusicbrainz)
  721. ("qtbase" ,qtbase-5)))
  722. (arguments
  723. `(#:tests? #f)) ; Most tests require network
  724. (home-page "https://invent.kde.org/multimedia/libkcddb")
  725. (synopsis "CDDB library for KDE Platform (runtime)")
  726. (description "A library for retrieving and sending cddb information.")
  727. (license ;; GPL for programs, LGPL for libraries, FDL for documentation
  728. (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
  729. (define-public libkcompactdisc
  730. (package
  731. (name "libkcompactdisc")
  732. (version "21.08.1")
  733. (source
  734. (origin
  735. (method url-fetch)
  736. (uri (string-append "mirror://kde/stable/release-service/" version
  737. "/src/libkcompactdisc-" version ".tar.xz"))
  738. (sha256
  739. (base32 "1q838md6kqvjmc61sy943lqgv5isll2px1s0izyvvxkf747hcpin"))))
  740. (build-system qt-build-system)
  741. (native-inputs
  742. `(("extra-cmake-modules" ,extra-cmake-modules)))
  743. (inputs
  744. `(("alsa-lib" ,alsa-lib)
  745. ("kcoreaddons" ,kcoreaddons)
  746. ("ki18n" ,ki18n)
  747. ("phonon" ,phonon)
  748. ("qtbase" ,qtbase-5)
  749. ("solid" ,solid)))
  750. (home-page "https://invent.kde.org/multimedia/libkcompactdisc")
  751. (synopsis "KDE library for playing & ripping CDs")
  752. (description "The KDE Compact Disc library provides an API for
  753. applications using the KDE Platform to interface with the CD drives for audio
  754. CDs.")
  755. (license ;; GPL for programs, LGPL for libraries
  756. (list license:gpl2+ license:lgpl2.0+))))