gnu: Add ktorrent.
[jackhill/guix/guix.git] / gnu / packages / kde-internet.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2017, 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
3 ;;;
4 ;;; This file is part of GNU Guix.
5 ;;;
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.
10 ;;;
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.
15 ;;;
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/>.
18
19 (define-module (gnu packages kde-internet)
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 boost)
27 #:use-module (gnu packages compression)
28 #:use-module (gnu packages glib)
29 #:use-module (gnu packages gnupg)
30 #:use-module (gnu packages image)
31 #:use-module (gnu packages kde)
32 #:use-module (gnu packages kde-frameworks)
33 #:use-module (gnu packages kde-pim)
34 #:use-module (gnu packages libidn)
35 #:use-module (gnu packages linux)
36 #:use-module (gnu packages messaging)
37 #:use-module (gnu packages mp3)
38 #:use-module (gnu packages multiprecision)
39 #:use-module (gnu packages pkg-config)
40 #:use-module (gnu packages qt)
41 #:use-module (gnu packages rdesktop)
42 #:use-module (gnu packages serialization)
43 #:use-module (gnu packages ssh)
44 #:use-module (gnu packages telephony)
45 #:use-module (gnu packages tls)
46 #:use-module (gnu packages video)
47 #:use-module (gnu packages web)
48 #:use-module (gnu packages xiph)
49 #:use-module (gnu packages xml))
50
51 (define-public choqok
52 (package
53 (name "choqok")
54 (version "1.6.0")
55 (source
56 (origin
57 (method url-fetch)
58 (uri (string-append "mirror://kde/stable/choqok/"
59 (version-major+minor version)
60 "/src/choqok-" version ".tar.xz"))
61 (sha256
62 (base32 "03ri4y1wzyqlixnhczsls5gmy7jzzm67bb5gz8bav51ngc32fxca"))
63 (patches (search-patches "choqok-Fix-building-under-Qt-5.13.patch"))))
64 (build-system qt-build-system)
65 (native-inputs
66 `(("extra-cmake-modules" ,extra-cmake-modules)
67 ("kdoctools" ,kdoctools)
68 ("pkg-config" ,pkg-config)))
69 (inputs
70 `(("attica" ,attica)
71 ("kcmutils" ,kcmutils)
72 ("kconfigwidgets" ,kconfigwidgets)
73 ("kcoreaddons" ,kcoreaddons)
74 ("kdewebkit" ,kdewebkit)
75 ("kemoticons" ,kemoticons)
76 ("kglobalaccel" ,kglobalaccel)
77 ("kguiaddons" ,kguiaddons)
78 ("ki18n" ,ki18n)
79 ("kio" ,kio)
80 ("knotifications" ,knotifications)
81 ("knotifyconfig" ,knotifyconfig)
82 ("kparts" ,kparts)
83 ("ktextwidgets" ,ktextwidgets)
84 ("kwallet" ,kwallet)
85 ("kwidgetsaddons" ,kwidgetsaddons)
86 ("kxmlgui" ,kxmlgui)
87 ;; TODO: telepathy
88 ("oxygen-icons" ,oxygen-icons) ; default icon set
89 ("qca" ,qca)
90 ("qoauth" ,qoauth)
91 ("qtbase" ,qtbase)
92 ("qtwebkit" ,qtwebkit)
93 ("sonnet" ,sonnet)))
94 (home-page "https://kde.org/applications/internet/org.kde.choqok")
95 (synopsis "Micro-Blogging Client")
96 (description "Choqok is a fast, efficient and simple to use micro-blogging
97 client for KDE. It currently supports the twitter.com and identi.ca
98 microblogging services.
99
100 Other notable features include:
101 @itemize
102 @item Support for user + friends time-lines.
103 @item Support for @Reply time-lines.
104 @item Support for sending and receiving direct messages.
105 @item Twitpic.com integration.
106 @item The ability to use multiple accounts simultaneously.
107 @item Support for search APIs for all services.
108 @item KWallet integration.
109 @item Support for automatic shortening urls with more than 30 characters.
110 @item Support for configuring status lists appearance.
111 @end itemize")
112 (license license:gpl3+)))
113
114 (define-public kget
115 (package
116 (name "kget")
117 (version "19.08.3")
118 (source
119 (origin
120 (method url-fetch)
121 (uri (string-append "mirror://kde/stable/applications/" version
122 "/src/kget-" version ".tar.xz"))
123 (sha256
124 (base32 "004qqq93iqidh2m9q2p2cwlbc2kfrz0g8a2mgd712c9p66l7s42s"))))
125 (build-system qt-build-system)
126 (native-inputs
127 `(("extra-cmake-modules" ,extra-cmake-modules)
128 ("pkg-config" ,pkg-config)))
129 (inputs
130 `(("boost" ,boost)
131 ("gmp" ,gmp)
132 ("gpgme" ,gpgme)
133 ("kcmutils" ,kcmutils)
134 ("kcompletion" ,kcompletion)
135 ("kconfig" ,kconfig)
136 ("kconfigwidgets" ,kconfigwidgets)
137 ("kcoreaddons" ,kcoreaddons)
138 ("kcrash" ,kcrash)
139 ("kdbusaddons" ,kdbusaddons)
140 ("kdelibs4support" ,kdelibs4support) ;; KLocale
141 ("kdoctools" ,kdoctools)
142 ("ki18n" ,ki18n)
143 ("kiconthemes" ,kiconthemes)
144 ("kio" ,kio)
145 ("kitemviews" ,kitemviews)
146 ("knotifications" ,knotifications)
147 ("knotifyconfig" ,knotifyconfig)
148 ("kparts" ,kparts)
149 ("kservice" ,kservice)
150 ("ktextwidgets" ,ktextwidgets)
151 ("kwallet" ,kwallet)
152 ("kwidgetsaddons" ,kwidgetsaddons)
153 ("kwindowsystem" ,kwindowsystem)
154 ("kxmlgui" ,kxmlgui)
155 ("libgcrypt" ,libgcrypt)
156 ("libktorrent" ,libktorrent)
157 ;; TODO: libmms
158 ;; TODO: LibKWorkspace - plasma-workspace?
159 ("oxygen-icons" ,oxygen-icons) ; default icon set
160 ("qca" ,qca)
161 ("qgpgme" ,qgpgme)
162 ("qtbase" ,qtbase)
163 ))
164 (home-page "http://www.kde.org/")
165 (synopsis "Versatile and user-friendly download manager")
166 (description "KGet is an advanced download manager with support for
167 Metalink and Bittorrent. Downloads are added to the list, where they can be
168 paused, queued, or scheduled for later. KGet supports download via FTP anf
169 HTTP(S) as well as pausing downloads.
170
171 This package is part of the KDE networking module.")
172 (license ;; GPL for programs, LGPL for libraries, FDL for documentation
173 (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
174
175 (define-public konversation
176 (package
177 (name "konversation")
178 (version "1.7.5")
179 (source
180 (origin
181 (method url-fetch)
182 (uri (string-append "mirror://kde/stable/konversation/" version
183 "/src/konversation-" version ".tar.xz"))
184 (sha256
185 (base32 "0h098yhlp36ls6pdvs2r93ig8dv4fys62m0h6wxccprb0qrpbgv0"))
186 (patches (search-patches "konversation-Fix-build-with-Qt-5.11.patch"))))
187 (build-system qt-build-system)
188 (native-inputs
189 `(("extra-cmake-modules" ,extra-cmake-modules)
190 ("kdoctools" ,kdoctools)))
191 (inputs
192 `(("karchive" ,karchive)
193 ("kbookmarks" ,kbookmarks)
194 ("kconfig" ,kconfig)
195 ("kconfigwidgets" ,kconfigwidgets)
196 ("kcoreaddons" ,kcoreaddons)
197 ("kcrash" ,kcrash)
198 ("kdbusaddons" ,kdbusaddons)
199 ("kemoticons" ,kemoticons)
200 ("kglobalaccel" ,kglobalaccel)
201 ("ki18n" ,ki18n)
202 ("kiconthemes" ,kiconthemes)
203 ("kidletime" ,kidletime)
204 ("kio" ,kio)
205 ("kitemviews" ,kitemviews)
206 ("knotifications" ,knotifications)
207 ("knotifyconfig" ,knotifyconfig)
208 ("kparts" ,kparts)
209 ("kwallet" ,kwallet)
210 ("kwidgetsaddons" ,kwidgetsaddons)
211 ("kwindowsystem" ,kwindowsystem)
212 ("oxygen-icons" ,oxygen-icons) ; default icon set
213 ("phonon" ,phonon)
214 ("qtbase" ,qtbase)
215 ("qca" ,qca)
216 ("solid" ,solid)
217 ("sonnet" ,sonnet)))
218 (home-page "https://kde.org/applications/internet/org.kde.konversations")
219 (synopsis "Graphical Internet Relay Chat (IRC) client for KDE")
220 (description "Konversation is a graphical Internet Relay Chat client (IRC)
221 with KDE support.
222
223 Features are:
224 @itemize
225 @item Standard IRC features
226 @item SSL server support
227 @item Bookmarking support
228 @item Easy to use graphical user interface
229 @item Multiple servers and channels in one single window
230 @item DCC file transfer with resume support
231 @item Multiple identities for different servers
232 @item Text decorations and colors
233 @item Pattern-based message highlighting and OnScreen Display notifications
234 @item Automatic UTF-8 detection
235 @item Per channel encoding support
236 @item Theme support for nick icons
237 @item Highly configurable
238 @item Multi-language scripting support (with DCOP)
239 @item Customizable command aliases
240 @item NickServ-aware log-on (for registered nicknames)
241 @item Smart logging
242 @item Traditional or enhanced-shell-style nick completion
243 @end itemize")
244 (license ;; GPL for programs, FDL for documentation
245 (list license:gpl2+ license:fdl1.2+))))
246
247 (define-public kopete
248 (package
249 (name "kopete")
250 (version "19.08.3")
251 (source
252 (origin
253 (method url-fetch)
254 (uri (string-append "mirror://kde/stable/applications/" version
255 "/src/kopete-" version ".tar.xz"))
256 (sha256
257 (base32 "088jya4v04l7r38pph1hxkr6ln4023s3ji3y8ipzdkalcx8hgr6l"))))
258 (build-system qt-build-system)
259 (native-inputs
260 `(("extra-cmake-modules" ,extra-cmake-modules)
261 ("kdoctools" ,kdoctools)
262 ("pkg-config" ,pkg-config)))
263 (inputs
264 `(("alsa-lib" ,alsa-lib)
265 ("boost" ,boost)
266 ("expat" ,expat)
267 ("glib" ,glib)
268 ("gpgme" ,gpgme)
269 ("jsoncpp" ,jsoncpp)
270 ("kcmutils" ,kcmutils)
271 ("kconfig" ,kconfig)
272 ("kcontacts" ,kcontacts)
273 ("kcoreaddons" ,kcoreaddons)
274 ("kcrash" ,kcrash)
275 ("kdbusaddons" ,kdbusaddons)
276 ("kdelibs4support" ,kdelibs4support)
277 ("kdnssd" ,kdnssd)
278 ("kemoticons" ,kemoticons)
279 ("khtml" ,khtml)
280 ("ki18n" ,ki18n)
281 ("kidentitymanagement" ,kidentitymanagement)
282 ("kjs" ,kjs)
283 ;; TODO? kleopatra (additionally to libkleo)
284 ("knotifyconfig" ,knotifyconfig)
285 ("kparts" ,kparts)
286 ("kpimtextedit" ,kpimtextedit)
287 ("ktexteditor" ,ktexteditor)
288 ("kwallet" ,kwallet)
289 ;; TODO: Libgadu
290 ("libidn" ,libidn)
291 ("libkleo" ,libkleo)
292 ;; TODO: LibMeanwhile
293 ("libotr" ,libotr)
294 ("libsrtp" ,libsrtp)
295 ("libxml2" ,libxml2)
296 ("libxstl" ,libxslt)
297 ;; TODO: Mediastreamer
298 ("openssl", openssl)
299 ("ortp" ,ortp)
300 ("phonon" ,phonon)
301 ("qca" ,qca)
302 ("qgpgme" ,qgpgme)
303 ("qtbase" ,qtbase)
304 ("speex" ,speex)
305 ("v4l-utils" ,v4l-utils)
306 ;; TODO: Xmms
307 ("zlib" ,zlib)))
308 ;; TODO: enable video support
309 (home-page "https://kde.org/applications/internet/org.kde.kopete")
310 (synopsis "Instant messaging and chat application")
311 (description "Kopete is an instant messenger supporting Jabber/XMPP ,AIM,
312 ICQ, Gadu-Gadu, Novell GroupWise Messenger, and more. It is designed to be a
313 flexible and extensible multi-protocol system suitable for personal and
314 enterprise use.
315
316 The goal of Kopete is to provide users with a single easy-to-use way to access
317 all of their instant messaging systems. The interface puts people first, and
318 is integrated with the system address book to let you access your contacts
319 from other KDE applications.
320
321 This package is part of the KDE networking module.")
322 (license ;; GPL for programs, LGPL for libraries, FDL for documentation
323 (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
324
325 (define-public krdc
326 (package
327 (name "krdc")
328 (version "19.08.3")
329 (source
330 (origin
331 (method url-fetch)
332 (uri (string-append "mirror://kde/stable/applications/" version
333 "/src/krdc-" version ".tar.xz"))
334 (sha256
335 (base32 "1p6g994whzjz9aarzrblh70xzs3jvygd1898qxgfymndlfxaxjyl"))))
336 (build-system qt-build-system)
337 (native-inputs
338 `(("extra-cmake-modules" ,extra-cmake-modules)
339 ("kdoctools" ,kdoctools)))
340 (inputs
341 `(("kbookmarks" ,kbookmarks)
342 ("freerdp" ,freerdp)
343 ("kcmutils" ,kcmutils)
344 ("kcompletion" ,kcompletion)
345 ("kconfig" ,kconfig)
346 ("kdnssd" ,kdnssd)
347 ("ki18n" ,ki18n)
348 ("kiconthemes" ,kiconthemes)
349 ("knotifications" ,knotifications)
350 ("knotifyconfig" ,knotifyconfig)
351 ("knotifyconfig" ,knotifyconfig)
352 ("kwallet" ,kwallet)
353 ("kwidgetsaddons" ,kwidgetsaddons)
354 ("kwindowsystem" ,kwindowsystem)
355 ("kxmlgui" ,kxmlgui)
356 ("libssh2" ,libssh)
357 ;; TODO: libvnc{server,client} - is not tigervnc-{server,client}
358 ("oxygen-icons" ,oxygen-icons) ; default icon set
359 ("qtbase" ,qtbase)))
360 (home-page "https://kde.org/applications/internet/org.kde.krdc")
361 (synopsis "Remote desktop client")
362 (description "KRDC is a client application that allows you to view or even
363 control the desktop session on another machine that is running a compatible
364 server. VNC and RDP are supported.
365
366 This package is part of the KDE networking module.")
367 (license ;; GPL for programs, LGPL for libraries, FDL for documentation
368 (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
369
370 (define-public ktorrent
371 (package
372 (name "ktorrent")
373 (version "5.1.2")
374 (source
375 (origin
376 (method url-fetch)
377 (uri (string-append "mirror://kde/stable/ktorrent/" version
378 "/ktorrent-" version ".tar.xz"))
379 (sha256
380 (base32 "0kwd0npxfg4mdh7f3xadd2zjlqalpb1jxk61505qpcgcssijf534"))))
381 (build-system qt-build-system)
382 (native-inputs
383 `(("extra-cmake-modules" ,extra-cmake-modules)
384 ("kdoctools" ,kdoctools)))
385 (inputs
386 `(("boost" ,boost)
387 ("gmp" ,gmp)
388 ("karchive" ,karchive)
389 ("kcmutils" ,kcmutils)
390 ("kconfig" ,kconfig)
391 ("kconfigwidgets" ,kconfigwidgets)
392 ("kcoreaddons" ,kcoreaddons)
393 ("kcrash" ,kcrash)
394 ("kdbusaddons" ,kdbusaddons)
395 ("kdewebkit" ,kdewebkit)
396 ("kdnssd" ,kdnssd)
397 ("ki18n" ,ki18n)
398 ("kiconthemes" ,kiconthemes)
399 ("kio" ,kio)
400 ("knotifications" ,knotifications)
401 ("knotifyconfig" ,knotifyconfig)
402 ("kparts" ,kparts)
403 ("kplotting" ,kplotting)
404 ("kross", kross)
405 ("kwidgetsaddons" ,kwidgetsaddons)
406 ("kwindowsystem" ,kwindowsystem)
407 ("kxmlgui" ,kxmlgui)
408 ("libgcrypt" ,libgcrypt)
409 ("libktorrent" ,libktorrent)
410 ;; TODO: LibKWorkspace -> plasma-workspace?
411 ("oxygen-icons" ,oxygen-icons) ; default icon set
412 ("phonon" ,phonon)
413 ("qtbase" ,qtbase)
414 ("qtscript" ,qtscript)
415 ("qtwebkit" ,qtwebkit)
416 ("solid" ,solid)
417 ("syndication" ,syndication)
418 ("taglib" ,taglib)))
419 (home-page "https://kde.org/applications/internet/org.kde.ktorrent")
420 (synopsis "BitTorrent client")
421 (description "KTorrent is a BitTorrent application by KDE which allows you
422 to download files using the BitTorrent protocol. It enables you to run
423 multiple torrents at the same time and comes with extended features to make it
424 a full-featured client for BitTorrent.")
425 (license license:gpl2+)))
426
427 (define-public libktorrent
428 (package
429 (name "libktorrent")
430 (version "2.1.1")
431 (source
432 (origin
433 (method url-fetch)
434 ;; TODO: Base on version of ktorrent
435 (uri (string-append "mirror://kde//stable/ktorrent/5.1.2"
436 "/libktorrent-" version ".tar.xz"))
437 (sha256
438 (base32 "0051zh8bb4p9wmcfn5ql987brhsaiw9880xdck7b5dm1a05mri2w"))))
439 (build-system qt-build-system)
440 (native-inputs
441 `(("extra-cmake-modules" ,extra-cmake-modules)))
442 (inputs
443 `(("boost" ,boost)
444 ("gmp" ,gmp)
445 ("karchive" ,karchive)
446 ("kcrash" ,kcrash)
447 ("ki18n" ,ki18n)
448 ("kio" ,kio)
449 ("libgcrypt" ,libgcrypt)
450 ("qca" ,qca)
451 ("qtbase" ,qtbase)
452 ("solid" ,solid)))
453 (home-page "https://cgit.kde.org/libktorrent.git")
454 (synopsis "BitTorrent protocol library for C++ / Qt 5 / KDE Frameworks")
455 (description "The KTorrent library supports connectivity to HTTP and UDP
456 trackers, mainline DHT and the new generation Micro Transport
457 Protocol (uTP). In addition, it provides many powerful BitTorrent network
458 features including but not limited to torrent downloading and seeding, torrent
459 creation and downloaded data verification, magnet links, advanced peer
460 management, IP blocking lists.")
461 (license license:gpl2+)))