* [bug#49219] [PATCH]: Update emacs-telega.
@ 2021-06-25 5:48 Zhu Zihao
[not found] ` <handler.49219.B.162460012825885.ack@debbugs.gnu.org>
0 siblings, 1 reply; 12+ messages in thread
From: Zhu Zihao @ 2021-06-25 5:48 UTC (permalink / raw)
To: 49219
[-- Attachment #1.1: Type: text/plain, Size: 0 bytes --]
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 255 bytes --]
[-- Attachment #2: 0001-gnu-Add-emacs-telega-server.patch --]
[-- Type: text/x-patch, Size: 8271 bytes --]
From 32278ed29a5624efedab694c7c465a75f29c6725 Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Fri, 25 Jun 2021 13:25:05 +0800
Subject: [PATCH 1/3] gnu: Add emacs-telega-server.
* gnu/packages/emacs-xyz.scm(emacs-telega-server): New variable.
* gnu/packages/patches/emacs-telega-path-placeholder.patch: New file.
* gnu/package/patches/emacs-telega-patch-server-functions.patch: Remove stale patch.
* gnu/local.mk(dist_patch_DATA): Update corresponding entries.
---
gnu/local.mk | 2 +-
gnu/packages/emacs-xyz.scm | 54 ++++++++++++++++++-
.../emacs-telega-patch-server-functions.patch | 31 -----------
.../emacs-telega-path-placeholder.patch | 44 +++++++++++++++
4 files changed, 98 insertions(+), 33 deletions(-)
delete mode 100644 gnu/packages/patches/emacs-telega-patch-server-functions.patch
create mode 100644 gnu/packages/patches/emacs-telega-path-placeholder.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 509970f044..8f432ed326 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -989,7 +989,7 @@ dist_patch_DATA = \
%D%/packages/patches/emacs-hyperbole-toggle-messaging.patch \
%D%/packages/patches/emacs-libgit-use-system-libgit2.patch \
%D%/packages/patches/emacs-source-date-epoch.patch \
- %D%/packages/patches/emacs-telega-patch-server-functions.patch \
+ %D%/packages/patches/emacs-telega-path-placeholder.patch \
%D%/packages/patches/emacs-telega-test-env.patch \
%D%/packages/patches/emacs-wordnut-require-adaptive-wrap.patch \
%D%/packages/patches/enjarify-setup-py.patch \
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index b84c0d6622..c722ff62fe 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -81,7 +81,7 @@
;;; Copyright © 2020, 2021 Niklas Eklund <niklas.eklund@posteo.net>
;;; Copyright © 2020 Marco Grassi <marco.au.grassi98@protonmail.com>
;;; Copyright © 2020 Tomás Ortín Fernández <tomasortin@mailbox.org>
-;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com>
+;;; Copyright © 2020, 2021 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2020 Adam Kandur <rndd@tuta.io>
;;; Copyright © 2020 Tim Howes <timhowes@lavabit.com>
;;; Copyright © 2020 Noah Landis <noahlandis@posteo.net>
@@ -26011,6 +26011,58 @@ fish-completion. It can be used in both Eshell and M-x shell.")
other @code{helm-type-file} sources such as @code{helm-locate}.")
(license license:gpl3+)))
+(define-public emacs-telega-server
+ (package
+ (name "emacs-telega-server")
+ (version "0.7.024")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zevlg/telega.el")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32 "1ra04cp49zzx8vy8aswd00l46ixyc44sxh1s3nw880b4ywzxmc6j"))
+ (file-name (git-file-name "emacs-telega" version))
+ (patches
+ (search-patches "emacs-telega-path-placeholder.patch"
+ "emacs-telega-test-env.patch"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'enter-subdirectory
+ (lambda _ (chdir "server") #t))
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (substitute* "Makefile"
+ (("CC=cc") ,(string-append "CC=" (cc-for-target)))
+ (("^(INSTALL_PREFIX=).*$" _all prefix)
+ (string-append prefix out "/bin\n")))
+
+ (substitute* "run_tests.py"
+ (("^(TELEGA_SERVER = ).*$" _all prefix)
+ (string-append prefix
+ "\"" out "/bin/telega-server\"\n"))))))
+ (delete 'check)
+ (add-after 'install 'check
+ (assoc-ref %standard-phases 'check))
+ (add-before 'install-license-files 'leave-subdirectory
+ (lambda _ (chdir "..") #t)))
+ #:test-target "test"))
+ (inputs
+ `(("tdlib" ,tdlib)
+ ("libappindicator" ,libappindicator)))
+ (native-inputs
+ `(("python" ,python)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://zevlg.github.io/telega.el/")
+ (synopsis "Server process of Telega")
+ (description "Telega-server is helper program to interact with Telegram
+service, and connect it with Emacs via inter-process communication.")
+ (license license:gpl3+)))
+
(define-public emacs-telega
;; This package has versions newer than indicated on MELPA.
;; Get the current version from `telega-version` in telega.el.
diff --git a/gnu/packages/patches/emacs-telega-patch-server-functions.patch b/gnu/packages/patches/emacs-telega-patch-server-functions.patch
deleted file mode 100644
index e3d49278d0..0000000000
--- a/gnu/packages/patches/emacs-telega-patch-server-functions.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Remove interactive build for telega-server, as it fails on Guix.
-Modify the `telega-server--find-bin' function to only use the version
-of telega-server installed by Guix.
-
-Created by Brett Gilio <brettg@gnu.org>
-
---- a/telega-server.el
-+++ b/telega-server.el
-@@ -113,7 +113,6 @@ If already deferring, then just executes the BODY."
- If BUILD-FLAGS is specified, then rebuild server without any
- queries using this flags for building, could be empty string.
- Otherwise query user about building flags."
-- (interactive)
- (telega-test-env 'quiet)
- (when (or build-flags
- (y-or-n-p "Build `telega-server'? "))
-@@ -137,11 +136,8 @@ Otherwise query user about building flags."
- (defun telega-server--find-bin ()
- "Find telega-server executable.
- Raise error if not found."
-- (let ((exec-path (cons telega-directory exec-path)))
-- (or (executable-find "telega-server")
-- (progn (telega-server-build)
-- (executable-find "telega-server"))
-- (error "`telega-server' not found in exec-path"))))
-+ (or (executable-find "telega-server")
-+ (error "`telega-server' not found in exec-path")))
-
- (defun telega-server-version ()
- "Return telega-server version."
-
diff --git a/gnu/packages/patches/emacs-telega-path-placeholder.patch b/gnu/packages/patches/emacs-telega-path-placeholder.patch
new file mode 100644
index 0000000000..c20be36712
--- /dev/null
+++ b/gnu/packages/patches/emacs-telega-path-placeholder.patch
@@ -0,0 +1,44 @@
+From 865b8c553722a971c68742c2e849e41eb0e2360c Mon Sep 17 00:00:00 2001
+From: Zhu Zihao <all_but_last@163.com>
+Date: Thu, 24 Jun 2021 23:43:50 +0800
+Subject: [PATCH] Replace code that search path with placeholder for
+ configuration.
+
+---
+ telega-server.el | 6 +-----
+ telega-util.el | 2 +-
+ 2 files changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/telega-server.el b/telega-server.el
+index 999125d..0fa0817 100644
+--- a/telega-server.el
++++ b/telega-server.el
+@@ -142,11 +142,7 @@ Otherwise query user about building flags."
+ (defun telega-server--find-bin ()
+ "Find telega-server executable.
+ Raise error if not found."
+- (let ((exec-path (cons telega-directory exec-path)))
+- (or (executable-find "telega-server")
+- (progn (telega-server-build)
+- (executable-find "telega-server"))
+- (error "`telega-server' not found in exec-path"))))
++ "@TELEGA_SERVER_BIN@")
+
+ (defun telega-server-version ()
+ "Return telega-server version."
+diff --git a/telega-util.el b/telega-util.el
+index 73a46b1..f53e20a 100644
+--- a/telega-util.el
++++ b/telega-util.el
+@@ -464,7 +464,7 @@ N can't be 0."
+
+ (defun telega-etc-file (filename)
+ "Return absolute path to FILENAME from etc/ directory in telega."
+- (expand-file-name (concat "etc/" filename) telega--lib-directory))
++ (concat "@TELEGA_SHARE@" "/" filename))
+
+ (defun telega-link-props (link-type link-to &optional face)
+ "Generate props for link button openable with `telega-link--button-action'."
+--
+2.32.0
+
--
2.32.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 0002-gnu-emacs-telega-Update-to-0.7.024.patch --]
[-- Type: text/x-patch, Size: 8663 bytes --]
From 5157c45126650f1439d7fdf15b2a7c8ba19d6bdc Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Fri, 25 Jun 2021 13:26:51 +0800
Subject: [PATCH 2/3] gnu: emacs-telega: Update to 0.7.024.
* gnu/packages/emacs-xyz.scm(emacs-telega): Update to 0.7.024.
Rewrite build recipe.
---
gnu/packages/emacs-xyz.scm | 169 +++++++++++--------------------------
1 file changed, 50 insertions(+), 119 deletions(-)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index c722ff62fe..c8540bbead 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -26064,125 +26064,56 @@ service, and connect it with Emacs via inter-process communication.")
(license license:gpl3+)))
(define-public emacs-telega
- ;; This package has versions newer than indicated on MELPA.
- ;; Get the current version from `telega-version` in telega.el.
- ;; or by running M-x telega-version.
- (let ((commit "1d28dc209e2acf1a3bf2852cc620b6e412ea73f9")
- (revision "1")
- (version "0.7.1"))
- (package
- (name "emacs-telega")
- (version (git-version version revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/zevlg/telega.el")
- (commit commit)))
- (sha256
- (base32
- "0h6kj3r36x26v6p4gkzg5s6fv0brlvrf6ycsdwnz27fw5sdb99k7"))
- (patches (search-patches
- "emacs-telega-patch-server-functions.patch"
- "emacs-telega-test-env.patch"))
- (file-name (git-file-name name version))))
- (build-system gnu-build-system)
- (arguments
- `(#:modules ((guix build gnu-build-system)
- ((guix build emacs-build-system) #:prefix emacs:)
- (guix build utils)
- (guix build emacs-utils))
- #:imported-modules (,@%gnu-build-system-modules
- (guix build emacs-build-system)
- (guix build emacs-utils))
- #:test-target "test"
- ;; TODO: Currently tgVOIP is not functional, thus we have disabled it
- ;; temporarily.
- ;; #:make-flags (list "WITH_VOIP=t")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'prefix-patch
- (lambda _
- (substitute* "server/Makefile"
- (("CC=cc")
- ,(string-append "CC=" (cc-for-target)))
- (("INSTALL_PREFIX=\\$\\(HOME\\)/.telega")
- (string-append "INSTALL_PREFIX=" (assoc-ref %outputs "out")
- "/bin"))
- ;; Manually invoke `run_tests.py` after install phase.
- (("python3 run_tests.py")
- ""))
- #t))
- (add-after 'unpack 'expand-load-path
- (assoc-ref emacs:%standard-phases 'expand-load-path))
- (add-after 'unpack 'patch-sources
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Hard-code paths to `ffplay` and `ffmpeg`.
- (let ((ffplay-bin (string-append (assoc-ref inputs "ffmpeg")
- "/bin/ffplay"))
- (ffmpeg-bin (string-append (assoc-ref inputs "ffmpeg")
- "/bin/ffmpeg")))
- (substitute* "telega-ffplay.el"
- (("\\(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 "\")"))))
- ;; This would push the "contrib" sources to the load path,
- ;; but as contrib is not installed alongside telega, it does
- ;; nothing.
- (substitute* "telega.el"
- (("\\(push .* load-path\\)") ""))
- #t))
- ;; The server test suite has a hardcoded path.
- ;; Reset this behavior to use the proper path.
- (add-after 'unpack 'patch-test-suite
- (lambda _
- (substitute* "server/run_tests.py"
- (("~/.telega/telega-server")
- (string-append (assoc-ref %outputs "out")
- "/bin/telega-server")))
- #t))
- (add-after 'install 'run-server-suite
- (lambda _
- (invoke "python3" "server/run_tests.py")
- #t))
- (delete 'configure)
- (add-after 'expand-load-path 'emacs-install
- (lambda args
- (apply (assoc-ref emacs:%standard-phases 'install)
- #:include `("etc" ,@emacs:%default-include)
- args)))
- (add-after 'emacs-install 'emacs-build
- (assoc-ref emacs:%standard-phases 'build))
- (add-after 'emacs-install 'emacs-make-autoloads
- (assoc-ref emacs:%standard-phases 'make-autoloads)))))
- (inputs
- `(("ffmpeg" ,ffmpeg))) ; mp4/gif support.
- (propagated-inputs
- `(("emacs-visual-fill-column" ,emacs-visual-fill-column)
- ("emacs-company" ,emacs-company)
- ("emacs-rainbow-identifiers"
- ,emacs-rainbow-identifiers)
- ("libwebp" ,libwebp))) ; sticker support.
- (native-inputs
- `(("tdlib" ,tdlib)
- ;; Use Emacs with wide ints on 32-bit architectures.
- ("emacs" ,(match (%current-system)
- ((or "i686-linux" "armhf-linux")
- emacs-wide-int)
- (_
- emacs)))
- ("python" ,python)))
- (synopsis "GNU Emacs client for the Telegram messenger")
- (description
- "Telega is a full-featured, unofficial GNU Emacs-based client for the
-Telegram messaging platform.")
- (home-page "https://zevlg.github.io/telega.el/")
- (license license:gpl3+))))
+ (package
+ (inherit emacs-telega-server)
+ (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)
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (substitute* "telega-server.el"
+ (("@TELEGA_SERVER_BIN@")
+ (string-append (assoc-ref inputs "emacs-telega-server")
+ "/bin/telega-server")))
+ (substitute* "telega-util.el"
+ (("@TELEGA_SHARE@")
+ (string-append (assoc-ref outputs "out")
+ "/share/emacs-telega")))))
+ (add-after 'install 'install-share-files
+ (lambda* (#:key outputs #:allow-other-keys)
+ (define install-plan
+ '("langs" "sounds" "emojis.alist"
+ "verified.svg" "telega-logo.svg"))
+
+ (define prefix (string-append (assoc-ref outputs "out")
+ "/share/emacs-telega"))
+ (with-directory-excursion "etc"
+ (for-each (lambda (file)
+ (if (file-is-directory? file)
+ (let ((dest (string-append prefix "/" file)))
+ (copy-recursively file dest))
+ (install-file file prefix)))
+ install-plan))
+ #t)))))
+ (inputs `(("emacs-telega-server" ,emacs-telega-server)))
+ (native-inputs '())
+ (propagated-inputs
+ `(("emacs-visual-fill-column" ,emacs-visual-fill-column)
+ ("emacs-company" ,emacs-company)
+ ("emacs-rainbow-identifiers" ,emacs-rainbow-identifiers)
+ ;; TODO: embbed references of following package into source file.
+ ("ffmpeg" ,ffmpeg) ; GIF, video support.
+ ("libwebp" ,libwebp) ; sticker support.
+ ))
+ (synopsis "GNU Emacs client for the Telegram messenger")
+ (description "Telega is a full-featured, unofficial GNU Emacs-based client
+for the Telegram messaging platform.")))
(define-public emacs-telega-contrib
(package/inherit emacs-telega
--
2.32.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #4: 0003-gnu-emacs-telega-contrib-Update-to-0.7.024.patch --]
[-- Type: text/x-patch, Size: 2114 bytes --]
From 84963cfc29a53cb6d31850bd3fc85de3d5a4c893 Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Fri, 25 Jun 2021 13:29:30 +0800
Subject: [PATCH 3/3] gnu: emacs-telega-contrib: Update to 0.7.024.
* gnu/packages/emacs-xyz.scm(emacs-telega-contrib): Update to 0.7.024.
[arguments]<phases>: Back to root directory of build before phase
'install-license-files' to properly install licenses.
[propagated-inputs]: Add emacs-dashboard, emacs-transient.
---
gnu/packages/emacs-xyz.scm | 23 ++++++++++++++++-------
1 file changed, 16 insertions(+), 7 deletions(-)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index c8540bbead..872f2253a0 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -26116,19 +26116,28 @@ service, and connect it with Emacs via inter-process communication.")
for the Telegram messaging platform.")))
(define-public emacs-telega-contrib
- (package/inherit emacs-telega
+ (package
+ (inherit emacs-telega)
(name "emacs-telega-contrib")
- (build-system emacs-build-system)
(arguments
`(#:exclude '("telega-live-location.el")
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'chdir
- (lambda _ (chdir "contrib") #t)))))
+ (add-after 'unpack 'enter-subdirectory
+ (lambda _ (chdir "contrib") #t))
+ (add-before 'install-license-files 'leave-subdirectory
+ (lambda _ (chdir "..") #t)))))
+ (inputs '())
+ (native-inputs '())
(propagated-inputs
- `(("emacs-telega" ,emacs-telega)
- ("emacs-alert" ,emacs-alert)
- ("emacs-all-the-icons" ,emacs-all-the-icons)))))
+ `(("emacs-alert" ,emacs-alert)
+ ("emacs-all-the-icons" ,emacs-all-the-icons)
+ ("emacs-dashboard" ,emacs-dashboard)
+ ("emacs-telega" ,emacs-telega)
+ ("emacs-transient" ,emacs-transient)))
+ (synopsis "Contributed packages to Telega")
+ (description "Telega-contrib is a collection of third-party
+contributed packages to Telega.")))
(define-public emacs-doom-modeline
(package
--
2.32.0
[-- Attachment #5: Type: text/plain, Size: 1015 bytes --]
Some questions that Guix maintainer may have interest in:
1. Why separate telega-server to a dedicated package?
emacs-build-system is quite cumbersome due to the different install step
than gnu-build-system, if we try to mix the build code of server into it
via 'modify-phases', it'll be very hard to read and understand the logic
of package code.
Move telega-server to a dedicated package can also help us separate
package, if there's a program uses telega-server, it doesn't have to add
emacs-telega as input, they just add emacs-telega-server.
2. Why propagated ffmpeg.
I check the source and found that telega use binaries from ffmpeg many
different place in telega-ffplay.el and telega-vvnote.el. So it's better
to propagated it because it's not easy to fix them all.
3. Why install resources to '<prefix>/share/emacs-telega'?
I think it is closer to the flavor of FHS, and it's not hard to achieve it.
--
Retrieve my PGP public key:
gpg --recv-keys D47A9C8B2AE3905B563D9135BE42B352A9F6821F
Zihao
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [bug#49219] Acknowledgement ([PATCH]: Update emacs-telega.)
[not found] ` <handler.49219.B.162460012825885.ack@debbugs.gnu.org>
@ 2021-06-25 6:02 ` Zhu Zihao
2021-06-25 6:23 ` Leo Prikler
0 siblings, 1 reply; 12+ messages in thread
From: Zhu Zihao @ 2021-06-25 6:02 UTC (permalink / raw)
To: 49219
[-- Attachment #1.1: Type: text/plain, Size: 18 bytes --]
Update patches:
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 255 bytes --]
[-- Attachment #2: 0001-gnu-Add-emacs-telega-server.patch --]
[-- Type: text/x-patch, Size: 8562 bytes --]
From ffcd346a5d2a7b6fccfc56d16156b833bbd6c8bb Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Fri, 25 Jun 2021 13:25:05 +0800
Subject: [PATCH 1/3] gnu: Add emacs-telega-server.
* gnu/packages/emacs-xyz.scm(emacs-telega-server): New variable.
* gnu/packages/patches/emacs-telega-path-placeholder.patch: New file.
* gnu/package/patches/emacs-telega-patch-server-functions.patch: Remove stale patch.
* gnu/local.mk(dist_patch_DATA): Update corresponding entries.
---
gnu/local.mk | 2 +-
gnu/packages/emacs-xyz.scm | 55 ++++++++++++++++++-
.../emacs-telega-patch-server-functions.patch | 31 -----------
.../emacs-telega-path-placeholder.patch | 44 +++++++++++++++
4 files changed, 99 insertions(+), 33 deletions(-)
delete mode 100644 gnu/packages/patches/emacs-telega-patch-server-functions.patch
create mode 100644 gnu/packages/patches/emacs-telega-path-placeholder.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 509970f044..8f432ed326 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -989,7 +989,7 @@ dist_patch_DATA = \
%D%/packages/patches/emacs-hyperbole-toggle-messaging.patch \
%D%/packages/patches/emacs-libgit-use-system-libgit2.patch \
%D%/packages/patches/emacs-source-date-epoch.patch \
- %D%/packages/patches/emacs-telega-patch-server-functions.patch \
+ %D%/packages/patches/emacs-telega-path-placeholder.patch \
%D%/packages/patches/emacs-telega-test-env.patch \
%D%/packages/patches/emacs-wordnut-require-adaptive-wrap.patch \
%D%/packages/patches/enjarify-setup-py.patch \
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index b84c0d6622..ab5d0ed061 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -81,7 +81,7 @@
;;; Copyright © 2020, 2021 Niklas Eklund <niklas.eklund@posteo.net>
;;; Copyright © 2020 Marco Grassi <marco.au.grassi98@protonmail.com>
;;; Copyright © 2020 Tomás Ortín Fernández <tomasortin@mailbox.org>
-;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com>
+;;; Copyright © 2020, 2021 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2020 Adam Kandur <rndd@tuta.io>
;;; Copyright © 2020 Tim Howes <timhowes@lavabit.com>
;;; Copyright © 2020 Noah Landis <noahlandis@posteo.net>
@@ -144,6 +144,7 @@
#:use-module (gnu packages djvu)
#:use-module (gnu packages ebook)
#:use-module (gnu packages emacs)
+ #:use-module (gnu packages freedesktop)
#:use-module (gnu packages golang)
#:use-module (gnu packages guile)
#:use-module (gnu packages gtk)
@@ -26011,6 +26012,58 @@ fish-completion. It can be used in both Eshell and M-x shell.")
other @code{helm-type-file} sources such as @code{helm-locate}.")
(license license:gpl3+)))
+(define-public emacs-telega-server
+ (package
+ (name "emacs-telega-server")
+ (version "0.7.024")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zevlg/telega.el")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32 "1ra04cp49zzx8vy8aswd00l46ixyc44sxh1s3nw880b4ywzxmc6j"))
+ (file-name (git-file-name "emacs-telega" version))
+ (patches
+ (search-patches "emacs-telega-path-placeholder.patch"
+ "emacs-telega-test-env.patch"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'enter-subdirectory
+ (lambda _ (chdir "server") #t))
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (substitute* "Makefile"
+ (("CC=cc") ,(string-append "CC=" (cc-for-target)))
+ (("^(INSTALL_PREFIX=).*$" _all prefix)
+ (string-append prefix out "/bin\n")))
+
+ (substitute* "run_tests.py"
+ (("^(TELEGA_SERVER = ).*$" _all prefix)
+ (string-append prefix
+ "\"" out "/bin/telega-server\"\n"))))))
+ (delete 'check)
+ (add-after 'install 'check
+ (assoc-ref %standard-phases 'check))
+ (add-before 'install-license-files 'leave-subdirectory
+ (lambda _ (chdir "..") #t)))
+ #:test-target "test"))
+ (inputs
+ `(("tdlib" ,tdlib)
+ ("libappindicator" ,libappindicator)))
+ (native-inputs
+ `(("python" ,python)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://zevlg.github.io/telega.el/")
+ (synopsis "Server process of Telega")
+ (description "Telega-server is helper program to interact with Telegram
+service, and connect it with Emacs via inter-process communication.")
+ (license license:gpl3+)))
+
(define-public emacs-telega
;; This package has versions newer than indicated on MELPA.
;; Get the current version from `telega-version` in telega.el.
diff --git a/gnu/packages/patches/emacs-telega-patch-server-functions.patch b/gnu/packages/patches/emacs-telega-patch-server-functions.patch
deleted file mode 100644
index e3d49278d0..0000000000
--- a/gnu/packages/patches/emacs-telega-patch-server-functions.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Remove interactive build for telega-server, as it fails on Guix.
-Modify the `telega-server--find-bin' function to only use the version
-of telega-server installed by Guix.
-
-Created by Brett Gilio <brettg@gnu.org>
-
---- a/telega-server.el
-+++ b/telega-server.el
-@@ -113,7 +113,6 @@ If already deferring, then just executes the BODY."
- If BUILD-FLAGS is specified, then rebuild server without any
- queries using this flags for building, could be empty string.
- Otherwise query user about building flags."
-- (interactive)
- (telega-test-env 'quiet)
- (when (or build-flags
- (y-or-n-p "Build `telega-server'? "))
-@@ -137,11 +136,8 @@ Otherwise query user about building flags."
- (defun telega-server--find-bin ()
- "Find telega-server executable.
- Raise error if not found."
-- (let ((exec-path (cons telega-directory exec-path)))
-- (or (executable-find "telega-server")
-- (progn (telega-server-build)
-- (executable-find "telega-server"))
-- (error "`telega-server' not found in exec-path"))))
-+ (or (executable-find "telega-server")
-+ (error "`telega-server' not found in exec-path")))
-
- (defun telega-server-version ()
- "Return telega-server version."
-
diff --git a/gnu/packages/patches/emacs-telega-path-placeholder.patch b/gnu/packages/patches/emacs-telega-path-placeholder.patch
new file mode 100644
index 0000000000..c20be36712
--- /dev/null
+++ b/gnu/packages/patches/emacs-telega-path-placeholder.patch
@@ -0,0 +1,44 @@
+From 865b8c553722a971c68742c2e849e41eb0e2360c Mon Sep 17 00:00:00 2001
+From: Zhu Zihao <all_but_last@163.com>
+Date: Thu, 24 Jun 2021 23:43:50 +0800
+Subject: [PATCH] Replace code that search path with placeholder for
+ configuration.
+
+---
+ telega-server.el | 6 +-----
+ telega-util.el | 2 +-
+ 2 files changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/telega-server.el b/telega-server.el
+index 999125d..0fa0817 100644
+--- a/telega-server.el
++++ b/telega-server.el
+@@ -142,11 +142,7 @@ Otherwise query user about building flags."
+ (defun telega-server--find-bin ()
+ "Find telega-server executable.
+ Raise error if not found."
+- (let ((exec-path (cons telega-directory exec-path)))
+- (or (executable-find "telega-server")
+- (progn (telega-server-build)
+- (executable-find "telega-server"))
+- (error "`telega-server' not found in exec-path"))))
++ "@TELEGA_SERVER_BIN@")
+
+ (defun telega-server-version ()
+ "Return telega-server version."
+diff --git a/telega-util.el b/telega-util.el
+index 73a46b1..f53e20a 100644
+--- a/telega-util.el
++++ b/telega-util.el
+@@ -464,7 +464,7 @@ N can't be 0."
+
+ (defun telega-etc-file (filename)
+ "Return absolute path to FILENAME from etc/ directory in telega."
+- (expand-file-name (concat "etc/" filename) telega--lib-directory))
++ (concat "@TELEGA_SHARE@" "/" filename))
+
+ (defun telega-link-props (link-type link-to &optional face)
+ "Generate props for link button openable with `telega-link--button-action'."
+--
+2.32.0
+
--
2.32.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 0002-gnu-emacs-telega-Update-to-0.7.024.patch --]
[-- Type: text/x-patch, Size: 8663 bytes --]
From f0767bee6883a5b5f6e7b3956fb0a1f5003a5182 Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Fri, 25 Jun 2021 13:26:51 +0800
Subject: [PATCH 2/3] gnu: emacs-telega: Update to 0.7.024.
* gnu/packages/emacs-xyz.scm(emacs-telega): Update to 0.7.024.
Rewrite build recipe.
---
gnu/packages/emacs-xyz.scm | 169 +++++++++++--------------------------
1 file changed, 50 insertions(+), 119 deletions(-)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index ab5d0ed061..0535840293 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -26065,125 +26065,56 @@ service, and connect it with Emacs via inter-process communication.")
(license license:gpl3+)))
(define-public emacs-telega
- ;; This package has versions newer than indicated on MELPA.
- ;; Get the current version from `telega-version` in telega.el.
- ;; or by running M-x telega-version.
- (let ((commit "1d28dc209e2acf1a3bf2852cc620b6e412ea73f9")
- (revision "1")
- (version "0.7.1"))
- (package
- (name "emacs-telega")
- (version (git-version version revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/zevlg/telega.el")
- (commit commit)))
- (sha256
- (base32
- "0h6kj3r36x26v6p4gkzg5s6fv0brlvrf6ycsdwnz27fw5sdb99k7"))
- (patches (search-patches
- "emacs-telega-patch-server-functions.patch"
- "emacs-telega-test-env.patch"))
- (file-name (git-file-name name version))))
- (build-system gnu-build-system)
- (arguments
- `(#:modules ((guix build gnu-build-system)
- ((guix build emacs-build-system) #:prefix emacs:)
- (guix build utils)
- (guix build emacs-utils))
- #:imported-modules (,@%gnu-build-system-modules
- (guix build emacs-build-system)
- (guix build emacs-utils))
- #:test-target "test"
- ;; TODO: Currently tgVOIP is not functional, thus we have disabled it
- ;; temporarily.
- ;; #:make-flags (list "WITH_VOIP=t")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'prefix-patch
- (lambda _
- (substitute* "server/Makefile"
- (("CC=cc")
- ,(string-append "CC=" (cc-for-target)))
- (("INSTALL_PREFIX=\\$\\(HOME\\)/.telega")
- (string-append "INSTALL_PREFIX=" (assoc-ref %outputs "out")
- "/bin"))
- ;; Manually invoke `run_tests.py` after install phase.
- (("python3 run_tests.py")
- ""))
- #t))
- (add-after 'unpack 'expand-load-path
- (assoc-ref emacs:%standard-phases 'expand-load-path))
- (add-after 'unpack 'patch-sources
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Hard-code paths to `ffplay` and `ffmpeg`.
- (let ((ffplay-bin (string-append (assoc-ref inputs "ffmpeg")
- "/bin/ffplay"))
- (ffmpeg-bin (string-append (assoc-ref inputs "ffmpeg")
- "/bin/ffmpeg")))
- (substitute* "telega-ffplay.el"
- (("\\(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 "\")"))))
- ;; This would push the "contrib" sources to the load path,
- ;; but as contrib is not installed alongside telega, it does
- ;; nothing.
- (substitute* "telega.el"
- (("\\(push .* load-path\\)") ""))
- #t))
- ;; The server test suite has a hardcoded path.
- ;; Reset this behavior to use the proper path.
- (add-after 'unpack 'patch-test-suite
- (lambda _
- (substitute* "server/run_tests.py"
- (("~/.telega/telega-server")
- (string-append (assoc-ref %outputs "out")
- "/bin/telega-server")))
- #t))
- (add-after 'install 'run-server-suite
- (lambda _
- (invoke "python3" "server/run_tests.py")
- #t))
- (delete 'configure)
- (add-after 'expand-load-path 'emacs-install
- (lambda args
- (apply (assoc-ref emacs:%standard-phases 'install)
- #:include `("etc" ,@emacs:%default-include)
- args)))
- (add-after 'emacs-install 'emacs-build
- (assoc-ref emacs:%standard-phases 'build))
- (add-after 'emacs-install 'emacs-make-autoloads
- (assoc-ref emacs:%standard-phases 'make-autoloads)))))
- (inputs
- `(("ffmpeg" ,ffmpeg))) ; mp4/gif support.
- (propagated-inputs
- `(("emacs-visual-fill-column" ,emacs-visual-fill-column)
- ("emacs-company" ,emacs-company)
- ("emacs-rainbow-identifiers"
- ,emacs-rainbow-identifiers)
- ("libwebp" ,libwebp))) ; sticker support.
- (native-inputs
- `(("tdlib" ,tdlib)
- ;; Use Emacs with wide ints on 32-bit architectures.
- ("emacs" ,(match (%current-system)
- ((or "i686-linux" "armhf-linux")
- emacs-wide-int)
- (_
- emacs)))
- ("python" ,python)))
- (synopsis "GNU Emacs client for the Telegram messenger")
- (description
- "Telega is a full-featured, unofficial GNU Emacs-based client for the
-Telegram messaging platform.")
- (home-page "https://zevlg.github.io/telega.el/")
- (license license:gpl3+))))
+ (package
+ (inherit emacs-telega-server)
+ (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)
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (substitute* "telega-server.el"
+ (("@TELEGA_SERVER_BIN@")
+ (string-append (assoc-ref inputs "emacs-telega-server")
+ "/bin/telega-server")))
+ (substitute* "telega-util.el"
+ (("@TELEGA_SHARE@")
+ (string-append (assoc-ref outputs "out")
+ "/share/emacs-telega")))))
+ (add-after 'install 'install-share-files
+ (lambda* (#:key outputs #:allow-other-keys)
+ (define install-plan
+ '("langs" "sounds" "emojis.alist"
+ "verified.svg" "telega-logo.svg"))
+
+ (define prefix (string-append (assoc-ref outputs "out")
+ "/share/emacs-telega"))
+ (with-directory-excursion "etc"
+ (for-each (lambda (file)
+ (if (file-is-directory? file)
+ (let ((dest (string-append prefix "/" file)))
+ (copy-recursively file dest))
+ (install-file file prefix)))
+ install-plan))
+ #t)))))
+ (inputs `(("emacs-telega-server" ,emacs-telega-server)))
+ (native-inputs '())
+ (propagated-inputs
+ `(("emacs-visual-fill-column" ,emacs-visual-fill-column)
+ ("emacs-company" ,emacs-company)
+ ("emacs-rainbow-identifiers" ,emacs-rainbow-identifiers)
+ ;; TODO: embbed references of following package into source file.
+ ("ffmpeg" ,ffmpeg) ; GIF, video support.
+ ("libwebp" ,libwebp) ; sticker support.
+ ))
+ (synopsis "GNU Emacs client for the Telegram messenger")
+ (description "Telega is a full-featured, unofficial GNU Emacs-based client
+for the Telegram messaging platform.")))
(define-public emacs-telega-contrib
(package/inherit emacs-telega
--
2.32.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #4: 0003-gnu-emacs-telega-contrib-Update-to-0.7.024.patch --]
[-- Type: text/x-patch, Size: 2114 bytes --]
From aad569dfce7a3223192cd34be30ff083a6962e55 Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Fri, 25 Jun 2021 13:29:30 +0800
Subject: [PATCH 3/3] gnu: emacs-telega-contrib: Update to 0.7.024.
* gnu/packages/emacs-xyz.scm(emacs-telega-contrib): Update to 0.7.024.
[arguments]<phases>: Back to root directory of build before phase
'install-license-files' to properly install licenses.
[propagated-inputs]: Add emacs-dashboard, emacs-transient.
---
gnu/packages/emacs-xyz.scm | 23 ++++++++++++++++-------
1 file changed, 16 insertions(+), 7 deletions(-)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 0535840293..5fa0a7d60e 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -26117,19 +26117,28 @@ service, and connect it with Emacs via inter-process communication.")
for the Telegram messaging platform.")))
(define-public emacs-telega-contrib
- (package/inherit emacs-telega
+ (package
+ (inherit emacs-telega)
(name "emacs-telega-contrib")
- (build-system emacs-build-system)
(arguments
`(#:exclude '("telega-live-location.el")
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'chdir
- (lambda _ (chdir "contrib") #t)))))
+ (add-after 'unpack 'enter-subdirectory
+ (lambda _ (chdir "contrib") #t))
+ (add-before 'install-license-files 'leave-subdirectory
+ (lambda _ (chdir "..") #t)))))
+ (inputs '())
+ (native-inputs '())
(propagated-inputs
- `(("emacs-telega" ,emacs-telega)
- ("emacs-alert" ,emacs-alert)
- ("emacs-all-the-icons" ,emacs-all-the-icons)))))
+ `(("emacs-alert" ,emacs-alert)
+ ("emacs-all-the-icons" ,emacs-all-the-icons)
+ ("emacs-dashboard" ,emacs-dashboard)
+ ("emacs-telega" ,emacs-telega)
+ ("emacs-transient" ,emacs-transient)))
+ (synopsis "Contributed packages to Telega")
+ (description "Telega-contrib is a collection of third-party
+contributed packages to Telega.")))
(define-public emacs-doom-modeline
(package
--
2.32.0
[-- Attachment #5: Type: text/plain, Size: 101 bytes --]
--
Retrieve my PGP public key:
gpg --recv-keys D47A9C8B2AE3905B563D9135BE42B352A9F6821F
Zihao
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [bug#49219] Acknowledgement ([PATCH]: Update emacs-telega.)
2021-06-25 6:02 ` [bug#49219] Acknowledgement ([PATCH]: Update emacs-telega.) Zhu Zihao
@ 2021-06-25 6:23 ` Leo Prikler
2021-06-25 9:31 ` Zhu Zihao
2021-06-26 13:16 ` Zhu Zihao
0 siblings, 2 replies; 12+ messages in thread
From: Leo Prikler @ 2021-06-25 6:23 UTC (permalink / raw)
To: Zhu Zihao, 49219
Am Freitag, den 25.06.2021, 14:02 +0800 schrieb Zhu Zihao:
> Update patches:
W.r.t. the propagation of ffmpeg and libwebp I don't think we'd want to
force either onto the user (particularly ffmpeg might collide with a
different version they've already installed). If finding and replacing
all instances of "ffmpeg" with its full path is too broad, perhaps you
could add procedures that find it or replace instances of ffmpeg as a
binary with @ffmpeg@. I think a variable or procedure called telega-
ffmpeg-command might even be acceptable by upstream and broader Emacs
standards.
If on the other hand you want the user's versions of those packages to
be the one that's used, simply don't propagate it.
Regards,
Leo
^ permalink raw reply [flat|nested] 12+ messages in thread
* [bug#49219] Acknowledgement ([PATCH]: Update emacs-telega.)
2021-06-25 6:23 ` Leo Prikler
@ 2021-06-25 9:31 ` Zhu Zihao
2021-06-25 10:46 ` Leo Prikler
2021-06-26 13:16 ` Zhu Zihao
1 sibling, 1 reply; 12+ messages in thread
From: Zhu Zihao @ 2021-06-25 9:31 UTC (permalink / raw)
To: Leo Prikler; +Cc: 49219
[-- Attachment #1: Type: text/plain, Size: 1112 bytes --]
Leo Prikler writes:
> Am Freitag, den 25.06.2021, 14:02 +0800 schrieb Zhu Zihao:
>> Update patches:
> W.r.t. the propagation of ffmpeg and libwebp I don't think we'd want to
> force either onto the user (particularly ffmpeg might collide with a
> different version they've already installed). If finding and replacing
> all instances of "ffmpeg" with its full path is too broad, perhaps you
> could add procedures that find it or replace instances of ffmpeg as a
> binary with @ffmpeg@. I think a variable or procedure called telega-
> ffmpeg-command might even be acceptable by upstream and broader Emacs
> standards.
> If on the other hand you want the user's versions of those packages to
> be the one that's used, simply don't propagate it.
>
> Regards,
> Leo
Good, I think I can just remove ffmpeg and libwebp, leave the choice to
user.
Another question is, the new version is 0.7.024, which is lesser than
0.7.1. could you give me some suggestions on the version number?
--
Retrieve my PGP public key:
gpg --recv-keys D47A9C8B2AE3905B563D9135BE42B352A9F6821F
Zihao
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 255 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* [bug#49219] Acknowledgement ([PATCH]: Update emacs-telega.)
2021-06-25 9:31 ` Zhu Zihao
@ 2021-06-25 10:46 ` Leo Prikler
0 siblings, 0 replies; 12+ messages in thread
From: Leo Prikler @ 2021-06-25 10:46 UTC (permalink / raw)
To: Zhu Zihao; +Cc: 49219
Am Freitag, den 25.06.2021, 17:31 +0800 schrieb Zhu Zihao:
> Leo Prikler writes:
>
> > Am Freitag, den 25.06.2021, 14:02 +0800 schrieb Zhu Zihao:
> > > Update patches:
> > W.r.t. the propagation of ffmpeg and libwebp I don't think we'd
> > want to
> > force either onto the user (particularly ffmpeg might collide with
> > a
> > different version they've already installed). If finding and
> > replacing
> > all instances of "ffmpeg" with its full path is too broad, perhaps
> > you
> > could add procedures that find it or replace instances of ffmpeg as
> > a
> > binary with @ffmpeg@. I think a variable or procedure called
> > telega-
> > ffmpeg-command might even be acceptable by upstream and broader
> > Emacs
> > standards.
> > If on the other hand you want the user's versions of those packages
> > to
> > be the one that's used, simply don't propagate it.
> >
> > Regards,
> > Leo
>
> Good, I think I can just remove ffmpeg and libwebp, leave the choice
> to
> user.
>
> Another question is, the new version is 0.7.024, which is lesser than
> 0.7.1. could you give me some suggestions on the version number?
Tough questions, you might want to ask upstream what their rationale is
on the leading 0 and whether they plan to use a version 24 that
supersedes it. Given that the switch happened between 0.7.15 and
0.7.016, you might look there for indicators, but I'm also somewhat
tempted to just drop that 0.
Regards,
Leo
^ permalink raw reply [flat|nested] 12+ messages in thread
* [bug#49219] Acknowledgement ([PATCH]: Update emacs-telega.)
2021-06-25 6:23 ` Leo Prikler
2021-06-25 9:31 ` Zhu Zihao
@ 2021-06-26 13:16 ` Zhu Zihao
2021-06-28 2:53 ` Zhu Zihao
2021-07-07 13:51 ` Giovanni Biscuolo
1 sibling, 2 replies; 12+ messages in thread
From: Zhu Zihao @ 2021-06-26 13:16 UTC (permalink / raw)
To: Leo Prikler; +Cc: 49219
[-- Attachment #1: Type: text/plain, Size: 269 bytes --]
Leo Prikler writes:
https://github.com/zevlg/telega.el/issues/297
Just ask developer of telega.
Seems that we'd better to let it downgrade :thinking:
--
Retrieve my PGP public key:
gpg --recv-keys D47A9C8B2AE3905B563D9135BE42B352A9F6821F
Zihao
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 255 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* [bug#49219] Acknowledgement ([PATCH]: Update emacs-telega.)
2021-06-26 13:16 ` Zhu Zihao
@ 2021-06-28 2:53 ` Zhu Zihao
2021-07-06 3:04 ` Zhu Zihao
2021-07-07 13:51 ` Giovanni Biscuolo
1 sibling, 1 reply; 12+ messages in thread
From: Zhu Zihao @ 2021-06-28 2:53 UTC (permalink / raw)
To: Leo Prikler; +Cc: 49219
[-- Attachment #1.1: Type: text/plain, Size: 0 bytes --]
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 255 bytes --]
[-- Attachment #2: 0001-gnu-Add-emacs-telega-server.patch --]
[-- Type: text/x-patch, Size: 8562 bytes --]
From ffcd346a5d2a7b6fccfc56d16156b833bbd6c8bb Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Fri, 25 Jun 2021 13:25:05 +0800
Subject: [PATCH 1/3] gnu: Add emacs-telega-server.
* gnu/packages/emacs-xyz.scm(emacs-telega-server): New variable.
* gnu/packages/patches/emacs-telega-path-placeholder.patch: New file.
* gnu/package/patches/emacs-telega-patch-server-functions.patch: Remove stale patch.
* gnu/local.mk(dist_patch_DATA): Update corresponding entries.
---
gnu/local.mk | 2 +-
gnu/packages/emacs-xyz.scm | 55 ++++++++++++++++++-
.../emacs-telega-patch-server-functions.patch | 31 -----------
.../emacs-telega-path-placeholder.patch | 44 +++++++++++++++
4 files changed, 99 insertions(+), 33 deletions(-)
delete mode 100644 gnu/packages/patches/emacs-telega-patch-server-functions.patch
create mode 100644 gnu/packages/patches/emacs-telega-path-placeholder.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 509970f044..8f432ed326 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -989,7 +989,7 @@ dist_patch_DATA = \
%D%/packages/patches/emacs-hyperbole-toggle-messaging.patch \
%D%/packages/patches/emacs-libgit-use-system-libgit2.patch \
%D%/packages/patches/emacs-source-date-epoch.patch \
- %D%/packages/patches/emacs-telega-patch-server-functions.patch \
+ %D%/packages/patches/emacs-telega-path-placeholder.patch \
%D%/packages/patches/emacs-telega-test-env.patch \
%D%/packages/patches/emacs-wordnut-require-adaptive-wrap.patch \
%D%/packages/patches/enjarify-setup-py.patch \
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index b84c0d6622..ab5d0ed061 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -81,7 +81,7 @@
;;; Copyright © 2020, 2021 Niklas Eklund <niklas.eklund@posteo.net>
;;; Copyright © 2020 Marco Grassi <marco.au.grassi98@protonmail.com>
;;; Copyright © 2020 Tomás Ortín Fernández <tomasortin@mailbox.org>
-;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com>
+;;; Copyright © 2020, 2021 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2020 Adam Kandur <rndd@tuta.io>
;;; Copyright © 2020 Tim Howes <timhowes@lavabit.com>
;;; Copyright © 2020 Noah Landis <noahlandis@posteo.net>
@@ -144,6 +144,7 @@
#:use-module (gnu packages djvu)
#:use-module (gnu packages ebook)
#:use-module (gnu packages emacs)
+ #:use-module (gnu packages freedesktop)
#:use-module (gnu packages golang)
#:use-module (gnu packages guile)
#:use-module (gnu packages gtk)
@@ -26011,6 +26012,58 @@ fish-completion. It can be used in both Eshell and M-x shell.")
other @code{helm-type-file} sources such as @code{helm-locate}.")
(license license:gpl3+)))
+(define-public emacs-telega-server
+ (package
+ (name "emacs-telega-server")
+ (version "0.7.024")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zevlg/telega.el")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32 "1ra04cp49zzx8vy8aswd00l46ixyc44sxh1s3nw880b4ywzxmc6j"))
+ (file-name (git-file-name "emacs-telega" version))
+ (patches
+ (search-patches "emacs-telega-path-placeholder.patch"
+ "emacs-telega-test-env.patch"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'enter-subdirectory
+ (lambda _ (chdir "server") #t))
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (substitute* "Makefile"
+ (("CC=cc") ,(string-append "CC=" (cc-for-target)))
+ (("^(INSTALL_PREFIX=).*$" _all prefix)
+ (string-append prefix out "/bin\n")))
+
+ (substitute* "run_tests.py"
+ (("^(TELEGA_SERVER = ).*$" _all prefix)
+ (string-append prefix
+ "\"" out "/bin/telega-server\"\n"))))))
+ (delete 'check)
+ (add-after 'install 'check
+ (assoc-ref %standard-phases 'check))
+ (add-before 'install-license-files 'leave-subdirectory
+ (lambda _ (chdir "..") #t)))
+ #:test-target "test"))
+ (inputs
+ `(("tdlib" ,tdlib)
+ ("libappindicator" ,libappindicator)))
+ (native-inputs
+ `(("python" ,python)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://zevlg.github.io/telega.el/")
+ (synopsis "Server process of Telega")
+ (description "Telega-server is helper program to interact with Telegram
+service, and connect it with Emacs via inter-process communication.")
+ (license license:gpl3+)))
+
(define-public emacs-telega
;; This package has versions newer than indicated on MELPA.
;; Get the current version from `telega-version` in telega.el.
diff --git a/gnu/packages/patches/emacs-telega-patch-server-functions.patch b/gnu/packages/patches/emacs-telega-patch-server-functions.patch
deleted file mode 100644
index e3d49278d0..0000000000
--- a/gnu/packages/patches/emacs-telega-patch-server-functions.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Remove interactive build for telega-server, as it fails on Guix.
-Modify the `telega-server--find-bin' function to only use the version
-of telega-server installed by Guix.
-
-Created by Brett Gilio <brettg@gnu.org>
-
---- a/telega-server.el
-+++ b/telega-server.el
-@@ -113,7 +113,6 @@ If already deferring, then just executes the BODY."
- If BUILD-FLAGS is specified, then rebuild server without any
- queries using this flags for building, could be empty string.
- Otherwise query user about building flags."
-- (interactive)
- (telega-test-env 'quiet)
- (when (or build-flags
- (y-or-n-p "Build `telega-server'? "))
-@@ -137,11 +136,8 @@ Otherwise query user about building flags."
- (defun telega-server--find-bin ()
- "Find telega-server executable.
- Raise error if not found."
-- (let ((exec-path (cons telega-directory exec-path)))
-- (or (executable-find "telega-server")
-- (progn (telega-server-build)
-- (executable-find "telega-server"))
-- (error "`telega-server' not found in exec-path"))))
-+ (or (executable-find "telega-server")
-+ (error "`telega-server' not found in exec-path")))
-
- (defun telega-server-version ()
- "Return telega-server version."
-
diff --git a/gnu/packages/patches/emacs-telega-path-placeholder.patch b/gnu/packages/patches/emacs-telega-path-placeholder.patch
new file mode 100644
index 0000000000..c20be36712
--- /dev/null
+++ b/gnu/packages/patches/emacs-telega-path-placeholder.patch
@@ -0,0 +1,44 @@
+From 865b8c553722a971c68742c2e849e41eb0e2360c Mon Sep 17 00:00:00 2001
+From: Zhu Zihao <all_but_last@163.com>
+Date: Thu, 24 Jun 2021 23:43:50 +0800
+Subject: [PATCH] Replace code that search path with placeholder for
+ configuration.
+
+---
+ telega-server.el | 6 +-----
+ telega-util.el | 2 +-
+ 2 files changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/telega-server.el b/telega-server.el
+index 999125d..0fa0817 100644
+--- a/telega-server.el
++++ b/telega-server.el
+@@ -142,11 +142,7 @@ Otherwise query user about building flags."
+ (defun telega-server--find-bin ()
+ "Find telega-server executable.
+ Raise error if not found."
+- (let ((exec-path (cons telega-directory exec-path)))
+- (or (executable-find "telega-server")
+- (progn (telega-server-build)
+- (executable-find "telega-server"))
+- (error "`telega-server' not found in exec-path"))))
++ "@TELEGA_SERVER_BIN@")
+
+ (defun telega-server-version ()
+ "Return telega-server version."
+diff --git a/telega-util.el b/telega-util.el
+index 73a46b1..f53e20a 100644
+--- a/telega-util.el
++++ b/telega-util.el
+@@ -464,7 +464,7 @@ N can't be 0."
+
+ (defun telega-etc-file (filename)
+ "Return absolute path to FILENAME from etc/ directory in telega."
+- (expand-file-name (concat "etc/" filename) telega--lib-directory))
++ (concat "@TELEGA_SHARE@" "/" filename))
+
+ (defun telega-link-props (link-type link-to &optional face)
+ "Generate props for link button openable with `telega-link--button-action'."
+--
+2.32.0
+
--
2.32.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 0002-gnu-emacs-telega-Update-to-0.7.024.patch --]
[-- Type: text/x-patch, Size: 8457 bytes --]
From e8d88e5b99b6136223a8be6e143bc91199cfd02f Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Fri, 25 Jun 2021 13:26:51 +0800
Subject: [PATCH 2/3] gnu: emacs-telega: Update to 0.7.024.
* gnu/packages/emacs-xyz.scm(emacs-telega): Update to 0.7.024.
Rewrite build recipe.
---
gnu/packages/emacs-xyz.scm | 165 +++++++++++--------------------------
1 file changed, 46 insertions(+), 119 deletions(-)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index ab5d0ed061..dfbdb6b8f8 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -26065,125 +26065,52 @@ service, and connect it with Emacs via inter-process communication.")
(license license:gpl3+)))
(define-public emacs-telega
- ;; This package has versions newer than indicated on MELPA.
- ;; Get the current version from `telega-version` in telega.el.
- ;; or by running M-x telega-version.
- (let ((commit "1d28dc209e2acf1a3bf2852cc620b6e412ea73f9")
- (revision "1")
- (version "0.7.1"))
- (package
- (name "emacs-telega")
- (version (git-version version revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/zevlg/telega.el")
- (commit commit)))
- (sha256
- (base32
- "0h6kj3r36x26v6p4gkzg5s6fv0brlvrf6ycsdwnz27fw5sdb99k7"))
- (patches (search-patches
- "emacs-telega-patch-server-functions.patch"
- "emacs-telega-test-env.patch"))
- (file-name (git-file-name name version))))
- (build-system gnu-build-system)
- (arguments
- `(#:modules ((guix build gnu-build-system)
- ((guix build emacs-build-system) #:prefix emacs:)
- (guix build utils)
- (guix build emacs-utils))
- #:imported-modules (,@%gnu-build-system-modules
- (guix build emacs-build-system)
- (guix build emacs-utils))
- #:test-target "test"
- ;; TODO: Currently tgVOIP is not functional, thus we have disabled it
- ;; temporarily.
- ;; #:make-flags (list "WITH_VOIP=t")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'prefix-patch
- (lambda _
- (substitute* "server/Makefile"
- (("CC=cc")
- ,(string-append "CC=" (cc-for-target)))
- (("INSTALL_PREFIX=\\$\\(HOME\\)/.telega")
- (string-append "INSTALL_PREFIX=" (assoc-ref %outputs "out")
- "/bin"))
- ;; Manually invoke `run_tests.py` after install phase.
- (("python3 run_tests.py")
- ""))
- #t))
- (add-after 'unpack 'expand-load-path
- (assoc-ref emacs:%standard-phases 'expand-load-path))
- (add-after 'unpack 'patch-sources
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Hard-code paths to `ffplay` and `ffmpeg`.
- (let ((ffplay-bin (string-append (assoc-ref inputs "ffmpeg")
- "/bin/ffplay"))
- (ffmpeg-bin (string-append (assoc-ref inputs "ffmpeg")
- "/bin/ffmpeg")))
- (substitute* "telega-ffplay.el"
- (("\\(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 "\")"))))
- ;; This would push the "contrib" sources to the load path,
- ;; but as contrib is not installed alongside telega, it does
- ;; nothing.
- (substitute* "telega.el"
- (("\\(push .* load-path\\)") ""))
- #t))
- ;; The server test suite has a hardcoded path.
- ;; Reset this behavior to use the proper path.
- (add-after 'unpack 'patch-test-suite
- (lambda _
- (substitute* "server/run_tests.py"
- (("~/.telega/telega-server")
- (string-append (assoc-ref %outputs "out")
- "/bin/telega-server")))
- #t))
- (add-after 'install 'run-server-suite
- (lambda _
- (invoke "python3" "server/run_tests.py")
- #t))
- (delete 'configure)
- (add-after 'expand-load-path 'emacs-install
- (lambda args
- (apply (assoc-ref emacs:%standard-phases 'install)
- #:include `("etc" ,@emacs:%default-include)
- args)))
- (add-after 'emacs-install 'emacs-build
- (assoc-ref emacs:%standard-phases 'build))
- (add-after 'emacs-install 'emacs-make-autoloads
- (assoc-ref emacs:%standard-phases 'make-autoloads)))))
- (inputs
- `(("ffmpeg" ,ffmpeg))) ; mp4/gif support.
- (propagated-inputs
- `(("emacs-visual-fill-column" ,emacs-visual-fill-column)
- ("emacs-company" ,emacs-company)
- ("emacs-rainbow-identifiers"
- ,emacs-rainbow-identifiers)
- ("libwebp" ,libwebp))) ; sticker support.
- (native-inputs
- `(("tdlib" ,tdlib)
- ;; Use Emacs with wide ints on 32-bit architectures.
- ("emacs" ,(match (%current-system)
- ((or "i686-linux" "armhf-linux")
- emacs-wide-int)
- (_
- emacs)))
- ("python" ,python)))
- (synopsis "GNU Emacs client for the Telegram messenger")
- (description
- "Telega is a full-featured, unofficial GNU Emacs-based client for the
-Telegram messaging platform.")
- (home-page "https://zevlg.github.io/telega.el/")
- (license license:gpl3+))))
+ (package
+ (inherit emacs-telega-server)
+ (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)
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (substitute* "telega-server.el"
+ (("@TELEGA_SERVER_BIN@")
+ (string-append (assoc-ref inputs "emacs-telega-server")
+ "/bin/telega-server")))
+ (substitute* "telega-util.el"
+ (("@TELEGA_SHARE@")
+ (string-append (assoc-ref outputs "out")
+ "/share/emacs-telega")))))
+ (add-after 'install 'install-share-files
+ (lambda* (#:key outputs #:allow-other-keys)
+ (define install-plan
+ '("langs" "sounds" "emojis.alist"
+ "verified.svg" "telega-logo.svg"))
+
+ (define prefix (string-append (assoc-ref outputs "out")
+ "/share/emacs-telega"))
+ (with-directory-excursion "etc"
+ (for-each (lambda (file)
+ (if (file-is-directory? file)
+ (let ((dest (string-append prefix "/" file)))
+ (copy-recursively file dest))
+ (install-file file prefix)))
+ install-plan))
+ #t)))))
+ (inputs `(("emacs-telega-server" ,emacs-telega-server)))
+ (native-inputs '())
+ (propagated-inputs
+ `(("emacs-visual-fill-column" ,emacs-visual-fill-column)
+ ("emacs-company" ,emacs-company)
+ ("emacs-rainbow-identifiers" ,emacs-rainbow-identifiers)))
+ (synopsis "GNU Emacs client for the Telegram messenger")
+ (description "Telega is a full-featured, unofficial GNU Emacs-based client
+for the Telegram messaging platform.")))
(define-public emacs-telega-contrib
(package/inherit emacs-telega
--
2.32.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #4: 0003-gnu-emacs-telega-contrib-Update-to-0.7.024.patch --]
[-- Type: text/x-patch, Size: 2114 bytes --]
From c2901b296be139a12ed0e94e7956706ec2a3243e Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Fri, 25 Jun 2021 13:29:30 +0800
Subject: [PATCH 3/3] gnu: emacs-telega-contrib: Update to 0.7.024.
* gnu/packages/emacs-xyz.scm(emacs-telega-contrib): Update to 0.7.024.
[arguments]<phases>: Back to root directory of build before phase
'install-license-files' to properly install licenses.
[propagated-inputs]: Add emacs-dashboard, emacs-transient.
---
gnu/packages/emacs-xyz.scm | 23 ++++++++++++++++-------
1 file changed, 16 insertions(+), 7 deletions(-)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index dfbdb6b8f8..fbec1fda29 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -26113,19 +26113,28 @@ service, and connect it with Emacs via inter-process communication.")
for the Telegram messaging platform.")))
(define-public emacs-telega-contrib
- (package/inherit emacs-telega
+ (package
+ (inherit emacs-telega)
(name "emacs-telega-contrib")
- (build-system emacs-build-system)
(arguments
`(#:exclude '("telega-live-location.el")
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'chdir
- (lambda _ (chdir "contrib") #t)))))
+ (add-after 'unpack 'enter-subdirectory
+ (lambda _ (chdir "contrib") #t))
+ (add-before 'install-license-files 'leave-subdirectory
+ (lambda _ (chdir "..") #t)))))
+ (inputs '())
+ (native-inputs '())
(propagated-inputs
- `(("emacs-telega" ,emacs-telega)
- ("emacs-alert" ,emacs-alert)
- ("emacs-all-the-icons" ,emacs-all-the-icons)))))
+ `(("emacs-alert" ,emacs-alert)
+ ("emacs-all-the-icons" ,emacs-all-the-icons)
+ ("emacs-dashboard" ,emacs-dashboard)
+ ("emacs-telega" ,emacs-telega)
+ ("emacs-transient" ,emacs-transient)))
+ (synopsis "Contributed packages to Telega")
+ (description "Telega-contrib is a collection of third-party
+contributed packages to Telega.")))
(define-public emacs-doom-modeline
(package
--
2.32.0
[-- Attachment #5: Type: text/plain, Size: 118 bytes --]
Patches updated.
--
Retrieve my PGP public key:
gpg --recv-keys D47A9C8B2AE3905B563D9135BE42B352A9F6821F
Zihao
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [bug#49219] Acknowledgement ([PATCH]: Update emacs-telega.)
2021-06-28 2:53 ` Zhu Zihao
@ 2021-07-06 3:04 ` Zhu Zihao
0 siblings, 0 replies; 12+ messages in thread
From: Zhu Zihao @ 2021-07-06 3:04 UTC (permalink / raw)
To: 49219
[-- Attachment #1: Type: text/plain, Size: 116 bytes --]
ping.
--
Retrieve my PGP public key:
gpg --recv-keys D47A9C8B2AE3905B563D9135BE42B352A9F6821F
Zihao
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 255 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* [bug#49219] Acknowledgement ([PATCH]: Update emacs-telega.)
2021-06-26 13:16 ` Zhu Zihao
2021-06-28 2:53 ` Zhu Zihao
@ 2021-07-07 13:51 ` Giovanni Biscuolo
2021-07-09 10:36 ` Zhu Zihao
1 sibling, 1 reply; 12+ messages in thread
From: Giovanni Biscuolo @ 2021-07-07 13:51 UTC (permalink / raw)
To: Zhu Zihao, Leo Prikler; +Cc: 49219
[-- Attachment #1: Type: text/plain, Size: 2073 bytes --]
Hello Zhu,
thank you for your work on emacs-telega!
...sorry I'm late in this discussion.
Zhu Zihao <all_but_last@163.com> writes:
> https://github.com/zevlg/telega.el/issues/297
>
> Just ask developer of telega.
>
> Seems that we'd better to let it downgrade :thinking:
for archival purposes, this is the comment [1] by Zajcev Evgeny:
--8<---------------cut here---------------start------------->8---
0.7.0XX is for stable telega from "releases" branch
0.7.XX is for bleading edge telega from "master" branch
We need a way to distinguish them, we use leading 0 right now
--8<---------------cut here---------------end--------------->8---
Also, the upstream README.md states:
--8<---------------cut here---------------start------------->8---
This project is developed on two primary branches. The 'releases' branch
is kept in compatibility with TDLib major releases. The 'master' branch
is for developmental purposes, and utilizes unstable features in TDLib.
--8<---------------cut here---------------end--------------->8---
As a general rule (AFAIU) Guix packages usually are based on stable
releases so probably we should always use <major>.<minor>.0<N> from now
on: WDYT?
In this case I'd add a comment before (version ...) to clarify this
numbering scheme, something like:
--8<---------------cut here---------------start------------->8---
(define-public emacs-telega-server
(package
(name "emacs-telega-server")
;; 0.7.0XX is for stable telega from "releases" branch
;; that is kept in compatibility with TDLib major releases
(version "0.7.024")
--8<---------------cut here---------------end--------------->8---
Also, if you think it's useful in the future we could also add a
"emacs-telega-server-unstable" for testing bleading edge TDLib features.
WDYT?
I'll give your patch series a try if I find some time this week.
Thanks! Gio'
[1] https://github.com/zevlg/telega.el/issues/297#issuecomment-868992025
--
Giovanni Biscuolo
Xelera IT Infrastructures
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 849 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* [bug#49219] Acknowledgement ([PATCH]: Update emacs-telega.)
2021-07-07 13:51 ` Giovanni Biscuolo
@ 2021-07-09 10:36 ` Zhu Zihao
2021-07-09 11:27 ` Leo Prikler
0 siblings, 1 reply; 12+ messages in thread
From: Zhu Zihao @ 2021-07-09 10:36 UTC (permalink / raw)
To: Giovanni Biscuolo; +Cc: Leo Prikler, 49219
[-- Attachment #1: Type: text/plain, Size: 595 bytes --]
Giovanni Biscuolo writes:
>
> Also, if you think it's useful in the future we could also add a
> "emacs-telega-server-unstable" for testing bleading edge TDLib features.
>
> WDYT?
>
> I'll give your patch series a try if I find some time this week.
>
> Thanks! Gio'
>
>
> [1] https://github.com/zevlg/telega.el/issues/297#issuecomment-868992025
I'm OK with it, maybe rename it to `emacs-telega-server-next`?
But I'm not sure Guix maintainer would accept it or not.
--
Retrieve my PGP public key:
gpg --recv-keys D47A9C8B2AE3905B563D9135BE42B352A9F6821F
Zihao
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 255 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* [bug#49219] Acknowledgement ([PATCH]: Update emacs-telega.)
2021-07-09 10:36 ` Zhu Zihao
@ 2021-07-09 11:27 ` Leo Prikler
2021-07-09 13:15 ` bug#49219: " Leo Prikler
0 siblings, 1 reply; 12+ messages in thread
From: Leo Prikler @ 2021-07-09 11:27 UTC (permalink / raw)
To: Zhu Zihao, Giovanni Biscuolo; +Cc: 49219
Am Freitag, den 09.07.2021, 18:36 +0800 schrieb Zhu Zihao:
> Giovanni Biscuolo writes:
>
> > Also, if you think it's useful in the future we could also add a
> > "emacs-telega-server-unstable" for testing bleading edge TDLib
> > features.
> >
> > WDYT?
> >
> > I'll give your patch series a try if I find some time this week.
> >
> > Thanks! Gio'
> >
> >
> > [1]
> > https://github.com/zevlg/telega.el/issues/297#issuecomment-868992025
>
> I'm OK with it, maybe rename it to `emacs-telega-server-next`?
>
> But I'm not sure Guix maintainer would accept it or not.
This probably depends on how often we'd have to bump TDLib to make this
meaningful. "Major" release sounds like a 1.0 → 2.0 version bump,
which if "unstable" telega only depended on stuff introduced e.g. in
1.1 → 1.2 sounds a little too strict. However, if unstable telega
means tailing arbitrary TDLib commits, I'd rather avoid doing that.
There's so far no precedent to worry about such things, though, so I'd
rather push the existing patch after some testing or an altered one if
problems are detected. I haven't gotten to testing things myself
either, but given that we are one stable telega release behind, now
sounds like a good time to start doing that. (Please pardon the
laziness on my part – I typically do lexical work before practical one
to allow myself to work on other patches and projects as well.)
Regards,
Leo
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#49219: Acknowledgement ([PATCH]: Update emacs-telega.)
2021-07-09 11:27 ` Leo Prikler
@ 2021-07-09 13:15 ` Leo Prikler
0 siblings, 0 replies; 12+ messages in thread
From: Leo Prikler @ 2021-07-09 13:15 UTC (permalink / raw)
To: Zhu Zihao, Giovanni Biscuolo; +Cc: 49219-done
Am Freitag, den 09.07.2021, 13:27 +0200 schrieb Leo Prikler:
> Am Freitag, den 09.07.2021, 18:36 +0800 schrieb Zhu Zihao:
> > Giovanni Biscuolo writes:
> >
> > > Also, if you think it's useful in the future we could also add a
> > > "emacs-telega-server-unstable" for testing bleading edge TDLib
> > > features.
> > >
> > > WDYT?
> > >
> > > I'll give your patch series a try if I find some time this week.
> > >
> > > Thanks! Gio'
> > >
> > >
> > > [1]
> > > https://github.com/zevlg/telega.el/issues/297#issuecomment-868992025
> >
> > I'm OK with it, maybe rename it to `emacs-telega-server-next`?
> >
> > But I'm not sure Guix maintainer would accept it or not.
> This probably depends on how often we'd have to bump TDLib to make
> this
> meaningful. "Major" release sounds like a 1.0 → 2.0 version bump,
> which if "unstable" telega only depended on stuff introduced e.g. in
> 1.1 → 1.2 sounds a little too strict. However, if unstable telega
> means tailing arbitrary TDLib commits, I'd rather avoid doing that.
>
> There's so far no precedent to worry about such things, though, so
> I'd
> rather push the existing patch after some testing or an altered one
> if
> problems are detected. I haven't gotten to testing things myself
> either, but given that we are one stable telega release behind, now
> sounds like a good time to start doing that. (Please pardon the
> laziness on my part – I typically do lexical work before practical
> one
> to allow myself to work on other patches and projects as well.)
>
> Regards,
> Leo
After some testing, I've decided to push the current patch set, albeit
with some changes. I redid my old hardcoding of ffmpeg and rephrased
the commit messages to be more explicit. I also followed up with a
bump to 0.7.025.
There might still be some discussion to be had about versioning, but
for now I will close this bug.
Regards,
Leo
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2021-07-09 13:16 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-06-25 5:48 [bug#49219] [PATCH]: Update emacs-telega Zhu Zihao
[not found] ` <handler.49219.B.162460012825885.ack@debbugs.gnu.org>
2021-06-25 6:02 ` [bug#49219] Acknowledgement ([PATCH]: Update emacs-telega.) Zhu Zihao
2021-06-25 6:23 ` Leo Prikler
2021-06-25 9:31 ` Zhu Zihao
2021-06-25 10:46 ` Leo Prikler
2021-06-26 13:16 ` Zhu Zihao
2021-06-28 2:53 ` Zhu Zihao
2021-07-06 3:04 ` Zhu Zihao
2021-07-07 13:51 ` Giovanni Biscuolo
2021-07-09 10:36 ` Zhu Zihao
2021-07-09 11:27 ` Leo Prikler
2021-07-09 13:15 ` bug#49219: " Leo Prikler
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).