diff options
Diffstat (limited to 'gnu/packages/messaging.scm')
-rw-r--r-- | gnu/packages/messaging.scm | 525 |
1 files changed, 375 insertions, 150 deletions
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 14172a13f5..c585326124 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2016, 2017, 2018, 2019 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com> ;;; Copyright © 2017, 2018, 2020 Arun Isaac <arunisaac@systemreboot.net> -;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org> ;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018 Leo Famulari <leo@famulari.name> @@ -26,6 +26,7 @@ ;;; Copyright © 2020 Mason Hock <chaosmonk@riseup.net> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> +;;; Copyright © 2020 Robert Karszniewicz <avoidr@posteo.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -61,6 +62,7 @@ #:use-module (gnu packages curl) #:use-module (gnu packages cyrus-sasl) #:use-module (gnu packages databases) + #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) #:use-module (gnu packages enchant) #:use-module (gnu packages fontutils) @@ -70,6 +72,7 @@ #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) #:use-module (gnu packages gperf) + #:use-module (gnu packages graphviz) #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) @@ -83,9 +86,11 @@ #:use-module (gnu packages lua) #:use-module (gnu packages man) #:use-module (gnu packages markup) + #:use-module (gnu packages mono) #:use-module (gnu packages mpd) #:use-module (gnu packages ncurses) #:use-module (gnu packages networking) + #:use-module (gnu packages nss) #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages photo) @@ -125,6 +130,197 @@ #:use-module (guix packages) #:use-module (guix utils)) +(define-public libgnt + (package + (name "libgnt") + (version "2.14.0") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://sourceforge/pidgin/libgnt/" + version "/libgnt-" version ".tar.xz")) + (sha256 + (base32 "1grs9fxl404rscscxk1ff55fzjnwjqrisjxbasbssmcp1h1s4zkb")))) + (build-system meson-build-system) + (outputs '("out" "doc")) + (arguments + `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-ncurses-path + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "meson.build" + (("'/usr'") + (string-append "'" + (assoc-ref inputs "ncurses") + "'"))) + #t)) + (add-before 'configure 'patch-docbook-xml + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "doc" + (substitute* "libgnt-docs.xml" + (("http://www.oasis-open.org/docbook/xml/4.1.2/") + (string-append (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook/")))) + #t)) + (add-after 'install 'move-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc"))) + (mkdir-p (string-append doc "/share")) + (rename-file + (string-append out "/share/gtk-doc") + (string-append doc "/share/gtk-doc")) + #t)))))) + (native-inputs + `(("docbook-xml" ,docbook-xml-4.1.2) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("gtk-doc" ,gtk-doc) + ("pkg-config" ,pkg-config))) + (inputs + `(("ncurses" ,ncurses))) + (propagated-inputs + `(("glib" ,glib) + ("libxml" ,libxml2) + ("python" ,python-2))) + (synopsis "GLib Ncurses Toolkit") + (description "GNT is an ncurses toolkit for creating text-mode graphical +user interfaces in a fast and easy way. It is based on GLib and ncurses.") + (home-page "https://keep.imfreedom.org/libgnt/libgnt") + (license license:gpl2+))) + +(define-public libgadu + (package + (name "libgadu") + (version "1.12.2") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/wojtekka/libgadu.git") + (commit version))) + (file-name + (git-file-name name version)) + (sha256 + (base32 "1s16cripy5w9k12534qb012iwc5m9qcjyrywgsziyn3kl3i0aa8h")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list + "--disable-static") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-shebangs + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "protobufgen.sh" + (("/bin/sh") + (string-append (assoc-ref inputs "bash") + "/bin/sh"))) + #t))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("bash" ,bash) + ("doxygen" ,doxygen) + ("libtool" ,libtool) + ("perl" ,perl) + ("pkg-config" ,pkg-config))) + (inputs + `(("curl" ,curl) + ("expat" ,expat) + ("libprotobuf-c" ,protobuf-c) + ("libxml" ,libxml2) + ("openssl" ,openssl) + ("zlib" ,zlib))) + (propagated-inputs + `(("gnutls" ,gnutls))) + (synopsis "Library for handling the protocol of Gadu-Gadu") + (description "LibGadu is library for handling Gadu-Gadu instant messenger +protocol. The library is written in C and aims to be operating system and +environment independent.") + (home-page "https://libgadu.net/index.en.html") + (license license:lgpl2.1+))) + +(define-public silc-toolkit + (package + (name "silc-toolkit") + (version "1.1.12") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://sourceforge/silc/silc/toolkit/sources/silc-toolkit-" + version ".tar.gz")) + (sha256 + (base32 "0mnvf9n7qriadg0p7a8qmvcayhnns2g9fhmcymavlm0v8xrky33y")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list + "--disable-static" + "--enable-ipv6" + "--enable-stack-trace") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'trigger-bootstrap + (lambda _ + (delete-file "configure") + (delete-file "Makefile.in") + #t))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("perl" ,perl) + ("pkg-config" ,pkg-config))) + (synopsis "SILC ToolKit") + (description "SILC (Secure Internet Live Conferencing) is a modern and secure +conferencing protocol. It provides all the common conferencing services like +private messages, instant messages, channels and groups, and video and audio +conferencing.") + (home-page "https://silc.github.io/info") + (license + ;; Dual-licensed + (list + license:gpl2+ + license:bsd-2)))) + +(define-public meanwhile + (package + (name "meanwhile") + (version "1.1.1") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/obriencj/meanwhile.git") + (commit + (string-append "v" version)))) + (file-name + (git-file-name name version)) + (sha256 + (base32 "1k1gvmx1ikm0y1mdmm495rzkb00pl170jfaf2dy0n5aiiknkk7q3")))) + (build-system glib-or-gtk-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("doxygen" ,doxygen) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (propagated-inputs + `(("glib" ,glib))) + (synopsis "Library for Lotus Instant Messaging") + (description "Meanwhile is a library for connecting to a LIM (Lotus Instant +Messaging, formerly Lotus Sametime, formerly VPBuddy) community. It uses a +protocol based in part off of the IMPP draft(*1), and in part off of traces of +TCP sessions from existing clients.") + (home-page "https://github.com/obriencj/meanwhile") + (license license:lgpl3))) + (define-public poezio (package (name "poezio") @@ -182,32 +378,39 @@ powerful, standard and open protocol.") (package (name "libotr") (version "4.1.1") - (source (origin - (method url-fetch) - (uri (string-append "https://otr.cypherpunks.ca/libotr-" - version ".tar.gz")) - (sha256 - (base32 - "1x8rliydhbibmzwdbyr7pd7n87m2jmxnqkpvaalnf4154hj1hfwb")) - (patches (search-patches "libotr-test-auth-fix.patch")))) + (source + (origin + (method url-fetch) + (uri (string-append "https://otr.cypherpunks.ca/libotr-" + version ".tar.gz")) + (sha256 + (base32 "1x8rliydhbibmzwdbyr7pd7n87m2jmxnqkpvaalnf4154hj1hfwb")) + (patches + (search-patches "libotr-test-auth-fix.patch")))) (build-system gnu-build-system) + (native-inputs + `(("perl" ,perl))) ; for the test suite + (inputs + `(("libgpg-error" ,libgpg-error))) (propagated-inputs - `(("libgcrypt" ,libgcrypt))) ; libotr headers include gcrypt.h - (inputs `(("libgpg-error" ,libgpg-error))) - (native-inputs `(("perl" ,perl))) ; for the test suite + `(("libgcrypt" ,libgcrypt))) ; libotr headers include gcrypt.h (synopsis "Off-the-Record (OTR) Messaging Library and Toolkit") - (description - "OTR allows you to have private conversations over instant messaging by -providing: (1) Encryption: No one else can read your instant messages. (2) -Authentication: You are assured the correspondent is who you think it is. (3) -Deniability: The messages you send do not have digital signatures that are -checkable by a third party. Anyone can forge messages after a conversation to -make them look like they came from you. However, during a conversation, your -correspondent is assured the messages he sees are authentic and -unmodified. (4) Perfect forward secrecy: If you lose control of your private -keys, no previous conversation is compromised.") + (description "OTR allows you to have private conversations over instant +messaging by providing: (1) Encryption: No one else can read your instant +messages. (2) Authentication: You are assured the correspondent is who you +think it is. (3) Deniability: The messages you send do not have digital +signatures that are checkable by a third party. Anyone can forge messages +after a conversation to make them look like they came from you. However, +during a conversation, your correspondent is assured the messages he sees are +authentic and unmodified. (4) Perfect forward secrecy: If you lose control of +your private keys, no previous conversation is compromised.") (home-page "https://otr.cypherpunks.ca/") - (license (list license:lgpl2.1 license:gpl2)))) + (license + (list + ;; Library + license:lgpl2.1+ + ;; Others + license:gpl2+)))) (define-public libsignal-protocol-c (package @@ -456,14 +659,14 @@ dictionaries. HexChat can be extended with multiple addons.") (define-public ngircd (package (name "ngircd") - (version "26") + (version "26.1") (source (origin (method url-fetch) (uri (string-append "https://arthur.barton.de/pub/ngircd/ngircd-" version ".tar.xz")) (sha256 (base32 - "1ijmv18fa648y7apxb9vp4j9iq6fxq850kz5v36rysaq614cdp2n")) + "0m32v0c7mq96rshws4h6d0pi4bm0hynfzx3x01mgrxh9c396zham")) (patches (search-patches "ngircd-handle-zombies.patch")))) (build-system gnu-build-system) ;; Needed for the test suite. @@ -522,89 +725,113 @@ authentication.") (define-public pidgin (package (name "pidgin") - (version "2.13.0") + (version "2.14.1") (source (origin (method url-fetch) - (uri (string-append "mirror://sourceforge/pidgin/Pidgin/" - version "/pidgin-" version ".tar.bz2")) + (uri + (string-append "mirror://sourceforge/pidgin/Pidgin/" + version "/pidgin-" version ".tar.gz")) (sha256 - (base32 "13vdqj70315p9rzgnbxjp9c51mdzf1l4jg1kvnylc4bidw61air7")) - (patches (search-patches "pidgin-add-search-path.patch" - ;; Remove the snippet and bootstrapping - ;; native-inputs together with this patch. - "pidgin-libnm.patch")) + (base32 "1c4dzxg9c3d9zfqqa7jwijj9rv9fm6w95igmpljwy88lxq7v5w11")) + (patches + (search-patches + "pidgin-add-search-path.patch" + "pidgin-vv-gst.patch")) (modules '((guix build utils))) (snippet '(begin - ;; Remove stale generated file after applying pidgin-libnm.patch. + ;; Remove stale generated file after applying patches. (delete-file "configure") #t)))) (build-system glib-or-gtk-build-system) (native-inputs - `(("pkg-config" ,pkg-config) - ("check" ,check-0.14) - ("intltool" ,intltool) + `(("autoconf" ,autoconf) ;; For bootstrap + ("automake" ,automake) ;; For bootstrap + ("check" ,check) + ("dot" ,graphviz) ("gconf" ,gconf) - ("python" ,python-2) - ("doxygen" ,doxygen) - - ;; For bootstrapping after applying pidgin-libnm.patch. - ("autoconf" ,autoconf) - ("automake" ,automake) - ("libtool" ,libtool))) + ("intltool" ,intltool) + ("libtool" ,libtool) ;; For bootstrap + ("pkg-config" ,pkg-config))) (inputs - `(("gtk+" ,gtk+-2) - ("libgcrypt" ,libgcrypt) - ("gnutls" ,gnutls) + `(("avahi" ,avahi) ("cyrus-sasl" ,cyrus-sasl) ("dbus" ,dbus) ("dbus-glib" ,dbus-glib) - ("python2-dbus" ,python2-dbus) + ;; ("evolution-data-server" ,evolution-data-server) + ("farstream" ,farstream) + ("gnutls" ,gnutls) + ("gstreamer" ,gstreamer) + ;; ("gtkspell2" ,gtkspell2) + ("libgadu" ,libgadu) + ("libgcrypt" ,libgcrypt) + ("libgnt" ,libgnt) + ("libice" ,libice) ("libidn" ,libidn) ("libltdl" ,libltdl) + ("libsm" ,libsm) + ("libx11" ,libx11) + ("libxext" ,libxext) ("libxml2" ,libxml2) - ;; TODO: gstreamer: patches needed to support gstreamer-1.0 or later - ;; TODO: farstream - ;; TODO: meanwhile - ;; TODO: gtkspell - ;; TODO: libxephyr - ;; TODO: libgadu + ("libxscrnsaver" ,libxscrnsaver) ("libxslt" ,libxslt) - ("avahi" ,avahi) + ;; ("libzephyr" ,libzephyr) + ("meanwhile" ,meanwhile) + ("mono" ,mono) ("ncurses" ,ncurses) ("network-manager" ,network-manager) + ("nspr" ,nspr) + ("nss" ,nss) + ("pango" ,pango) + ("perl" ,perl) + ("python" ,python-2) + ("python2-dbus" ,python2-dbus) + ("silc" ,silc-toolkit) ("sqlite" ,sqlite) - ("libice" ,libice) - ("libsm" ,libsm) - ("libxscrnsaver" ,libxscrnsaver) - ("startup-notification" ,startup-notification))) + ("startup-notification" ,startup-notification) + ("tcl" ,tcl) + ("tk" ,tk))) + (propagated-inputs + `(("glib" ,glib) + ("gtk+" ,gtk+-2))) (arguments `(#:configure-flags - (list "--disable-gtkspell" - "--disable-tcl" - "--disable-meanwhile" - "--disable-vv" ; XXX remove when we have farstream and gstreamer - "--disable-gstreamer" ; XXX patches needed to support gstreamer-1.0 - "--enable-cyrus-sasl" - (string-append "--with-ncurses-headers=" - (assoc-ref %build-inputs "ncurses") - "/include")))) + (list + (string-append "CFLAGS=-I" + (assoc-ref %build-inputs "gst-plugins-base") + "/include/gstreamer-1.0") + "--disable-gtkspell" + ;; "--enable-gevolution" + "--enable-cap" + "--enable-mono" + "--enable-cyrus-sasl" + (string-append "--with-ncurses-headers=" + (assoc-ref %build-inputs "ncurses") + "/include") + (string-append "--with-tclconfig=" + (assoc-ref %build-inputs "tcl") + "/lib") + (string-append "--with-tkconfig=" + (assoc-ref %build-inputs "tk") + "/lib")))) (native-search-paths - (list (search-path-specification - (variable "PURPLE_PLUGIN_PATH") - (files (list (string-append "lib/purple-" - (version-major version)) - "lib/pidgin"))))) + (list + (search-path-specification + (variable "PURPLE_PLUGIN_PATH") + (files + (list + (string-append "lib/purple-" + (version-major version)) + "lib/pidgin"))))) (home-page "https://www.pidgin.im/") (synopsis "Graphical multi-protocol instant messaging client") - (description - "Pidgin is a modular instant messaging client that supports many popular -chat protocols.") + (description "Pidgin is a modular instant messaging client that supports +many popular chat protocols.") (license (list - license:gpl2+ ; Most of the code - license:lgpl2.1 ; GG protocol plugin (libpurple/protocols/gg/lib) + license:gpl2+ ; Most of the code + license:lgpl2.1 ; GG protocol plugin (libpurple/protocols/gg/lib) license:lgpl2.0+ ; OSCAR protocol plugin (libpurple/protocols/oscar) ;; The following licenses cover the zephyr protocol plugin: (license:non-copyleft @@ -618,39 +845,40 @@ chat protocols.") (package (name "pidgin-otr") (version "4.0.2") - (source (origin - (method url-fetch) - (uri (string-append "https://otr.cypherpunks.ca/" - name "-" version ".tar.gz")) - (sha256 - (base32 - "1i5s9rrgbyss9rszq6c6y53hwqyw1k86s40cpsfx5ccl9bprxdgl")))) + (source + (origin + (method url-fetch) + (uri + (string-append "https://otr.cypherpunks.ca/" + name "-" version ".tar.gz")) + (sha256 + (base32 "1i5s9rrgbyss9rszq6c6y53hwqyw1k86s40cpsfx5ccl9bprxdgl")))) (build-system gnu-build-system) (native-inputs - `(("pkg-config" ,pkg-config) - ("intltool" ,intltool))) + `(("gettext" ,gettext-minimal) + ("intltool" ,intltool) + ("pkg-config" ,pkg-config))) (inputs - `(("pidgin" ,pidgin) - ("libotr" ,libotr) - ("libgpg-error" ,libgpg-error) + `(("glib" ,glib) + ("gtk+" ,gtk+-2) ("libgcrypt" ,libgcrypt) - ("glib" ,glib) - ("gtk+" ,gtk+-2))) + ("libgpg-error" ,libgpg-error) + ("libotr" ,libotr) + ("perl" ,perl) + ("pidgin" ,pidgin))) (home-page "https://otr.cypherpunks.ca/") (synopsis "Off-the-Record Messaging plugin for Pidgin") - (description - "Pidgin-OTR is a plugin that adds support for OTR to the Pidgin instant -messaging client. OTR (Off-the-Record) Messaging allows you to have private -conversations over instant messaging by providing: (1) Encryption: No one else -can read your instant messages. (2) Authentication: You are assured the -correspondent is who you think it is. (3) Deniability: The messages you send -do not have digital signatures that are checkable by a third party. Anyone + (description "Pidgin-OTR is a plugin that adds support for OTR to the Pidgin +instant messaging client. OTR (Off-the-Record) Messaging allows you to have +private conversations over instant messaging by providing: (1) Encryption: No +one else can read your instant messages. (2) Authentication: You are assured +the correspondent is who you think it is. (3) Deniability: The messages you +send do not have digital signatures that are checkable by a third party. Anyone can forge messages after a conversation to make them look like they came from -you. However, during a conversation, your correspondent is assured the -messages he sees are authentic and unmodified. (4) Perfect forward secrecy: -If you lose control of your private keys, no previous conversation is -compromised.") - (license license:gpl2))) +you. However, during a conversation, your correspondent is assured the messages +he sees are authentic and unmodified. (4) Perfect forward secrecy: If you lose +control of your private keys, no previous conversation is compromised.") + (license license:gpl2+))) (define-public znc (package @@ -1202,7 +1430,7 @@ messenger protocol.") (define-public utox (package (name "utox") - (version "0.17.1") + (version "0.18.0") (source (origin (method git-fetch) @@ -1213,7 +1441,7 @@ messenger protocol.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "17kwqw24iqljp2icih9k6ikx12gzr8zzqr8y5h35bg8m5s8pasq5")))) + "0d0mwgxffg4nhai62irf8lyhd1whp9s4k892rsmqz1sra3pbjcg9")))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DENABLE_TESTS=on") @@ -1252,9 +1480,9 @@ messenger protocol.") ("pkg-config" ,pkg-config))) (synopsis "Lightweight Tox client") (description - "Utox is a lightweight Tox client. Tox is a distributed and secure + "uTox is a lightweight Tox client. Tox is a distributed and secure instant messenger with audio and video chat capabilities.") - (home-page "http://utox.org/") + (home-page "https://github.com/uTox/uTox") (license license:gpl3))) (define-public qtox @@ -2287,51 +2515,48 @@ Telegram messenger.") (license license:gpl2+))) (define-public tdlib - (let ((commit "f45d80fe16f99d112d545b7cd74ce46342fe3437") - (revision "0") - (version "1.6.6")) - (package - (name "tdlib") - (version (git-version version revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/tdlib/td") - (commit commit))) - (sha256 - (base32 - "1q8zw26mqhpdzvqbgc7fmn8rzwm5amb8m7s6impin4342wj7h6nr")) - (file-name (git-file-name name version)))) - (build-system cmake-build-system) - (arguments - `(#:tests? #t - #:configure-flags - (list "-DCMAKE_BUILD_TYPE=Release" - "-DTD_ENABLE_LTO=OFF") ; FIXME: Get LTO to work. - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'remove-failing-tests - (lambda _ - (substitute* "test/CMakeLists.txt" - ;; The test cases are compiled into a distinct binary - ;; which uses mtproto.cpp to attempt to connect to - ;; a remote server. Removing this file from the sources - ;; list disables those specific test cases. - (("\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}/mtproto.cpp") "")) - #t))))) - (native-inputs - `(("gperf" ,gperf) - ("openssl" ,openssl) - ("zlib" ,zlib) - ("php" ,php) - ("doxygen" ,doxygen))) - (synopsis "Cross-platform library for building Telegram clients") - (description "Tdlib is a cross-platform library for creating custom + (package + (name "tdlib") + (version "1.7.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tdlib/td") + (commit (string-append "v" version)))) + (sha256 + (base32 + "0dfir57ljcn98mkg061c5642qb93wh2lm1n4nngpl3na9vvfk75i")) + (file-name (git-file-name name version)))) + (build-system cmake-build-system) + (arguments + `(#:tests? #t + #:configure-flags + (list "-DCMAKE_BUILD_TYPE=Release" + "-DTD_ENABLE_LTO=OFF") ; FIXME: Get LTO to work. + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'remove-failing-tests + (lambda _ + (substitute* "test/CMakeLists.txt" + ;; The test cases are compiled into a distinct binary + ;; which uses mtproto.cpp to attempt to connect to + ;; a remote server. Removing this file from the sources + ;; list disables those specific test cases. + (("\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}/mtproto.cpp") "")) + #t))))) + (native-inputs + `(("gperf" ,gperf) + ("openssl" ,openssl) + ("zlib" ,zlib) + ("php" ,php) + ("doxygen" ,doxygen))) + (synopsis "Cross-platform library for building Telegram clients") + (description "Tdlib is a cross-platform library for creating custom Telegram clients following the official Telegram API. It can be easily used from almost any programming language with a C-FFI and features first-class support for high performance Telegram Bot creation.") - (home-page "https://core.telegram.org/tdlib") - (license license:boost1.0)))) + (home-page "https://core.telegram.org/tdlib") + (license license:boost1.0))) (define-public purple-mm-sms (package |