From 46d83425664d862f20fd6a4e671cf68a0b2eb5cf Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Mon, 18 Jan 2021 04:04:25 -0500 Subject: [PATCH 18/18] gnu: Add telegram-client. * gnu/packages/telegram.scm (telegram-cli): New variable. --- gnu/packages/telegram.scm | 83 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm index 4c7e34a1ff..1c75168f21 100644 --- a/gnu/packages/telegram.scm +++ b/gnu/packages/telegram.scm @@ -41,13 +41,18 @@ #: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 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:) @@ -443,3 +448,81 @@ 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 'patch-tgl-and-tlparser + (lambda _ + (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 %build-inputs "tgl") + "/include/tgl")) + (("AUTO=auto") + (string-append "AUTO=" (assoc-ref %build-inputs "tgl") + "/include/tgl/auto")) + (("LIB=libs") + (string-append "LIB=" (assoc-ref %build-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 server public-key. + (install-file + (string-append source "/server.pub") + (string-append out "/etc/telegram-cli"))) + #t))))) + (native-inputs + `(("perl" ,perl) + ("pkg-config" ,pkg-config))) + (inputs + `(("jansson" ,jansson) + ("libconfig" ,libconfig) + ("libevent" ,libevent) + ("libgcrypt" ,libgcrypt) + ("lua" ,lua) + ("openssl" ,openssl) + ("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/tgl") + (license license:gpl2+))) -- 2.30.0