kde-internet.scm 18 KB

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