diff mbox series

[bug#38325,1/2] gnu: Add tdlib.

Message ID 87mucnviyy.fsf@posteo.net
State Accepted
Headers show
Series [bug#38325,1/2] gnu: Add tdlib. | expand

Commit Message

Brett Gilio Nov. 22, 2019, 6:55 p.m. UTC

Comments

Ludovic Courtès Nov. 26, 2019, 10:51 a.m. UTC | #1
Hello!

Brett Gilio <brettg@posteo.net> skribis:

>>From c47ed88ed3945fd7dbdee2b7e507ec512dd799be Mon Sep 17 00:00:00 2001
> From: Brett Gilio <brettg@posteo.net>
> Date: Fri, 22 Nov 2019 12:53:32 -0600
> Subject: [PATCH 1/2] gnu: Add tdlib.
>
> * gnu/packages/messaging.scm (tdlib): New variable.

[...]

> +      (build-system cmake-build-system)
> +      (arguments
> +       `(#:tests? #f))

Apparently there are tests.  Could you look into enabling them?

If some of them fail, we should investigate.

Last thing: please address ‘guix lint’ warnings, I think there’s a
couple of them.  :-)

Thank you,
Ludo’.
Brett Gilio Nov. 26, 2019, 7:33 p.m. UTC | #2
Ludovic Courtès <ludo@gnu.org> writes:

> Hello!
>
> Brett Gilio <brettg@posteo.net> skribis:
>
>>>From c47ed88ed3945fd7dbdee2b7e507ec512dd799be Mon Sep 17 00:00:00 2001
>> From: Brett Gilio <brettg@posteo.net>
>> Date: Fri, 22 Nov 2019 12:53:32 -0600
>> Subject: [PATCH 1/2] gnu: Add tdlib.
>>
>> * gnu/packages/messaging.scm (tdlib): New variable.
>
> [...]
>
>> +      (build-system cmake-build-system)
>> +      (arguments
>> +       `(#:tests? #f))
>
> Apparently there are tests.  Could you look into enabling them?
>
> If some of them fail, we should investigate.
>
> Last thing: please address ‘guix lint’ warnings, I think there’s a
> couple of them.  :-)
>
> Thank you,
> Ludo’.

Hey Ludo,

I have fixed the linting issue. The reason why I have disabled tests is
because the test cases require internet connection.

[ 1][t 0][1574796396.378631592][mtproto.cpp:64][!GetHostByNameActor]	7 "web.telegram.org" [Error : 0 : Failed to resolve host: Name or service not known]
[ 1][t 0][1574796396.378687382][mtproto.cpp:64][!GetHostByNameActor]	8 "web.telegram.org" [Error : 0 : Failed to resolve host: Name or service not known]
[ 1][t 0][1574796396.378721476][mtproto.cpp:64][!GetHostByNameActor]	9 "web.telegram.org." [Error : 0 : Failed to resolve host: Name or service not known]
[ 1][t 0][1574796396.378756762][mtproto.cpp:64][!GetHostByNameActor]	10 "web.telegram.org." [Error : 0 : Failed to resolve host: Name or service not known]
[ 1][t 0][1574796396.378843307][mtproto.cpp:64][!GetHostByNameActor]	11 "москва.рф" [Error : 0 : Failed to resolve host: Name or service not known]
[ 1][t 0][1574796396.379258633][mtproto.cpp:64][!GetHostByNameActor]	37 "web.telegram.org" [Error : 0 : Failed to resolve host: Name or service not known]
[ 1][t 0][1574796396.379312277][mtproto.cpp:64][!GetHostByNameActor]	38 "web.telegram.org" [Error : 0 : Failed to resolve host: Name or service not known]
[ 1][t 0][1574796396.379376888][mtproto.cpp:64][!GetHostByNameActor]	39 "web.telegram.org." [Error : 0 : Failed to resolve host: Name or service not known]
[ 1][t 0][1574796396.379430532][mtproto.cpp:64][!GetHostByNameActor]	40 "web.telegram.org." [Error : 0 : Failed to resolve host: Name or service not known]
[ 1][t 0][1574796396.379479170][mtproto.cpp:64][!GetHostByNameActor]	41 "москва.рф" [Error : 0 : Failed to resolve host: Name or service not known]
[ 1][t 0][1574796396.381045103][mtproto.cpp:64][!GetHostByNameActor]	67 "web.telegram.org" [Error : 0 : Failed to resolve host: Name or service not known]
[ 1][t 0][1574796396.381077766][mtproto.cpp:64][!GetHostByNameActor]	68 "web.telegram.org" [Error : 0 : Failed to resolve host: Name or service not known]
[ 1][t 0][1574796396.381108761][mtproto.cpp:64][!GetHostByNameActor]	69 "web.telegram.org." [Error : 0 : Failed to resolve host: Name or service not known]
[ 1][t 0][1574796396.381140471][mtproto.cpp:64][!GetHostByNameActor]	70 "web.telegram.org." [Error : 0 : Failed to resolve host: Name or service not known]
[ 1][t 0][1574796396.381173134][mtproto.cpp:64][!GetHostByNameActor]	71 "москва.рф" [Error : 0 : Failed to resolve host: Name or service not known]

I might be able to strip out those particular tests, but it would seem
to me that needing internet connection on a test case is likely not the
"Guix way" of doing this.

Wdyt?

Brett Gilio
Ludovic Courtès Nov. 26, 2019, 8:58 p.m. UTC | #3
Hello,

Brett Gilio <brettg@posteo.net> skribis:

> I have fixed the linting issue. The reason why I have disabled tests is
> because the test cases require internet connection.
>
> [ 1][t 0][1574796396.378631592][mtproto.cpp:64][!GetHostByNameActor]	7 "web.telegram.org" [Error : 0 : Failed to resolve host: Name or service not known]
> [ 1][t 0][1574796396.378687382][mtproto.cpp:64][!GetHostByNameActor]	8 "web.telegram.org" [Error : 0 : Failed to resolve host: Name or service not known]
> [ 1][t 0][1574796396.378721476][mtproto.cpp:64][!GetHostByNameActor]	9 "web.telegram.org." [Error : 0 : Failed to resolve host: Name or service not known]
> [ 1][t 0][1574796396.378756762][mtproto.cpp:64][!GetHostByNameActor]	10 "web.telegram.org." [Error : 0 : Failed to resolve host: Name or service not known]
> [ 1][t 0][1574796396.378843307][mtproto.cpp:64][!GetHostByNameActor]	11 "москва.рф" [Error : 0 : Failed to resolve host: Name or service not known]
> [ 1][t 0][1574796396.379258633][mtproto.cpp:64][!GetHostByNameActor]	37 "web.telegram.org" [Error : 0 : Failed to resolve host: Name or service not known]
> [ 1][t 0][1574796396.379312277][mtproto.cpp:64][!GetHostByNameActor]	38 "web.telegram.org" [Error : 0 : Failed to resolve host: Name or service not known]
> [ 1][t 0][1574796396.379376888][mtproto.cpp:64][!GetHostByNameActor]	39 "web.telegram.org." [Error : 0 : Failed to resolve host: Name or service not known]
> [ 1][t 0][1574796396.379430532][mtproto.cpp:64][!GetHostByNameActor]	40 "web.telegram.org." [Error : 0 : Failed to resolve host: Name or service not known]
> [ 1][t 0][1574796396.379479170][mtproto.cpp:64][!GetHostByNameActor]	41 "москва.рф" [Error : 0 : Failed to resolve host: Name or service not known]
> [ 1][t 0][1574796396.381045103][mtproto.cpp:64][!GetHostByNameActor]	67 "web.telegram.org" [Error : 0 : Failed to resolve host: Name or service not known]
> [ 1][t 0][1574796396.381077766][mtproto.cpp:64][!GetHostByNameActor]	68 "web.telegram.org" [Error : 0 : Failed to resolve host: Name or service not known]
> [ 1][t 0][1574796396.381108761][mtproto.cpp:64][!GetHostByNameActor]	69 "web.telegram.org." [Error : 0 : Failed to resolve host: Name or service not known]
> [ 1][t 0][1574796396.381140471][mtproto.cpp:64][!GetHostByNameActor]	70 "web.telegram.org." [Error : 0 : Failed to resolve host: Name or service not known]
> [ 1][t 0][1574796396.381173134][mtproto.cpp:64][!GetHostByNameActor]	71 "москва.рф" [Error : 0 : Failed to resolve host: Name or service not known]
>
> I might be able to strip out those particular tests, but it would seem
> to me that needing internet connection on a test case is likely not the
> "Guix way" of doing this.

Right, there’s no network access in the build environment.

So those tests that rely on being able to talk to telegram.org &
co. must be skipped.  If possible, it’s best to skip only those and
still run tests that don’t depend on network access.

If we have to #:tests? #f altogether, then please add a comment
explaining why we’re doing this, for our future selves.  :-)

Thanks in advance!

Ludo’.
diff mbox series

Patch

From c47ed88ed3945fd7dbdee2b7e507ec512dd799be Mon Sep 17 00:00:00 2001
From: Brett Gilio <brettg@posteo.net>
Date: Fri, 22 Nov 2019 12:53:32 -0600
Subject: [PATCH 1/2] gnu: Add tdlib.

* gnu/packages/messaging.scm (tdlib): New variable.
---
 gnu/packages/messaging.scm | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 694dfbb51d..e0b8486837 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.de>
 ;;;
 ;;; 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,38 @@  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? #f))
+      (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
+  
-- 
2.24.0