summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrett Gilio <brettg@posteo.net>2019-11-27 02:08:02 -0600
committerLudovic Courtès <ludo@gnu.org>2019-11-29 15:54:20 +0100
commit403604c31e1a914d338f62d222081be5f62e0520 (patch)
tree41a006b4d0c583112d8be4b0ded90861938c34c8
parentb6b014bf42f68fcb71d37204328babb81e0e0855 (diff)
gnu: Add tdlib.
* gnu/packages/messaging.scm (tdlib): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--gnu/packages/messaging.scm47
1 files changed, 47 insertions, 0 deletions
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 2429bad3e5..031c357f51 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -16,6 +16,7 @@
;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr>
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
+;;; Copyright © 2019 Brett Gilio <brettg@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -57,6 +58,7 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
+ #:use-module (gnu packages gperf)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages icu4c)
@@ -72,6 +74,7 @@
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages photo)
+ #:use-module (gnu packages php)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
@@ -1946,4 +1949,48 @@ Telegram messenger.")
;; itself is GPLv2+.
(license license:gpl2+)))
+(define-public tdlib
+ (let ((commit "afca63a4f43531058a079e91eb5c81f54ad744b5")
+ (revision "1")
+ (version "1.5.0"))
+ (package
+ (name "tdlib")
+ (version (git-version version revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tdlib/td.git")
+ (commit commit)))
+ (sha256
+ (base32
+ "1aa3p4k32mfshgc6fv58gwg8pnaix39rv455hfx6znj7llr8na6k"))
+ (file-name (git-file-name name version))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #t
+ #: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))))
+
;;; messaging.scm ends here