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