From c05ff4de2767a38b0a038f34194dfea83654526b 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-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 b63af0d409..3235ea3dc6 100644 --- a/gnu/packages/telegram.scm +++ b/gnu/packages/telegram.scm @@ -42,13 +42,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:) @@ -679,3 +684,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/tgl") + (license license:gpl2+))) -- 2.30.0