From patchwork Sat Aug 3 04:16:19 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "LaFreniere, Joseph" X-Patchwork-Id: 14819 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 9B916172AA; Sat, 3 Aug 2019 05:17:28 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,T_DKIM_INVALID, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id 1C690172A7 for ; Sat, 3 Aug 2019 05:17:28 +0100 (BST) Received: from localhost ([::1]:38420 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1htlTz-00047R-MZ for patchwork@mira.cbaines.net; Sat, 03 Aug 2019 00:17:27 -0400 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 X-Loop: help-debbugs@gnu.org Subject: [bug#36751] [PATCH] gnu: Add emacs-hyperbole. Resent-From: "LaFreniere\, Joseph" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 03 Aug 2019 04:17:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 36751 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 36751@debbugs.gnu.org Received: via spool by 36751-submit@debbugs.gnu.org id=B36751.156480580028287 (code B ref 36751); Sat, 03 Aug 2019 04:17:02 +0000 Received: (at 36751) by debbugs.gnu.org; 3 Aug 2019 04:16:40 +0000 Received: from localhost ([127.0.0.1]:58149 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1htlTE-0007MA-2X for submit@debbugs.gnu.org; Sat, 03 Aug 2019 00:16:40 -0400 Received: from mx.kolabnow.com ([95.128.36.42]:24700) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1htlTC-0007Lp-4k for 36751@debbugs.gnu.org; Sat, 03 Aug 2019 00:16:39 -0400 Received: from localhost (unknown [127.0.0.1]) by ext-mx-out002.mykolab.com (Postfix) with ESMTP id C2A0934C for <36751@debbugs.gnu.org>; Sat, 3 Aug 2019 06:16:31 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kolabnow.com; h= content-type:content-type:mime-version:message-id:date:date :in-reply-to:subject:subject:from:from:references:received :received:received; s=dkim20160331; t=1564805790; x=1566620191; bh=e4O7ij/JXIDSSRb9WhgCCSN6VW/zKHw/lb4GvTvD1oU=; b=iW4Hj6nwRkmm TbELG2fObO4uOAIGj3t2qTqzIMcBNI92/U8lu2c686piRGRyPiqCDnTAoR0oJcXj g75hkAMFZvCCVtktZlynNkil5dqR7pOhGwTSqfdS7HAdF9d4eO1FnsYqBMUKRpz4 dtHVARcfDkZwvsqzvmJAnjEDSAKlk0R3CvO8JzofD4WrkOn2UkNfSyQcTp7dChkg HS1JxqQ8b633jJVPId7gNMiB3y7M4wS0ggkCT1ck9L83/CQ3qexYt91Pb0xLyeDh K6xNrVvuV66zPocE2DZK4/0zJWNu/EsvEGAy5m0xmIFKLMrPyjZuvlbj0Cwag7S9 mMQaMNwFgiUzEaAfAqRBw6SBcYMhgWjOol3TkIKkj6Q7zQM1VKMTNY+k78HcPi4K 22B58iZMSxCOqV+q2T3BTrpD945914gzXt8MpUf91wfYxlA5Xm1z3erln5IZjA5V RE1/UrYarx91aDzfTm8zJoxI6PCbvO8e7zBolbn5ZXNprmvq9ozijXMsC2AiRJhp mUbx5Oxy1qNevY0fZKTZo9iXXTE+jSLEMUj8wdTAOiCTsXTwHlovvUUpY+Hwpub+ c+frev6WTv6D2k7Rxfvy75TxDI2WiuyFufB9knIBXcFHJcPlQ9X8Xo3v6WtqnIA8 ysOtfiCImfvSKmVsNuqWeFFdm4n8fjM= X-Virus-Scanned: amavisd-new at mykolab.com Received: from mx.kolabnow.com ([127.0.0.1]) by localhost (ext-mx-out002.mykolab.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NKXS-7_YE5ew for <36751@debbugs.gnu.org>; Sat, 3 Aug 2019 06:16:30 +0200 (CEST) Received: from int-mx001.mykolab.com (unknown [10.9.13.1]) by ext-mx-out002.mykolab.com (Postfix) with ESMTPS id A2E5C317 for <36751@debbugs.gnu.org>; Sat, 3 Aug 2019 06:16:30 +0200 (CEST) Received: from ext-subm001.mykolab.com (unknown [10.9.6.1]) by int-mx001.mykolab.com (Postfix) with ESMTPS id 10824E00 for <36751@debbugs.gnu.org>; Sat, 3 Aug 2019 06:16:30 +0200 (CEST) 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 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches I have squashed the fixup into the original commit and rebased on current master (82ebb785f178d8618d39b658932d23d9f859fc91). The resulting commit is attached. --- Joseph LaFreniere 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.patch create mode 100644 gnu/packages/patches/emacs-hyperbole-domainname.patch create mode 100644 gnu/packages/patches/emacs-hyperbole-toggle-messaging.patch 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)) +(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 GNU +Emacs package. It offers rapid views and interlinking of all kinds of textual +information, utilizing Emacs for editing. It can dramatically increase your +productivity and greatly reduce the number of keyboard/mouse keys you'll need +to work efficiently. Hyperbole lets you: + +@itemize +@item Quickly create hyperlink buttons either from the keyboard or by dragging +between a source and destination window with a mouse button depressed. Later, +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 within +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 outline. +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 embed +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 across +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) +-- +2.22.0 + diff --git a/gnu/packages/patches/emacs-hyperbole-domainname.patch b/gnu/packages/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." + + (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) +-- +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)))) + ++;;;###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’ and either ++adds hooks (nil value) or removes them (t value). ++ ++With optional prefix ARG > 0, enables support. If ARG <= 0, ++disables/inhibits support." ++ (interactive "P") ++ (setq inhibit-hyperbole-messaging (if (null arg) ++ (not inhibit-hyperbole-messaging) ++ (<= (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 news 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 added to `load-path' to fix."))) + +-;; 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’ and either +-adds hooks (nil value) or removes them (t value). +- +-With optional prefix ARG > 0, enables support. If ARG <= 0, +-disables/inhibits support." +- (interactive "P") +- (setq inhibit-hyperbole-messaging (if (null arg) +- (not inhibit-hyperbole-messaging) +- (<= (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) +-- +2.22.0 + -- 2.22.0