guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#38325] [PATCH] gnu: Add tdlib.


From: Brett Gilio
Subject: [bug#38325] [PATCH] gnu: Add tdlib.
Date: Wed, 27 Nov 2019 02:18:38 -0600
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)

Brett Gilio <address@hidden> writes:

> From d584c09c37d8e2b70fb5b6b1b2c685698f7ac73d Mon Sep 17 00:00:00 2001
> From: Brett Gilio <address@hidden>
> Date: Wed, 27 Nov 2019 02:08:02 -0600
> Subject: [PATCH] gnu: Add tdlib.
>
> * gnu/packages/messaging.scm (tdlib): New variable.
> ---
>  gnu/packages/messaging.scm | 47 ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 47 insertions(+)
>
> diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
> index 33e752c9a0..b268805b9b 100644
> --- a/gnu/packages/messaging.scm
> +++ b/gnu/packages/messaging.scm
> @@ -16,6 +16,7 @@
>  ;;; Copyright © 2018 Leo Famulari <address@hidden>
>  ;;; Copyright © 2018 Pierre-Antoine Rouby <address@hidden>
>  ;;; Copyright © 2019 Tanguy Le Carrour <address@hidden>
> +;;; Copyright © 2019 Brett Gilio <address@hidden>
>  ;;;
>  ;;; 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

Ludo,

Hopefully this one is better. I also described how I
rectified the issue with the test suite. I suppose I could have removed
#:tests? #t, but I was just happy I believe I found the right
solution. The test suite for this project is more than a little
unconventional (at least to my experience).

Brett Gilio






reply via email to

[Prev in Thread] Current Thread [Next in Thread]