projects/guix·blob javascript-team · refs

1054 lines · 34.5 KiB

1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2026, 2019-2021 Efraim Flashner <[email protected]>
3;;; Copyright © 2017-2020 Hartmut Goebel <[email protected]>
4;;; Copyright © 2020 Tobias Geerinckx-Rice <[email protected]>
5;;; Copyright © 2020 Marius Bakke <[email protected]>
6;;; Copyright © 2021 Vinicius Monego <[email protected]>
7;;; Copyright © 2022 Brendan Tildesley <[email protected]>
8;;; Copyright © 2022 Petr Hodina <[email protected]>
9;;; Copyright © 2022 Raghav Gururajan <[email protected]>
10;;; Copyright © 2023-2025 Zheng Junjie <[email protected]>
11;;; Copyright © 2024 Superfly Johnson <[email protected]>
12;;; Copyright © 2025 Andreas Enge <[email protected]>
13;;; Copyright © 2025, 2026 Sughosha <[email protected]>
14;;;
15;;; This file is part of GNU Guix.
16;;;
17;;; GNU Guix is free software; you can redistribute it and/or modify it
18;;; under the terms of the GNU General Public License as published by
19;;; the Free Software Foundation; either version 3 of the License, or (at
20;;; your option) any later version.
21;;;
22;;; GNU Guix is distributed in the hope that it will be useful, but
23;;; WITHOUT ANY WARRANTY; without even the implied warranty of
24;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25;;; GNU General Public License for more details.
26;;;
27;;; You should have received a copy of the GNU General Public License
28;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
29
30(define-module (gnu packages kde-internet)
31 #:use-module (guix build-system cmake)
32 #:use-module (guix build-system qt)
33 #:use-module (guix download)
34 #:use-module (guix git-download)
35 #:use-module (guix gexp)
36 #:use-module ((guix licenses) #:prefix license:)
37 #:use-module (guix packages)
38 #:use-module (guix utils)
39 #:use-module (gnu packages)
40 #:use-module (gnu packages bash)
41 #:use-module (gnu packages boost)
42 #:use-module (gnu packages compression)
43 #:use-module (gnu packages crypto)
44 #:use-module (gnu packages freedesktop)
45 #:use-module (gnu packages glib)
46 #:use-module (gnu packages gnupg)
47 #:use-module (gnu packages gperf)
48 #:use-module (gnu packages graphics)
49 #:use-module (gnu packages gstreamer)
50 #:use-module (gnu packages icu4c)
51 #:use-module (gnu packages image)
52 #:use-module (gnu packages kde-frameworks)
53 #:use-module (gnu packages kde-graphics)
54 #:use-module (gnu packages kde-multimedia)
55 #:use-module (gnu packages kde-pim)
56 #:use-module (gnu packages kde-plasma)
57 #:use-module (gnu packages libidn)
58 #:use-module (gnu packages libusb)
59 #:use-module (gnu packages linux)
60 #:use-module (gnu packages markup)
61 #:use-module (gnu packages messaging)
62 #:use-module (gnu packages mp3)
63 #:use-module (gnu packages multiprecision)
64 #:use-module (gnu packages networking)
65 #:use-module (gnu packages onc-rpc)
66 #:use-module (gnu packages pkg-config)
67 #:use-module (gnu packages python)
68 #:use-module (gnu packages qt)
69 #:use-module (gnu packages rdesktop)
70 #:use-module (gnu packages samba)
71 #:use-module (gnu packages serialization)
72 #:use-module (gnu packages ssh)
73 #:use-module (gnu packages telephony)
74 #:use-module (gnu packages linphone)
75 #:use-module (gnu packages tls)
76 #:use-module (gnu packages video)
77 #:use-module (gnu packages vnc)
78 #:use-module (gnu packages web)
79 #:use-module (gnu packages xiph)
80 #:use-module (gnu packages xml)
81 #:use-module (gnu packages xdisorg)
82 #:use-module (gnu packages xorg))
83
84(define-public kdsoap-ws-discovery-client
85 (package
86 (name "kdsoap-ws-discovery-client")
87 (version "0.4.0")
88 (source
89 (origin
90 (method url-fetch)
91 (uri (string-append "mirror://kde/stable/kdsoap-ws-discovery-client/"
92 "/kdsoap-ws-discovery-client-" version ".tar.xz"))
93 (sha256
94 (base32 "0yj2ngw4li5r6zhmkh2lb8fdf8ixz6pp5hxsb4342pz72g04glic"))))
95 (build-system qt-build-system)
96 (inputs (list kdsoap)) ;required by KDSoapWSDiscoveryClientConfig.cmake
97 (native-inputs
98 (list extra-cmake-modules))
99 (arguments (list
100 ;; test require network.
101 #:tests? #f
102 #:configure-flags #~(list "-DQT_MAJOR_VERSION=6")
103 #:qtbase qtbase))
104 (home-page "https://caspermeijn.gitlab.io/kdsoap-ws-discovery-client/")
105 (synopsis "WS-Discovery client library based on KDSoap")
106 (description "This package provides a ws-Discovery client library based on
107KDSoap.")
108 (license license:gpl3+)))
109
110(define-public qxmpp
111 (package
112 (name "qxmpp")
113 ;; kaidan requires a precise version
114 (version "1.15.1")
115 (source
116 (origin
117 (method git-fetch)
118 (uri (git-reference
119 (url "https://invent.kde.org/libraries/qxmpp")
120 (commit (string-append "v" version))))
121 (file-name (git-file-name name version))
122 (sha256
123 (base32 "1shy183868wlaka4s092nlbsga1950hzk21wpj5xil48088p6iry"))))
124 (build-system qt-build-system)
125 (arguments
126 `(#:qtbase ,qtbase
127 #:configure-flags (list "-DBUILD_EXAMPLES=false"
128 "-DWITH_GSTREAMER=true"
129 "-DBUILD_OMEMO=ON") ;needed by kaidan
130 #:test-exclude
131 (string-join ;; These tests use the network.
132 (list "tst_qxmppiceconnection"
133 "tst_qxmppcallmanager"
134 "tst_qxmpptransfermanager")
135 "|")))
136 (native-inputs
137 (list pkg-config))
138 (inputs
139 (list
140 gstreamer
141 libomemo-c
142 openssl
143 qca-qt6
144 qt5compat))
145 (home-page "https://invent.kde.org/libraries/qxmpp")
146 (synopsis "XMPP client and server library")
147 (description
148 "QXmpp is a XMPP client and server library written in C++ and uses the Qt
149framework. It builds XMPP clients complying with the XMPP Compliance Suites
1502021 for IM and Advanced Mobile.")
151 (license license:lgpl2.1+)))
152
153(define-public falkon
154 (package
155 (name "falkon")
156 (version "26.04.1")
157 (source
158 (origin
159 (method url-fetch)
160 (uri (string-append "mirror://kde/stable/release-service/" version
161 "/src/falkon-" version ".tar.xz"))
162 (sha256
163 (base32
164 "05fr4hzrcrymaxcfibim5p957nbi0ld3srvhqrf7vqnqnihykinl"))))
165 (build-system qt-build-system)
166 (arguments
167 (list #:qtbase qtbase))
168 (native-inputs
169 (list extra-cmake-modules pkg-config qttools))
170 (inputs
171 (list karchive
172 kcoreaddons
173 kcrash
174 ki18n
175 kio
176 kwallet
177 openssl
178 purpose
179 qt5compat
180 qtsvg
181 qtwebengine
182 qtwayland
183 xcb-util))
184 (home-page "https://www.falkon.org/")
185 (synopsis "Qt-based web browser for KDE")
186 (description
187 "Falkon is is a Qt-based web browser for KDE.")
188 (license license:gpl3+)))
189
190(define-public kaidan
191 (package
192 (name "kaidan")
193 (version "0.15.0")
194 (source
195 (origin
196 (method url-fetch)
197 (uri (string-append "mirror://kde/unstable/kaidan/" version
198 "/kaidan-" version ".tar.xz"))
199 (modules '((guix build utils)))
200 (snippet
201 #~(begin
202 (delete-file-recursively "3rdparty")))
203 (sha256
204 (base32 "11g4lifji6gh9zmpgyx4dnmxyzzwkhhj84j2w9r4bvgqm2pxdhnd"))))
205 (build-system qt-build-system)
206 (arguments
207 (list
208 #:qtbase qtbase
209 #:test-exclude "PublicGroupChatTest"
210 #:phases
211 #~(modify-phases %standard-phases
212 (add-before 'check 'set-home
213 (lambda _
214 ;; Tests need write permission in $HOME.
215 (setenv "HOME" "/tmp")))
216 (add-after 'install 'wrap-program
217 (lambda _
218 (let ((gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
219 (wrap-program (string-append #$output "/bin/kaidan")
220 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
221 (,gst-plugin-path)))))))))
222 (native-inputs (list extra-cmake-modules
223 pkg-config))
224 (inputs (list bash-minimal
225 gst-plugins-good-qt
226 gstreamer
227 icu4c
228 kcrash
229 kdsingleapplication
230 kio
231 kirigami
232 kirigami-addons
233 knotifications
234 kquickimageeditor
235 prison
236 qqc2-desktop-style
237 qtkeychain-qt6
238 qtlocation
239 qtmultimedia
240 qtpositioning
241 qtsvg
242 qttools
243 qtwayland
244 qxmpp
245 sonnet))
246 (home-page "https://www.kaidan.im/")
247 (synopsis "Qt-based XMPP/Jabber Client")
248 (description "Kaidan is a chat client. It uses the open communication
249protocol XMPP (Jabber). The user interface makes use of Kirigami and QtQuick,
250while the back-end of Kaidan is entirely written in C++ using Qt and the
251Qt-based XMPP library QXmpp.")
252 (license (list
253 ;; Graphics
254 license:cc-by-sa4.0
255 ;; Files:
256 ;; src/{StatusBar.cpp|StatusBar.h|singleapp/*|hsluv-c/*}
257 ;; utils/generate-license.py
258 license:expat
259 ;; QrCodeVideoFrame
260 license:asl2.0
261 ;; Others
262 license:gpl3+))))
263
264(define-public kget
265 (package
266 (name "kget")
267 (version "26.04.1")
268 (source
269 (origin
270 (method url-fetch)
271 (uri (string-append "mirror://kde/stable/release-service/" version
272 "/src/kget-" version ".tar.xz"))
273 (sha256
274 (base32 "0vg3wkww6z8byn7zgwfsn0295xafnzfzkcc346iywyxdksnaddd2"))))
275 (build-system qt-build-system)
276 (native-inputs
277 (list extra-cmake-modules kdoctools pkg-config))
278 (inputs
279 (list boost
280 breeze-icons ; default icon set
281 gmp
282 kcmutils
283 kcompletion
284 kconfig
285 kconfigwidgets
286 kcoreaddons
287 kcrash
288 kdbusaddons
289 ki18n
290 kiconthemes
291 kio
292 kitemviews
293 knotifications
294 knotifyconfig
295 kparts
296 kservice
297 kstatusnotifieritem
298 ktextwidgets
299 kwallet
300 kwidgetsaddons
301 kwindowsystem
302 kxmlgui
303 libgcrypt
304 libktorrent
305 libmms
306 qgpgme
307 qca-qt6
308 qtwayland))
309 (arguments
310 (list #:qtbase qtbase))
311 (home-page "https://www.kde.org/")
312 (synopsis "Versatile and user-friendly download manager")
313 (description "KGet is an advanced download manager with support for
314Metalink and Bittorrent. Downloads are added to the list, where they can be
315paused, queued, or scheduled for later. KGet supports download via FTP anf
316HTTP(S) as well as pausing downloads.
317
318This package is part of the KDE networking module.")
319 (license ;; GPL for programs, LGPL for libraries, FDL for documentation
320 (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
321
322(define-public kdeconnect
323 (package
324 (name "kdeconnect")
325 (version "26.04.1")
326 (source
327 (origin
328 (method url-fetch)
329 (uri (string-append "mirror://kde/stable/release-service/"
330 version "/src/kdeconnect-kde-"
331 version ".tar.xz"))
332 (sha256
333 (base32
334 "0f55wf25nyr39p25ismxgvsdcx58gk82rs0w450f9jdadkhpg0n5"))))
335 (build-system qt-build-system)
336 (arguments
337 (list #:qtbase qtbase
338 #:configure-flags
339 #~(list (string-append "-DQtWaylandScanner_EXECUTABLE="
340 #$(this-package-native-input "qtwayland")
341 "/lib/qt6/libexec/qtwaylandscanner")
342 "-DKDE_INSTALL_LIBEXECDIR=libexec"
343 ;; So kdeconnect.so isn't installed to lib/plugins
344 "-DPLUGIN_INSTALL_DIR=lib/qt6/plugins")
345 #:phases #~(modify-phases %standard-phases
346 (add-after 'unpack 'fix-dbus-autostart
347 (lambda _
348 ;; 'dbus-daemon' requires an absolute Exec path.
349 (substitute* "daemon/org.kde.kdeconnect.service.in"
350 (("kdeconnectd")
351 (string-append #$output "/bin/kdeconnectd"))))))
352 #:tests? #f)) ; tests fail hard in our build environment
353 ;; These packages are required by the QML modules.
354 (propagated-inputs
355 (list kconfig
356 kdeclarative
357 kirigami
358 libplasma
359 qtbase ;for QML_IMPORT_PATH
360 qtdeclarative))
361 (native-inputs
362 (list extra-cmake-modules
363 kdoctools
364 libxtst
365 pkg-config
366 python-wrapper
367 wayland-protocols
368 qtwayland))
369 (inputs
370 (list dbus
371 kcmutils
372 kcrash
373 kdbusaddons
374 kguiaddons
375 ki18n
376 kiconthemes
377 kio
378 kirigami-addons
379 kitemmodels
380 knotifications
381 kpackage
382 kpeople
383 kstatusnotifieritem
384 kwayland
385 libei
386 libevdev
387 libfakekey
388 openssl
389 plasma-wayland-protocols
390 pulseaudio-qt
391 qca-qt6
392 qqc2-desktop-style
393 qtconnectivity
394 qtmultimedia
395 qtwayland
396 qtsvg
397 sonnet
398 wayland
399 modemmanager-qt
400 libxkbcommon))
401 (home-page "https://community.kde.org/KDEConnect")
402 (synopsis "Enable your devices to communicate with each other")
403 (description "KDE Connect is a project that enables all your devices to
404communicate with each other. Here's a few things KDE Connect can do:
405@enumerate
406@item Receive your phone notifications on your desktop computer and reply to messages
407@item Control music playing on your desktop from your phone
408@item Use your phone as a remote control for your desktop
409@item Run predefined commands on your PC from connected devices
410@item Check your phones battery level from the desktop
411@item Ring your phone to help finding it
412@item Share files and links between devices
413@item Browse your phone from the desktop
414@item Control the desktop's volume from the phone
415@end enumerate")
416 (properties `((upstream-name . "kdeconnect-kde")))
417 (license (list license:gpl2 license:gpl3)))) ; dual licensed
418
419(define-public kio-extras
420 (package
421 (name "kio-extras")
422 (version "26.04.1")
423 (source (origin
424 (method url-fetch)
425 (uri (string-append "mirror://kde/stable/release-service/"
426 version "/src/" name "-"
427 version ".tar.xz"))
428 (sha256
429 (base32
430 "0k0rw6g47ryyz16wgdywbh5rrwyj87ppyd2zwpfwmfzhwpxn8fpm"))
431 (modules '((guix build utils)))
432 (snippet
433 ;; Fix including libproxy.
434 '(substitute* "kcms/proxy/wpad-detector/main.cpp"
435 (("libproxy\\/proxy\\.h") "proxy.h")))))
436 (build-system cmake-build-system)
437 (arguments
438 (list #:test-exclude
439 (string-append "("
440 (string-join '("filenamesearchtest"
441 "filenamesearchexternaltest"
442 "thumbnailtest"
443 "testkioarchive")
444 "|")
445 ")")
446 #:phases
447 #~(modify-phases %standard-phases
448 (replace 'check
449 (lambda* (#:key tests? (test-exclude "") #:allow-other-keys)
450 (when tests?
451 (setenv "HOME" (getcwd))
452 (setenv "TMPDIR" (getcwd))
453 (invoke "ctest" "-E" test-exclude))))
454 (add-after 'install 'fix-kiod-path
455 (lambda _
456 (let* ((kio #$(this-package-input "kio"))
457 (kf-version
458 #$(version-major
459 (package-version (this-package-input "kio")))))
460 (substitute* (string-append #$output
461 "/share/dbus-1/services/"
462 "org.kde.kmtpd5.service")
463 (("Exec=.*$")
464 (string-append "Exec=" kio "/libexec/kf" kf-version
465 "/kiod" kf-version "\n")))))))))
466 (propagated-inputs (list kio)) ;required by KioArchive6Config.cmake
467 (native-inputs (list extra-cmake-modules dbus kdoctools pkg-config qttools))
468 ;; TODO: libappimage
469 (inputs (list gperf
470 imath
471 plasma-activities
472 plasma-activities-stats
473 karchive
474 kbookmarks
475 kcmutils
476 kconfig
477 kconfigwidgets
478 kcoreaddons
479 kdbusaddons
480 kdnssd
481 kdsoap
482 kdsoap-ws-discovery-client
483 knotifications
484 ki18n
485 ksyntaxhighlighting
486 libimobiledevice
487 libkexiv2
488 libmtp
489 libplist
490 libproxy
491 libssh
492 libtirpc
493 openexr
494 phonon
495 qt5compat
496 qtbase
497 qcoro-qt6
498 qtsvg
499 samba
500 shared-mime-info
501 solid
502 taglib
503 zlib))
504 (home-page "https://community.kde.org/Frameworks")
505 (synopsis "Additional components to increase the functionality of KIO")
506 (description
507 "This package provides additional components to increase
508the functionality of the KDE resource and network access abstractions.")
509 (license license:lgpl2.0+)))
510
511(define-public kio-zeroconf
512 (package
513 (name "kio-zeroconf")
514 (version "26.04.1")
515 (source
516 (origin
517 (method url-fetch)
518 (uri (string-append "mirror://kde/stable/release-service/" version
519 "/src/kio-zeroconf-" version ".tar.xz"))
520 (sha256
521 (base32 "0dqasyz1ykb2nrid6hfgx7h56gh5z27mcpbsvz0qkggzb2nad4qz"))))
522 (build-system qt-build-system)
523 (native-inputs
524 (list extra-cmake-modules))
525 (inputs
526 (list kdbusaddons kdnssd ki18n kio))
527 (arguments (list #:qtbase qtbase
528 #:tests? #f
529 #:configure-flags
530 #~(list "-DQT_MAJOR_VERSION=6")))
531 (home-page "https://apps.kde.org/kio_zeroconf/")
532 (synopsis "DNS-SD Service Discovery Monitor")
533 (description "Adds an entry to Dolphin's Network page to show local
534services such as printers which advertise themselves with DNSSD (called Avahi
535or Bonjour by other projects).")
536 (license ;; GPL for programs, LGPL for libraries, FDL for documentation
537 (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
538
539(define-public konversation
540 (package
541 (name "konversation")
542 (version "26.04.1")
543 (source
544 (origin
545 (method url-fetch)
546 (uri (string-append "mirror://kde/stable/release-service/" version
547 "/src/konversation-" version ".tar.xz"))
548 (sha256
549 (base32 "12ggq838bb617bxsszad26avfr3k1irqaj63wqwf4g7rqnz7swf1"))))
550 (build-system qt-build-system)
551 (native-inputs
552 (list extra-cmake-modules kdoctools qttools))
553 (inputs
554 (list karchive
555 kbookmarks
556 kconfig
557 kconfigwidgets
558 kcoreaddons
559 kcrash
560 kdbusaddons
561 kglobalaccel
562 ki18n
563 kiconthemes
564 kidletime
565 kio
566 kitemviews
567 knewstuff
568 knotifications
569 knotifyconfig
570 kparts
571 kstatusnotifieritem
572 ktextwidgets
573 kwallet
574 kwidgetsaddons
575 kwindowsystem
576 breeze-icons ; default icon set
577 phonon
578 qca-qt6
579 qtmultimedia
580 qtwayland
581 qt5compat
582 solid
583 sonnet))
584 (arguments (list #:qtbase qtbase))
585 (home-page "https://apps.kde.org/konversation/")
586 (synopsis "Graphical Internet Relay Chat (IRC) client for KDE")
587 (description "Konversation is a graphical Internet Relay Chat client (IRC)
588with KDE support.
589
590Features are:
591@itemize
592@item Standard IRC features
593@item SSL server support
594@item Bookmarking support
595@item Easy to use graphical user interface
596@item Multiple servers and channels in one single window
597@item DCC file transfer with resume support
598@item Multiple identities for different servers
599@item Text decorations and colors
600@item Pattern-based message highlighting and OnScreen Display notifications
601@item Automatic UTF-8 detection
602@item Per channel encoding support
603@item Theme support for nick icons
604@item Highly configurable
605@item Multi-language scripting support (with DCOP)
606@item Customizable command aliases
607@item NickServ-aware log-on (for registered nicknames)
608@item Smart logging
609@item Traditional or enhanced-shell-style nick completion
610@end itemize")
611 (license ;; GPL for programs, FDL for documentation
612 (list license:gpl2+ license:fdl1.2+))))
613
614(define-public krdc
615 (package
616 (name "krdc")
617 (version "26.04.1")
618 (source
619 (origin
620 (method url-fetch)
621 (uri (string-append "mirror://kde/stable/release-service/" version
622 "/src/krdc-" version ".tar.xz"))
623 (sha256
624 (base32 "162a8k8rbjxg94ry1q6gcnjh19ncbiw69bjn8fgx5hbim8m2qar1"))))
625 (build-system qt-build-system)
626 (native-inputs
627 (list extra-cmake-modules pkg-config kdoctools))
628 (inputs
629 (list breeze-icons ; default icon set
630 gnutls
631 kbookmarks
632 freerdp
633 fuse
634 kcmutils
635 kcompletion
636 kconfig
637 kcrash
638 kdnssd
639 ki18n
640 kio
641 kiconthemes
642 knotifications
643 knotifyconfig
644 kstatusnotifieritem
645 kwallet
646 kwidgetsaddons
647 kwindowsystem
648 kxmlgui
649 plasma-activities
650 libssh
651 libvnc
652 ;; XXX: libvnc's Libs.private, remove when we use pkgconf
653 lzo
654 libjpeg-turbo
655 libgcrypt
656 qtkeychain-qt6
657 qtwayland))
658 (arguments
659 (list #:configure-flags #~(list "-DQT_MAJOR_VERSION=6")
660 #:tests? #f
661 #:qtbase qtbase))
662 (home-page "https://apps.kde.org/krdc/")
663 (synopsis "Remote desktop client")
664 (description "KRDC is a client application that allows you to view or even
665control the desktop session on another machine that is running a compatible
666server. VNC and RDP are supported.
667
668This package is part of the KDE networking module.")
669 (license ;; GPL for programs, LGPL for libraries, FDL for documentation
670 (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
671
672(define-public ktorrent
673 (package
674 (name "ktorrent")
675 (version "26.04.1")
676 (source
677 (origin
678 (method url-fetch)
679 (uri (string-append "mirror://kde/stable/release-service/" version
680 "/src/ktorrent-" version ".tar.xz"))
681 (sha256
682 (base32 "10v8xi34bxl1gairmzfqhrqcpqn58jc07162v6ksb1n7h2dn4s6i"))))
683 (build-system qt-build-system)
684 (arguments (list #:qtbase qtbase))
685 (native-inputs
686 (list extra-cmake-modules kdoctools))
687 (inputs
688 (list boost
689 gmp
690 karchive
691 kcmutils
692 kconfig
693 kconfigwidgets
694 kcoreaddons
695 kcrash
696 kdbusaddons
697 kdnssd
698 kglobalaccel
699 ki18n
700 kiconthemes
701 kio
702 knotifications
703 knotifyconfig
704 kparts
705 kplotting
706 kstatusnotifieritem
707 kwidgetsaddons
708 kwindowsystem
709 kxmlgui
710 libgcrypt
711 libktorrent
712 breeze-icons ; default icon set
713 phonon
714 qt5compat
715 qtwayland
716 qtwebengine
717 solid
718 syndication
719 taglib))
720 (home-page "https://apps.kde.org/ktorrent/")
721 (synopsis "BitTorrent client")
722 (description "KTorrent is a BitTorrent application by KDE which allows you
723to download files using the BitTorrent protocol. It enables you to run
724multiple torrents at the same time and comes with extended features to make it
725a full-featured client for BitTorrent.")
726 (license license:gpl2+)))
727
728(define-public libktorrent
729 (package
730 (name "libktorrent")
731 (version "26.04.1")
732 (source
733 (origin
734 (method url-fetch)
735 (uri (string-append "mirror://kde/stable/release-service/"
736 version "/src/" name "-" version ".tar.xz"))
737 (sha256
738 (base32 "1504la492m6fpfdn7gbwv2hj4r4fv3ba4bdrqx2lhy5zm4yipdia"))))
739 (build-system qt-build-system)
740 (arguments (list #:qtbase qtbase))
741 (native-inputs
742 (list extra-cmake-modules))
743 (inputs
744 (list kcrash
745 ki18n
746 qca-qt6
747 solid))
748 ;; As required by KTorrent6Config.cmake.
749 (propagated-inputs
750 (list boost gmp karchive kconfig kio libgcrypt qt5compat))
751 (home-page "https://invent.kde.org/network/libktorrent")
752 (synopsis "BitTorrent protocol library for C++ / Qt 6 / KDE Frameworks")
753 (description "The KTorrent library supports connectivity to HTTP and UDP
754trackers, mainline DHT and the new generation Micro Transport
755Protocol (uTP). In addition, it provides many powerful BitTorrent network
756features including but not limited to torrent downloading and seeding, torrent
757creation and downloaded data verification, magnet links, advanced peer
758management, IP blocking lists.")
759 (license license:gpl2+)))
760
761(define-public kunifiedpush
762 (package
763 (name "kunifiedpush")
764 (version "26.04.1")
765 (source
766 (origin
767 (method url-fetch)
768 (uri (string-append "mirror://kde/stable/release-service/"
769 version "/src/" name "-" version ".tar.xz"))
770 (sha256
771 (base32 "1kq8hy43v4qb9lm0gl0zhnd8dv16vln6zx3zhj268cy27csgkrsb"))))
772 (build-system qt-build-system)
773 (arguments
774 (list #:qtbase qtbase
775 #:phases
776 #~(modify-phases %standard-phases
777 (replace 'check
778 (lambda* (#:key tests? #:allow-other-keys)
779 (when tests?
780 (invoke "ctest" "-E" "connectortest")))))))
781 (native-inputs
782 (list extra-cmake-modules))
783 (inputs
784 (list kcmutils
785 kcoreaddons
786 kcrash
787 ki18n
788 kservice
789 openssl
790 qtwebsockets
791 solid))
792 (home-page "https://invent.kde.org/libraries/kunifiedpush")
793 (synopsis "UnifiedPush client components")
794 (description "KUnifiedPush is a @uref{https://unifiedpush.org/,
795UnifiedPush} client library and distributor daemon.")
796 (license license:lgpl2.0+)))
797
798(define-public neochat
799 (package
800 (name "neochat")
801 (version "26.04.3")
802 (source
803 (origin
804 (method url-fetch)
805 (uri (string-append "mirror://kde/stable/release-service/"
806 version "/src/" name "-" version ".tar.xz"))
807 (sha256
808 (base32 "03vzivl2s2j8fvpw52jc8i32wyr191q681f08mpjirdxg1l104vq"))))
809 (build-system qt-build-system)
810 (arguments
811 (list #:qtbase qtbase
812 #:configure-flags
813 #~(list "-DSKIP_LICENSE_TESTS=ON")
814 ;; Disable tests requiring "localhost"
815 #:test-exclude
816 (string-append "("
817 (string-join '("chatbarcachetest"
818 "actionstest"
819 "modeltest")
820 "|")
821 ")")))
822 (native-inputs
823 (list extra-cmake-modules kdoctools pkg-config python-minimal))
824 (inputs
825 (list cmark
826 icu4c
827 kcolorscheme
828 kconfig
829 kcoreaddons
830 kcrash
831 kdbusaddons
832 ki18n
833 kiconthemes
834 kio
835 kirigami
836 kirigami-addons
837 kitemmodels
838 knotifications
839 kquickcharts
840 kquickimageeditor
841 kstatusnotifieritem
842 ksyntaxhighlighting
843 kunifiedpush
844 kwindowsystem
845 libqmatrixclient
846 olm
847 openssl
848 prison
849 purpose
850 qcoro-qt6
851 qqc2-desktop-style
852 qthttpserver
853 qtkeychain-qt6
854 qtlocation
855 qtmultimedia
856 qtpositioning
857 qtspeech
858 qtsvg
859 qtwayland
860 qtwebview
861 sonnet))
862 (home-page "https://apps.kde.org/neochat/")
863 (synopsis "Matrix client for KDE")
864 (description "Neochat is an instant messaging application using the Matrix
865protocol, supporting end-to-end encryption. Its features include:
866@itemize
867@item individual chats,
868@item rooms,
869@item spaces,
870@item stickers and emojis,
871@item spell checking,
872@item uploading auttachments,
873@item media playback,
874@item message URL previews,
875@item searching messages,
876@item showing unread message information,
877@item registering and configuring accounts,
878@item importing and exporting encryption keys,
879@item multiple accounts and
880@item notifications.
881@end itemize")
882 (license license:gpl3+)))
883
884(define-public ruqola
885 (package
886 (name "ruqola")
887 (version "2.7.1")
888 (source (origin
889 (method url-fetch)
890 (uri (string-append "mirror://kde//stable/ruqola/ruqola-"
891 version ".tar.xz"))
892 (sha256
893 (base32
894 "1pvdzpj5ajchm0mlwf3qd527j33vr0d6h0nkqxn15n9j5v3b5zbc"))))
895 (build-system qt-build-system)
896 (arguments
897 (list #:qtbase qtbase
898 #:phases
899 #~(modify-phases %standard-phases
900 (add-before 'check 'set-home-directory
901 (lambda _
902 (setenv "HOME" "/tmp"))))))
903 (native-inputs
904 (list extra-cmake-modules kdoctools))
905 (inputs
906 (list karchive
907 kcodecs
908 kcoreaddons
909 kcrash
910 kdbusaddons
911 ki18n
912 kiconthemes
913 kidletime
914 kio
915 knotifications
916 knotifyconfig
917 kstatusnotifieritem
918 ksyntaxhighlighting
919 ktextaddons
920 ktextwidgets
921 kwidgetsaddons
922 kxmlgui
923 plasma-activities
924 prison
925 purpose
926 qtkeychain-qt6
927 qtwebsockets
928 qtnetworkauth
929 qtmultimedia
930 qtwayland
931 qtspeech
932 qtsvg
933 sonnet))
934 (home-page "https://apps.kde.org/ruqola/")
935 (synopsis "Rocket.Chat client")
936 (description
937 "Ruqola is a @uref{https://www.rocket.chat/, Rocket.Chat} client for KDE
938desktop. It supports:
939@itemize
940@item direct and thread messaging,
941@item @acronym{OTR, Off-the-Record} messages,
942@item individual and group channels,
943@item autotranslate support,
944@item emojis,
945@item videos,
946@item GIFs,
947@item uploading auttachments,
948@item searching messages in a room,
949@item showing unread message information,
950@item discussion rooms and configuring them,
951@item storing messages in a local database,
952@item exporting messages,
953@item importing/exporting accounts,
954@item registering and configuring accounts,
955@item two-factor authentication via TOTP or email,
956@item multiple accounts,
957@item auto-away,
958@item blocking/unblocking users,
959@item administrator settings,
960@item console moderation,
961@item message URL previews,
962@item channel list styles,
963@item forwarding messages,
964@item Rocket.Chat marketplace,
965@item notifications,
966@item replying directly from the notification and
967@item DND image to websites or local folder.
968@end itemize")
969 (license (list license:lgpl2.1+ license:gpl2+))))
970
971(define-public smb4k
972 (package
973 (name "smb4k")
974 (version "4.0.6")
975 (source
976 (origin
977 (method git-fetch)
978 (uri (git-reference (url "https://invent.kde.org/network/smb4k")
979 (commit version)))
980 (file-name (git-file-name name version))
981 (sha256
982 (base32 "1k0szca8dkl6awfcnn5yfzpdv6jcs5zp9x97vn5b3j5z2qfcawf7"))))
983 (build-system qt-build-system)
984 (arguments (list
985 #:qtbase qtbase
986 #:tests? #f
987 #:configure-flags #~(list "-DSMB4K_WITH_WS_DISCOVERY=ON")))
988 ;; These packages are required by the QML modules.
989 (propagated-inputs
990 (list kirigami
991 libplasma
992 qtbase ;for QML_IMPORT_PATH and QT_PLUGIN_PATH
993 qtdeclarative))
994 (native-inputs
995 (list extra-cmake-modules kdoctools))
996 (inputs
997 (list breeze-icons ;; default icon set
998 kauth
999 kcompletion
1000 kconfig
1001 kconfigwidgets
1002 kcoreaddons
1003 kcrash
1004 kdbusaddons
1005 kdnssd
1006 kdsoap
1007 kdsoap-ws-discovery-client
1008 ki18n
1009 kiconthemes
1010 kio
1011 kjobwidgets
1012 knotifications
1013 knotifyconfig
1014 kstatusnotifieritem
1015 ktextwidgets
1016 kwallet
1017 kwidgetsaddons
1018 kwindowsystem
1019 kxmlgui
1020 qtkeychain-qt6
1021 qtwayland
1022 samba
1023 solid))
1024 (home-page "https://apps.kde.org/smb4k/")
1025 (synopsis "Samba (SMB) share advanced browser")
1026 (description "Smb4K is an network neighborhood browser for the KDE
1027Software Compilation and a frontend to the programs of the Samba software
1028suite.
1029
1030Features:
1031@itemize
1032@item Scanning for (active) workgroups, hosts, and shares
1033@item Support of the CIFS (Linux) and SMBFS (FreeBSD) file system
1034@item Mounting and unmounting of shares (using the KAuth framework)
1035@item Access to the files of a mounted share using a file manager or terminal
1036@item Auto-detection of external mounts and unmounts
1037@item Remounting of previously used shares on program start
1038@item Miscellaneous infos about remote network items and mounted shares
1039@item Network search
1040@item WINS server support
1041@item Preview of the contents of a share
1042@item Several methods to look up the initial list of workgroups and domains
1043@item Default login
1044@item Special handling of homes shares
1045@item Ability to bookmark favorite shares and organize them in groups
1046@item System tray widget
1047@item Support of advanced Samba options
1048@item Support of printer shares
1049@item KWallet support
1050@item Synchronization of a remote share with a local copy and vice versa
1051@item Ability to define custom options for individual servers and shares
1052@item Laptop support through the Solid hardware device framework
1053@end itemize")
1054 (license license:gpl2+)))