Subject: [bug#53387] [PATCH 0/4] Update tdlib and telega packages

From: Andrew Tropin <[email-masked]>
Date: Thu, 20 Jan 2022 14:45:08 +0300

tdlib and telega are inteded to be used from specific commits not tags, I keep
revision and commit parameters for those packages to make it easier to update
them to untagged commits in the future.

https://github.com/tdlib/td/issues/1790

Also, updated the style for arguments.

Andrew Tropin (4):
  gnu: tdlib: Update to 1.8.0.
  gnu: telega: Update to 0.8.01.
  gnu: tdlib: Use new package style.
  gnu: telega: Use new package style.

 gnu/packages/emacs-xyz.scm | 88 +++++++++++++++++++-------------------
 gnu/packages/messaging.scm | 38 ++++++++--------
 2 files changed, 65 insertions(+), 61 deletions(-)

From c64a936ba458676cee41a11a42202fda13dda8cb Mon Sep 17 00:00:00 2001
From: Andrew Tropin <[email-masked]>
Date: Thu, 20 Jan 2022 11:56:11 +0300
Subject: [PATCH 1/4] gnu: tdlib: Update to 1.8.0.

* gnu/packages/messaging.scm (tdlib): Update to 1.8.0.
---
 gnu/packages/messaging.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 2fe0d35a10..843dba2c61 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -2593,10 +2593,11 @@ (define-public telegram-purple
     (license license:gpl2+)))
 
 (define-public tdlib
-  (let ((commit "34ba9b21f365b8d3bdc36808c2d665ca5cd128f6"))
+  (let ((commit "b3ab664a18f8611f4dfcd3054717504271eeaa7a")
+        (revision "1"))
     (package
       (name "tdlib")
-      (version "1.7.10")
+      (version (git-version "1.8.0" revision commit))
       (source
        (origin
          (method git-fetch)
@@ -2604,7 +2605,7 @@ (define-public tdlib
                (url "https://github.com/tdlib/td")
                (commit commit)))
          (sha256
-          (base32 "06fbdh1jypz0p1rf6xbpias4kx7xplq9xjd9vz177vwj9icq3wki"))
+          (base32 "19psqpyh9a2kzfdhgqkirpif4x8pzy89phvi59dq155y30a3661q"))
          (file-name (git-file-name name version))))
       (build-system cmake-build-system)
       (arguments
-- 
2.34.0

From 84d1bce32f1a18f1e733499f5dc9dd4bb8374aba Mon Sep 17 00:00:00 2001
From: Andrew Tropin <[email-masked]>
Date: Thu, 20 Jan 2022 11:56:22 +0300
Subject: [PATCH 2/4] gnu: telega: Update to 0.8.01.

* gnu/packages/emacs-xyz.scm (emacs-telega-server): Update to 0.8.01.
---
 gnu/packages/emacs-xyz.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index b317d4dc58..ed58989f56 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -26807,11 +26807,11 @@ (define-public emacs-helm-switch-to-repl
     (license license:gpl3+)))
 
 (define-public emacs-telega-server
-  (let ((commit "b4a5e206bd259f3d7f7633a725b2990704d6a1e8")
+  (let ((commit "5739794d2d0c8a4e7b77c2e37a097e19f80ac9f0")
         (revision "1"))
     (package
       (name "emacs-telega-server")
-      (version (git-version  "0.7.15" revision commit))
+      (version (git-version "0.8.01" revision commit))
       (source
        (origin
          (method git-fetch)
@@ -26819,7 +26819,7 @@ (define-public emacs-telega-server
                (url "https://github.com/zevlg/telega.el")
                (commit commit)))
          (sha256
-          (base32 "0gr4nmpk175hxmj357bpzaqywbjc6dmmvfxnyzkh884vyzbwdxlc"))
+          (base32 "1am0b2bjjkw7zd0yq39v015a08dcbk43j4d4h8y2q8hj53ryfk5a"))
          (file-name (git-file-name "emacs-telega" version))
          (patches
           (search-patches "emacs-telega-path-placeholder.patch"
-- 
2.34.0

From 4234d27ed60796b6c4927fdd378e75f6cdafa057 Mon Sep 17 00:00:00 2001
From: Andrew Tropin <[email-masked]>
Date: Thu, 20 Jan 2022 13:27:15 +0300
Subject: [PATCH 3/4] gnu: tdlib: Use new package style.

* gnu/packages/messaging.scm (tdlib): Use gexps, remove trailing #t.
---
 gnu/packages/messaging.scm | 31 ++++++++++++++++---------------
 1 file changed, 16 insertions(+), 15 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 843dba2c61..f2d518fdf5 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -2609,21 +2609,22 @@ (define-public tdlib
          (file-name (git-file-name name version))))
       (build-system cmake-build-system)
       (arguments
-       `(#:tests? #t
-         #:configure-flags
-         (list "-DCMAKE_BUILD_TYPE=Release"
-               "-DTD_ENABLE_LTO=OFF")   ; FIXME: Get LTO to work.
-         #:phases
-         (modify-phases %standard-phases
-           (add-after 'unpack 'remove-failing-tests
-             (lambda _
-               (substitute* "test/CMakeLists.txt"
-                 ;; The test cases are compiled into a distinct binary
-                 ;; which uses mtproto.cpp to attempt to connect to
-                 ;; a remote server. Removing this file from the sources
-                 ;; list disables those specific test cases.
-                 (("\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}/mtproto.cpp") ""))
-               #t)))))
+       (list
+        #:tests? #t
+        #:configure-flags
+        #~(list "-DCMAKE_BUILD_TYPE=Release"
+                "-DTD_ENABLE_LTO=OFF")   ; FIXME: Get LTO to work.
+        #:phases
+        #~(modify-phases %standard-phases
+            (add-after 'unpack 'remove-failing-tests
+              (lambda _
+                (substitute* "test/CMakeLists.txt"
+                  ;; The test cases are compiled into a distinct binary
+                  ;; which uses mtproto.cpp to attempt to connect to
+                  ;; a remote server. Removing this file from the sources
+                  ;; list disables those specific test cases.
+                  (("\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}/mtproto.cpp") ""))
+                )))))
       (native-inputs
        (list gperf openssl zlib php doxygen))
       (synopsis "Cross-platform library for building Telegram clients")
-- 
2.34.0

From 6a57549e00616dae5ae8e35e7375e60e2dfe68aa Mon Sep 17 00:00:00 2001
From: Andrew Tropin <[email-masked]>
Date: Thu, 20 Jan 2022 14:09:14 +0300
Subject: [PATCH 4/4] gnu: telega: Use new package style.

* gnu/packages/emacs-xyz.scm (emacs-telega, emacs-telega-contrib): Use gexps,
remove trailing #t.
---
 gnu/packages/emacs-xyz.scm | 82 +++++++++++++++++++-------------------
 1 file changed, 42 insertions(+), 40 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index ed58989f56..c94f8443d9 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -26863,39 +26863,40 @@ (define-public emacs-telega
     (name "emacs-telega")
     (build-system emacs-build-system)
     (arguments
-     `(#:emacs ,(if (target-64bit?)
-                    emacs-minimal
-                    ;; Require wide-int support for 32-bit platform.
-                    emacs-wide-int)
-       #:include (cons "^etc\\/" %default-include)
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'patch-sources
-           (lambda* (#:key inputs #:allow-other-keys)
-             ;; Hard-code paths to `ffplay` and `ffmpeg`.
-             (let* ((ffplay-bin (search-input-file inputs "/bin/ffplay"))
-                    (ffmpeg-bin (search-input-file inputs "/bin/ffmpeg")))
-               (substitute* '("telega-ffplay.el" "telega-vvnote.el")
-                 (("(shell-command-to-string\|concat) \"(ffmpeg\|ffprobe)"
-                   all func cmd)
-                  (string-append func " \""
-                                 (search-input-file
-                                  inputs (string-append "/bin/" cmd))))
-                 (("\\(executable-find \"ffplay\"\\)")
-                  (string-append "(and (file-executable-p \"" ffplay-bin "\")"
-                                 "\"" ffplay-bin "\")"))
-                 (("\\(executable-find \"ffmpeg\"\\)")
-                  (string-append "(and (file-executable-p \"" ffmpeg-bin "\")"
-                                 "\"" ffmpeg-bin "\")"))))))
-         (add-after 'unpack 'configure
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (substitute* "telega-customize.el"
-               (("@TELEGA_SERVER_BIN@")
-                (search-input-file inputs "/bin/telega-server")))
-             (substitute* "telega-util.el"
-               (("@TELEGA_SHARE@")
-                (string-append (elpa-directory (assoc-ref outputs "out"))
-                               "/etc"))))))))
+     (list
+      #:emacs (if (target-64bit?)
+                  emacs-minimal
+                  ;; Require wide-int support for 32-bit platform.
+                  emacs-wide-int)
+      #:include #~(cons "^etc\\/" %default-include)
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'patch-sources
+            (lambda* (#:key inputs #:allow-other-keys)
+              ;; Hard-code paths to `ffplay` and `ffmpeg`.
+              (let* ((ffplay-bin (search-input-file inputs "/bin/ffplay"))
+                     (ffmpeg-bin (search-input-file inputs "/bin/ffmpeg")))
+                (substitute* '("telega-ffplay.el" "telega-vvnote.el")
+                  (("(shell-command-to-string\|concat) \"(ffmpeg\|ffprobe)"
+                    all func cmd)
+                   (string-append func " \""
+                                  (search-input-file
+                                   inputs (string-append "/bin/" cmd))))
+                  (("\\(executable-find \"ffplay\"\\)")
+                   (string-append "(and (file-executable-p \"" ffplay-bin "\")"
+                                  "\"" ffplay-bin "\")"))
+                  (("\\(executable-find \"ffmpeg\"\\)")
+                   (string-append "(and (file-executable-p \"" ffmpeg-bin "\")"
+                                  "\"" ffmpeg-bin "\")"))))))
+          (add-after 'unpack 'configure
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              (substitute* "telega-customize.el"
+                (("@TELEGA_SERVER_BIN@")
+                 (search-input-file inputs "/bin/telega-server")))
+              (substitute* "telega-util.el"
+                (("@TELEGA_SHARE@")
+                 (string-append (elpa-directory (assoc-ref outputs "out"))
+                                "/etc"))))))))
     (inputs
      (list emacs-telega-server ffmpeg))
     (native-inputs '())
@@ -26911,13 +26912,14 @@ (define-public emacs-telega-contrib
     (inherit emacs-telega)
     (name "emacs-telega-contrib")
     (arguments
-     `(#:exclude '("telega-live-location.el")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'enter-subdirectory
-           (lambda _ (chdir "contrib") #t))
-         (add-before 'install-license-files 'leave-subdirectory
-           (lambda _ (chdir "..") #t)))))
+     (list
+      #:exclude '("telega-live-location.el")
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'enter-subdirectory
+            (lambda _ (chdir "contrib")))
+          (add-before 'install-license-files 'leave-subdirectory
+            (lambda _ (chdir ".."))))))
     (inputs '())
     (native-inputs '())
     (propagated-inputs
-- 
2.34.0

-- 
2.34.0