summaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorZhu Zihao <all_but_last@163.com>2021-06-25 13:25:05 +0800
committerLeo Prikler <leo.prikler@student.tugraz.at>2021-07-09 15:08:04 +0200
commitd0ccdd707d42e978eeeb55612398c92889e3ebb1 (patch)
tree153dbf5a1b87968e9b5201707d01bd6027cbf6f0 /gnu/packages
parent37861f6c293d7ed1033050b2b0597885ba65186f (diff)
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 accordingly. Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/emacs-xyz.scm55
-rw-r--r--gnu/packages/patches/emacs-telega-patch-server-functions.patch31
-rw-r--r--gnu/packages/patches/emacs-telega-path-placeholder.patch44
3 files changed, 98 insertions, 32 deletions
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index e4ef3884e8..1a749a05e8 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>
@@ -146,6 +146,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)
@@ -26219,6 +26220,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
+