summary refs log tree commit diff
diff options
context:
space:
mode:
authorRaghav Gururajan <rg@raghavgururajan.name>2021-02-01 16:49:04 -0500
committerLeo Prikler <leo.prikler@student.tugraz.at>2021-02-03 18:55:02 +0100
commit86f461d63abc7b96be52c96eb67fc4c7d13074af (patch)
treec01df77f489486d3bffee26d076938d551d4febf
parentd1e7a01cea4eae3f3a62a1e109e4ed4a55dcd559 (diff)
downloadguix-86f461d63abc7b96be52c96eb67fc4c7d13074af.tar.gz
gnu: Add telegram-cli.
* gnu/packages/telegram.scm (telegram-cli): New variable.

Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
-rw-r--r--gnu/packages/telegram.scm97
1 files changed, 97 insertions, 0 deletions
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index 73eeb80535..9b27b86e50 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:)
@@ -680,3 +685,95 @@ 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
+  (let ((commit "6547c0b21b977b327b3c5e8142963f4bc246187a")
+        (revision "324"))
+    (package
+      (name "telegram-cli")
+      (version
+       (git-version "1.3.1" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri
+          (git-reference
+           (url "https://github.com/vysheng/tg.git")
+           (commit commit)))
+         (file-name
+          (git-file-name name version))
+         (sha256
+          (base32 "0c1w7jgska71jjbvg1y09v52549pwa4zkdjly18yxywn7gayd2p6"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:tests? #f                    ; No target
+         #:imported-modules
+         ((guix build copy-build-system)
+          ,@%gnu-build-system-modules)
+         #:modules
+         (((guix build copy-build-system)
+           #:prefix copy:)
+          (guix build gnu-build-system)
+          (guix build utils))
+         #: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 args
+               (apply (assoc-ref copy:%standard-phases 'install)
+                      #:install-plan
+                      '(("bin" "bin")
+                        ("." "etc/telegram-cli"
+                         #:include-regexp ("\\.pub$")
+                         #:exclude ("tg-server.pub")))
+                      args))))))
+      (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+))))