From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:60782) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1htlTc-000450-VC for guix-patches@gnu.org; Sat, 03 Aug 2019 00:17:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1htlTb-00059Z-2u for guix-patches@gnu.org; Sat, 03 Aug 2019 00:17:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:49328) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1htlTa-00059P-LW for guix-patches@gnu.org; Sat, 03 Aug 2019 00:17:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1htlTa-0007Mp-FD for guix-patches@gnu.org; Sat, 03 Aug 2019 00:17:02 -0400 Subject: [bug#36751] [PATCH] gnu: Add emacs-hyperbole. Resent-Message-ID: References: <875znv89iw.fsf@odyssey.lafreniere.xyz> <87a7d55q0w.fsf@odyssey.lafreniere.xyz> From: "LaFreniere\, Joseph" In-reply-to: <87a7d55q0w.fsf@odyssey.lafreniere.xyz> Date: Fri, 02 Aug 2019 23:16:19 -0500 Message-ID: <877e7urii4.fsf@odyssey.lafreniere.xyz> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 36751@debbugs.gnu.org --=-=-= Content-Type: text/plain; format=flowed I have squashed the fixup into the original commit and rebased on current master (82ebb785f178d8618d39b658932d23d9f859fc91). The resulting commit is attached. -- Joseph LaFreniere --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=0001-gnu-Add-emacs-hyperbole.patch Content-Transfer-Encoding: quoted-printable >From 7bddfbe5cc24c5493b640d385901fa705cf06fcb Mon Sep 17 00:00:00 2001 From: Joseph LaFreniere Date: Wed, 5 Jun 2019 01:27:49 -0500 Subject: [PATCH] gnu: Add emacs-hyperbole. * gnu/packages/emacs-xyz.scm (emacs-hyperbole): Add at 7.0.3 --- gnu/packages/emacs-xyz.scm | 68 +++++++++++++++ .../emacs-hyperbole-do-not-check-dir.patch | 24 ++++++ .../patches/emacs-hyperbole-domainname.patch | 29 +++++++ .../emacs-hyperbole-toggle-messaging.patch | 86 +++++++++++++++++++ 4 files changed, 207 insertions(+) create mode 100644 gnu/packages/patches/emacs-hyperbole-do-not-check-dir.p= atch create mode 100644 gnu/packages/patches/emacs-hyperbole-domainname.patch create mode 100644 gnu/packages/patches/emacs-hyperbole-toggle-messaging.p= atch diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 600d810bea..73f64ff4c2 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -183,6 +183,74 @@ metadata.") (define-public geiser (deprecated-package "geiser" emacs-geiser)) =20 +(define-public emacs-hyperbole + (package + (name "emacs-hyperbole") + (version "7.0.3") + (source (origin + (method url-fetch) + (uri (string-append + "http://ftpmirror.gnu.org/hyperbole/" + "hyperbole-" version ".tar.gz")) + (sha256 + (base32 + "0znsjhm0lmzpmkgfni4qzx4l6dp604bmrzp3mwxxax2v96wpwmcx")) + (patches + (search-patches + "emacs-hyperbole-do-not-check-dir.patch" + "emacs-hyperbole-domainname.patch" + "emacs-hyperbole-toggle-messaging.patch")))) + (build-system emacs-build-system) + (arguments + `(#:include '("DEMO" + "DEMO-ROLO.otl" + "HY-ABOUT" + "\\.el$" + "\\.info$" + "\\.kotl$") + #:phases + (modify-phases %standard-phases + (add-before 'install 'make-info + (lambda _ + (invoke "make" "info")))))) + (propagated-inputs `(("inetutils" ,inetutils))) + (home-page "https://www.gnu.org/software/hyperbole/") + (synopsis "The Everyday Hypertextual Information Manager") + (description + "GNU Hyperbole, or just Hyperbole, is an easy-to-use, yet powerful and +programmable hypertextual information management system implemented as a G= NU +Emacs package. It offers rapid views and interlinking of all kinds of tex= tual +information, utilizing Emacs for editing. It can dramatically increase yo= ur +productivity and greatly reduce the number of keyboard/mouse keys you'll n= eed +to work efficiently. Hyperbole lets you: + +@itemize +@item Quickly create hyperlink buttons either from the keyboard or by drag= ging +between a source and destination window with a mouse button depressed. La= ter, +activate buttons by pressing/clicking on them or by giving the name of the +button. +@item Activate many kinds of \"implicit buttons\" recognized by context wi= thin +text buffers, e.g. URLs, grep output lines, and git commits. A single key= or +mouse button automatically does the right thing in dozens of contexts; just +press and go. +@item Build outlines with multi-level numbered outline nodes, e.g. 1.4.8.6, +that all renumber automatically as any node or tree is moved in the outlin= e. +Each node also has a permanent hyperlink anchor that you can reference from +any other node. +@item Manage all your contacts quickly with hierarchical categories and em= bed +hyperlinks within each entry. Or create an archive of documents with +hierarchical entries and use the same search mechanism to quickly find any +matching entry. +@item Use single keys to easily manage your Emacs windows or frames and +quickly retrieve saved window and frame configurations. +@item Search for things in your current buffers, in a directory tree or ac= ross +major web search engines with the touch of a few keys. +@end itemize + +The common thread in all these features is making retrieval, management and +display of information fast and easy. That is Hyperbole's purpose.") + (license license:gpl3+))) + (define-public emacs-paredit (package (name "emacs-paredit") diff --git a/gnu/packages/patches/emacs-hyperbole-do-not-check-dir.patch b/= gnu/packages/patches/emacs-hyperbole-do-not-check-dir.patch new file mode 100644 index 0000000000..66c7a0fb08 --- /dev/null +++ b/gnu/packages/patches/emacs-hyperbole-do-not-check-dir.patch @@ -0,0 +1,24 @@ +From 3016fbd61e47978be73bbbaf7a8c2709bec42066 Mon Sep 17 00:00:00 2001 +From: Joseph LaFreniere +Date: Fri, 12 Jul 2019 13:12:40 -0500 +Subject: [PATCH] Do not run hyperb:check-dir-user during initialization + +--- + hyperbole.el | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/hyperbole.el b/hyperbole.el +index 872dbaf..6edb2a7 100644 +--- a/hyperbole.el ++++ b/hyperbole.el +@@ -653,7 +653,6 @@ If FLAG is nil then text is shown, while if FLAG is t = the text is hidden." + (interactive) + (message "Initializing Hyperbole...") + (run-hooks 'hyperbole-init-hook) +- (hyperb:check-dir-user) + (or (stringp hyperb:user-email) + (setq hyperb:user-email + (or (and (boundp 'user-mail-address) +--=20 +2.22.0 + diff --git a/gnu/packages/patches/emacs-hyperbole-domainname.patch b/gnu/pa= ckages/patches/emacs-hyperbole-domainname.patch new file mode 100644 index 0000000000..cf4b63b54b --- /dev/null +++ b/gnu/packages/patches/emacs-hyperbole-domainname.patch @@ -0,0 +1,29 @@ +From 17c87ac58ce6d475fa1987347fcb868ef7f75e40 Mon Sep 17 00:00:00 2001 +From: Joseph LaFreniere +Date: Sun, 2 Jun 2019 12:38:27 -0500 +Subject: [PATCH] Replace executable domainname with hostname + +Fixes build failure: +> ice-9/boot-9.scm:752:25: In procedure dispatch-exception: +> patch-el-files: unable to locate "domainname" +--- + hypb.el | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/hypb.el b/hypb.el +index 6abc17a..0332946 100644 +--- a/hypb.el ++++ b/hypb.el +@@ -183,8 +183,7 @@ Global keymap is used unless optional KEYMAP is given." +=20 + (defun hypb:domain-name () + "Returns current Internet domain name with '@' prepended or nil if none= ." +- (let* ((dname-cmd (or (file-exists-p "/usr/bin/domainname") +- (file-exists-p "/bin/domainname"))) ++ (let* ((dname-cmd (file-exists-p "/bin/hostname")) + (dname (or (and (boundp 'message-user-fqdn) (stringp message-user-fqdn) + (string-match "\\." message-user-fqdn) + message-user-fqdn) +--=20 +2.21.0 + diff --git a/gnu/packages/patches/emacs-hyperbole-toggle-messaging.patch b/= gnu/packages/patches/emacs-hyperbole-toggle-messaging.patch new file mode 100644 index 0000000000..ab66e1b389 --- /dev/null +++ b/gnu/packages/patches/emacs-hyperbole-toggle-messaging.patch @@ -0,0 +1,86 @@ +From 6d5c587ec719e3309077c7d637b03b13db65c047 Mon Sep 17 00:00:00 2001 +From: Joseph LaFreniere +Date: Fri, 12 Jul 2019 12:43:46 -0500 +Subject: [PATCH] Move definition of hyperbole-toggle-messaging to hsettings + +--- + hsettings.el | 25 +++++++++++++++++++++++++ + hyperbole.el | 26 -------------------------- + 2 files changed, 25 insertions(+), 26 deletions(-) + +diff --git a/hsettings.el b/hsettings.el +index 6cdd1b8..9632067 100644 +--- a/hsettings.el ++++ b/hsettings.el +@@ -163,6 +163,31 @@ package to display search results." + search-term))) + (user-error "(Hyperbole): Invalid web search service `%s'" service-= name)))) +=20 ++;;;###autoload ++(defun hyperbole-toggle-messaging (&optional arg) ++ "Toggle Hyperbole support for explicit buttons in mail and news buffers. ++Toggles the boolean variable `inhibit-hyperbole-messaging=E2=80=99 and ei= ther ++adds hooks (nil value) or removes them (t value). ++ ++With optional prefix ARG > 0, enables support. If ARG <=3D 0, ++disables/inhibits support." ++ (interactive "P") ++ (setq inhibit-hyperbole-messaging (if (null arg) ++ (not inhibit-hyperbole-messaging) ++ (<=3D (prefix-numeric-value arg) 0))) ++ (if inhibit-hyperbole-messaging ++ (var:remove-all) ++ (var:append-all) ++ ;; Add any hooks that were skipped when inhibit-hyperbole-messaging ++ ;; was nil. ++ (cond ((boundp 'hyperbole-loading)) ++ ((not after-init-time) ++ (add-hook 'after-init-hook (lambda () (load "hyperbole")))) ++ (t (load "hyperbole")))) ++ (if (called-interactively-p 'interactive) ++ (message "Hyperbole messaging button support is %s" ++ (if inhibit-hyperbole-messaging "disabled" "enabled")))) ++ + (defcustom inhibit-hyperbole-messaging t + "*Determines whether Hyperbole supports explicit buttons in mail and ne= ws buffers. + The default of t means disable such support (work remains to +diff --git a/hyperbole.el b/hyperbole.el +index 4aa427d..872dbaf 100644 +--- a/hyperbole.el ++++ b/hyperbole.el +@@ -121,32 +121,6 @@ + t))) + (error "(Hyperbole): Startup failure: `hyperb:dir' must be manually a= dded to `load-path' to fix."))) +=20 +-;; This must be defined before the defcustom `inhbit-hyperbole-messaging'. +-;;;###autoload +-(defun hyperbole-toggle-messaging (&optional arg) +- "Toggle Hyperbole support for explicit buttons in mail and news buffers. +-Toggles the boolean variable `inhibit-hyperbole-messaging=E2=80=99 and ei= ther +-adds hooks (nil value) or removes them (t value). +- +-With optional prefix ARG > 0, enables support. If ARG <=3D 0, +-disables/inhibits support." +- (interactive "P") +- (setq inhibit-hyperbole-messaging (if (null arg) +- (not inhibit-hyperbole-messaging) +- (<=3D (prefix-numeric-value arg) 0))) +- (if inhibit-hyperbole-messaging +- (var:remove-all) +- (var:append-all) +- ;; Add any hooks that were skipped when inhibit-hyperbole-messaging +- ;; was nil. +- (cond ((boundp 'hyperbole-loading)) +- ((not after-init-time) +- (add-hook 'after-init-hook (lambda () (load "hyperbole")))) +- (t (load "hyperbole")))) +- (if (called-interactively-p 'interactive) +- (message "Hyperbole messaging button support is %s" +- (if inhibit-hyperbole-messaging "disabled" "enabled")))) +- + (defgroup hyperbole-koutliner nil + "Hyperbole multi-level autonumbered outliner customizations." + :group 'hyperbole) +--=20 +2.22.0 + --=20 2.22.0 --=-=-=--