diff mbox series

[bug#45954] Telegram-CLI (v5)

Message ID 30b8abee-81cf-67de-6753-f3b127c6ba7a@raghavgururajan.name
State Accepted
Headers show
Series [bug#45954] Telegram-CLI (v5) | expand

Checks

Context Check Description
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

Raghav Gururajan Jan. 28, 2021, 1 a.m. UTC

diff mbox series

Patch

From dc5ea54ebb2f16923717eae9427fe7ff1bc7f433 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 27 Jan 2021 19:56:23 -0500
Subject: [PATCH 18/18] gnu: Add telegram-cli.

* gnu/packages/telegram.scm (telegram-cli): New variable.
---
 gnu/packages/telegram.scm | 117 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 117 insertions(+)

diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index 5b391d9dfd..d4e8252126 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -43,14 +43,19 @@ 
   #:use-module (gnu packages libreoffice)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages lxqt)
+  #:use-module (gnu packages lua)
+  #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages protobuf)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages qt)
+  #:use-module (gnu packages readline)
+  #:use-module (gnu packages textutils)
   #:use-module (gnu packages telephony)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages video)
+  #:use-module (gnu packages web)
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages xorg)
   #:use-module ((guix licenses) #:prefix license:)
@@ -701,3 +706,115 @@  a part of telegram-cli, but now being maintained separately.")
     (description "TGL is the telegram library for telegram-cli.")
     (home-page "https://github.com/vysheng/tgl")
     (license license:lgpl2.1+)))
+
+(define-public telegram-cli
+  (package
+    (name "telegram-cli")
+    (version "1.3.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/vysheng/tg.git")
+         (commit "6547c0b21b977b327b3c5e8142963f4bc246187a")))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "0c1w7jgska71jjbvg1y09v52549pwa4zkdjly18yxywn7gayd2p6"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:configure-flags
+       (list
+        ;; Use gcrypt instead of openssl.
+        "--disable-openssl")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'trigger-bootstrap
+           (lambda _
+             (delete-file "configure")
+             #t))
+         (add-after 'trigger-bootstrap 'patch-tgl-and-tlparser
+           (lambda* (#:key inputs #:allow-other-keys)
+             (for-each delete-file
+                       (list
+                        "Makefile.tgl"
+                        "Makefile.tl-parser"))
+             (substitute* "Makefile.in"
+               (("include \\$\\{srcdir\\}/Makefile\\.tl-parser")
+                "")
+               (("include \\$\\{srcdir\\}/Makefile\\.tgl")
+                "")
+               (("-I\\$\\{srcdir\\}/tgl")
+                (string-append "-I" (assoc-ref inputs "tgl")
+                               "/include/tgl"))
+               (("AUTO=auto")
+                (string-append "AUTO=" (assoc-ref inputs "tgl")
+                               "/include/tgl/auto"))
+               (("LIB=libs")
+                (string-append "LIB=" (assoc-ref inputs "tgl")
+                               "/lib/tgl")))
+             #t))
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (source (string-append (getenv "TEMP") "/source")))
+               ;; Install client.
+               (install-file
+                (string-append source "/bin/telegram-cli")
+                (string-append out "/bin"))
+               ;; Install daemon.
+               (install-file
+                (string-append source "/start-telegram-daemon")
+                (string-append out "/bin"))
+               ;; Install daemon script.
+               (install-file
+                (string-append source "/telegram-daemon")
+                (string-append out "/etc/init.d"))
+               ;; Install server public-key.
+               (install-file
+                (string-append source "/server.pub")
+                (string-append out "/etc/telegram-cli")))
+             #t))
+         (add-after 'install 'patch-daemon-files
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out")))
+               (with-directory-excursion out
+                 (substitute* "etc/init.d/telegram-daemon"
+                   (("KOT\\'s meta engine")
+                    "Telegram Messaging System")
+                   (("/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin")
+                    "$PATH")
+                   (("\\$ROOT/usr/share/telegram-daemon/bin")
+                    (string-append out "/bin"))
+                   (("/etc/init\\.d")
+                    (string-append out "/etc/init.d")))
+                 (substitute* "bin/start-telegram-daemon"
+                   (("msg-search-engine")
+                    "telegram-cli")
+                   (("\\$root/usr/share/telegram-daemon/bin")
+                    (string-append out "/bin")))))
+             #t)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("jansson" ,jansson)
+       ("libconfig" ,libconfig)
+       ("libevent" ,libevent)
+       ("libgcrypt" ,libgcrypt)
+       ("lua" ,lua)
+       ("openssl" ,openssl)
+       ("perl" ,perl)
+       ("python" ,python)
+       ("readline" ,readline)
+       ("tgl" ,tgl)
+       ("tl-parser" ,tl-parser)
+       ("zlib" ,zlib)))
+    (synopsis "Telegram Messenger CLI")
+    (description "TG is the command-line interface for Telegram Messenger.")
+    (home-page "https://github.com/vysheng/tg")
+    (license license:gpl2+)))
-- 
2.30.0