unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Raghav Gururajan <rg@raghavgururajan.name>
To: 45954@debbugs.gnu.org
Cc: Leo Prikler <leo.prikler@student.tugraz.at>
Subject: [bug#45954] Telegram-CLI (v7)
Date: Mon, 1 Feb 2021 17:08:18 -0500	[thread overview]
Message-ID: <a00b3a55-c5da-2ff3-14d9-ccc2b58d15f2@raghavgururajan.name> (raw)
In-Reply-To: <b7e16c9e-1f9b-0e02-7185-eb9952511252@raghavgururajan.name>


[-- Attachment #1.1.1: Type: text/plain, Size: 0 bytes --]



[-- Attachment #1.1.2: 0001-gnu-Add-tl-parser.patch --]
[-- Type: text/x-patch, Size: 2680 bytes --]

From 597f4fe496a3bd9653ea1d2c6afb8bcf098da64f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Mon, 1 Feb 2021 16:38:25 -0500
Subject: [PATCH 1/3] gnu: Add tl-parser.

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

diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index 66b94baf28..ab8b9362f2 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -555,3 +555,52 @@ Telegram instant messager.")
       license:lgpl2.1+
       ;; Others
       license:gpl3+))))
+
+(define-public tl-parser
+  (let ((commit "1933e76f8f4fb74311be723b432e4c56e3a5ec06")
+        (revision "21"))
+    (package
+      (name "tl-parser")
+      (version
+       (git-version "0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri
+          (git-reference
+           (url "https://github.com/vysheng/tl-parser.git")
+           (commit commit)))
+         (file-name
+          (git-file-name name version))
+         (sha256
+          (base32 "13cwi247kajzpkbl86hnwmn1sn2h6rqndz6khajbqj0mlw9mv4hq"))))
+      (build-system cmake-build-system)
+      (arguments
+       `(#:tests? #f                    ; No target
+         #:phases
+         (modify-phases %standard-phases
+           (replace 'install
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (bin (string-append out "/bin"))
+                      (include (string-append out "/include"))
+                      (source (string-append (getenv "TEMP") "/source"))
+                      (build (string-append (getenv "TEMP") "/build")))
+                 ;; Install executables.
+                 (with-directory-excursion build
+                   (for-each
+                    (lambda (file)
+                      (install-file file bin))
+                    (list
+                     "tl-parser")))
+                 ;; Install headers.
+                 (for-each
+                  (lambda (file)
+                    (install-file file (string-append include "/tl-parser")))
+                  (find-files source "\\.h$")))
+               #t)))))
+      (synopsis "Parse tl scheme to tlo")
+      (description "TL-Parser is a tl scheme to tlo file parser.  It was formely
+a part of telegram-cli, but now being maintained separately.")
+      (home-page "https://github.com/vysheng/tl-parser")
+      (license license:gpl2+))))
-- 
2.30.0


[-- Attachment #1.1.3: 0002-gnu-Add-tgl.patch --]
[-- Type: text/x-patch, Size: 5224 bytes --]

From 8bd200771ed33ca12cbb815948f6d7a5576d4e57 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Mon, 1 Feb 2021 16:42:24 -0500
Subject: [PATCH 2/3] gnu: Add tgl.

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

diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index ab8b9362f2..2ff30c209e 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -34,10 +34,12 @@
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gnupg)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
   #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages language)
+  #:use-module (gnu packages libevent)
   #:use-module (gnu packages libreoffice)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages lxqt)
@@ -604,3 +606,101 @@ Telegram instant messager.")
 a part of telegram-cli, but now being maintained separately.")
       (home-page "https://github.com/vysheng/tl-parser")
       (license license:gpl2+))))
+
+(define-public tgl
+  (let ((commit "ffb04caca71de0cddf28cd33a4575922900a59ed")
+        (revision "181"))
+    (package
+      (name "tgl")
+      (version
+       (git-version "2.0.1" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri
+          (git-reference
+           (url "https://github.com/vysheng/tgl.git")
+           (commit commit)))
+         (file-name
+          (git-file-name name version))
+         (sha256
+          (base32 "0cf5s7ygslb5klg1qv9qdc3hivhspmvh3zkacyyhd2yyikb5p0f9"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:tests? #f                    ; No target
+         #:configure-flags
+         (list
+          ;; Use gcrypt instead of openssl.
+          "--disable-openssl"
+          ;; Enable extended queries system.
+          "--enable-extf"
+          ;; Include libevent-based net and timers.
+          "--enable-libevent")
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'trigger-bootstrap
+             (lambda _
+               (delete-file "configure")
+               #t))
+           (add-after 'trigger-bootstrap 'patch-tl-parser
+             (lambda _
+               (delete-file "Makefile.tl-parser")
+               (substitute* "Makefile.in"
+                 (("include \\$\\{srcdir\\}/Makefile\\.tl-parser")
+                  "")
+                 (("\\$\\{EXE\\}/tl-parser")
+                  "tl-parser"))
+               #t))
+           (replace 'install
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (bin-to (string-append out "/bin"))
+                      (include-to (string-append out "/include"))
+                      (lib-to (string-append out "/lib"))
+                      (source (string-append (getenv "TEMP") "/source"))
+                      (bin-from (string-append source "/bin"))
+                      (lib-from (string-append source "/libs")))
+                 ;; Install executables.
+                 (with-directory-excursion bin-from
+                   (for-each
+                    (lambda (file)
+                      (install-file file bin-to))
+                    (list
+                     "generate")))
+                 ;; Install headers.
+                 (with-directory-excursion source
+                   (for-each
+                    (lambda (file)
+                      (install-file file (string-append include-to "/tgl/crypto"))
+                      (delete-file file))
+                    (find-files "crypto" "\\.h$"))
+                   (for-each
+                    (lambda (file)
+                      (install-file file (string-append include-to "/tgl/auto"))
+                      (delete-file file))
+                    (find-files "auto" "\\.h$"))
+                   (for-each
+                    (lambda (file)
+                      (install-file file (string-append include-to "/tgl"))
+                      (delete-file file))
+                    (find-files "." "\\.h$")))
+                 ;; Install libraries.
+                 (for-each
+                  (lambda (file)
+                    (install-file file (string-append lib-to "/tgl")))
+                  (find-files lib-from "\\.(a|so)$")))
+               #t)))))
+      (native-inputs
+       `(("autoconf" ,autoconf)
+         ("automake" ,automake)
+         ("libtool" ,libtool)
+         ("pkg-config" ,pkg-config)))
+      (inputs
+       `(("libevent" ,libevent)
+         ("libgcrypt" ,libgcrypt)
+         ("tl-parser" ,tl-parser)
+         ("zlib" ,zlib)))
+      (synopsis "Telegram Library")
+      (description "TGL is the telegram library for telegram-cli.")
+      (home-page "https://github.com/vysheng/tgl")
+      (license license:lgpl2.1+))))
-- 
2.30.0


[-- Attachment #1.1.4: 0003-gnu-Add-telegram-cli.patch --]
[-- Type: text/x-patch, Size: 6418 bytes --]

From f7bb371f28dfac22dc52e2091c7fc5adb88dd3a4 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Mon, 1 Feb 2021 16:49:04 -0500
Subject: [PATCH 3/3] gnu: Add telegram-cli.

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

diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index 2ff30c209e..1e83e33dfa 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:)
@@ -704,3 +709,118 @@ 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
+         #: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


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

  parent reply	other threads:[~2021-02-01 22:11 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-18  9:16 [bug#45954] Telegram-CLI Raghav Gururajan
2021-01-19 15:08 ` [bug#45954] Telegram-CLI (v2) Raghav Gururajan
2021-01-20 10:44 ` [bug#45954] Telegram-CLI (v3) Raghav Gururajan
2021-01-22  4:44 ` [bug#45954] Telegram-CLI (v4) Raghav Gururajan
2021-01-28  1:00 ` [bug#45954] Telegram-CLI (v5) Raghav Gururajan
2021-01-31 19:46 ` [bug#45954] Telegram-CLI (v6) Raghav Gururajan
2021-02-01  8:30   ` Leo Prikler
2021-02-01 22:18     ` Raghav Gururajan
2021-02-01 22:08 ` Raghav Gururajan [this message]
2021-02-01 22:39   ` [bug#45954] Telegram-CLI (v7) Leo Prikler
2021-02-02  2:33     ` Raghav Gururajan
2021-02-02  9:50       ` [bug#45954] Telegram-CLI (v7/v8) Leo Prikler
2021-02-03  2:41         ` Raghav Gururajan
2021-02-02  2:25 ` [bug#45954] Telegram-CLI (v8) Raghav Gururajan
2021-02-03  1:56 ` [bug#45954] Telegram-CLI (v9) Raghav Gururajan
2021-02-03  8:16   ` Leo Prikler
2021-02-03 17:52     ` Raghav Gururajan
2021-02-03 17:50 ` [bug#45954] Telegram-CLI (v10) Raghav Gururajan
2021-02-03 18:18   ` bug#45954: " Leo Prikler

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a00b3a55-c5da-2ff3-14d9-ccc2b58d15f2@raghavgururajan.name \
    --to=rg@raghavgururajan.name \
    --cc=45954@debbugs.gnu.org \
    --cc=leo.prikler@student.tugraz.at \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).