Subject: Add new emacs-greader-mode package definition.

From: Yuval Langer <[email-masked]>
Date: Tue, 22 Oct 2024 20:01:50 +0300

Hi,

attached is a Guix package definition for Michelangelo Rodriguez's
Gnamù reader (greader) text to speech minor mode, version 0.11.18 .

Please review.

Thank you,
Yuval Langer.
From 061ee5cd89e6da4ccfcb88761be51563f9167b3b Mon Sep 17 00:00:00 2001
Message-Id: <061e[email-masked]>
From: Yuval Langer <[email-masked]>
Date: Tue, 22 Oct 2024 19:54:42 +0300
Subject: [PATCH] gnu: Add emacs-greader-mode.

* gnu/packages/emacs-xyz.scm (emacs-greader-mode): New variable.
---
 gnu/packages/emacs-xyz.scm | 40 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 0be1ac83bc..5b04d3ecf0 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -7535,6 +7535,46 @@ generally filled correctly with no fuss.")
 column by drawing a thin line down the length of the editing window.")
     (license license:gpl3+)))
 
+(define-public emacs-greader-mode
+  (let ((commit "e163aec6109ba24ec543f087d9be7bf6b6efa389")
+        (revision "1")
+        (git-repository-url
+         "https://gitlab.com/michelangelo-rodriguez/greader"))
+    (package
+      (name "emacs-greader-mode")
+      (version (git-version "0.11.18" revision commit))
+      (home-page git-repository-url)
+      (source
+       (origin
+         (uri (git-reference
+               (url git-repository-url)
+               (commit commit)))
+         (method git-fetch)
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "054jlv1vrb7wbhr0w97xirjwp42mx0k07j7f0383jxsjn08qik5g"))))
+      (build-system emacs-build-system)
+      (arguments
+       (list
+        #:phases #~(modify-phases %standard-phases
+                     (add-after 'unpack 'add-requires
+                       (lambda _
+                         (substitute* "greader-dict.el"
+                           ((";;; Code:")
+                            ";;; Code:\n(require 'greader)\n")))))))
+      (inputs (list espeak-ng))
+      (synopsis
+       "Gnamù Reader - greader-mode, send buffer contents to a speech engine")
+      (description
+       "Greader is a module that allows you to send any emacs buffer to a TTS.
+A text-to-speech like engine @code{espeak-ng} or @code{speech-dispatcher} are
+already supported, plus limited bakend support native to macOS.  The
+mode supports timer reading, automatic scrolling of buffers in modes
+like @code{info-mode}, repeating reading of regions or the whole buffer,
+includes a feature to facilitate the compilation of espeak-ng
+pronunciations, and other features.")
+      (license license:gpl3+))))
+
 (define-public emacs-grep-a-lot
   (package
     (name "emacs-grep-a-lot")
-- 
2.30.2