[-- Attachment #1: Type: text/plain, Size: 175 bytes --] Patch file is attached. As noted in the description, this package is not intended for use by end-users. Is there a convention for communicating that? -- Joseph LaFreniere [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0001-gnu-Add-emacs-pretty-hydra.patch --] [-- Type: text/x-patch, Size: 2046 bytes --] From 77d0cc7e5fbda5dc0aa36cc16f8ffac6ca8591ad Mon Sep 17 00:00:00 2001 From: Joseph LaFreniere <joseph@lafreniere.xyz> Date: Wed, 18 Mar 2020 20:59:49 -0500 Subject: [PATCH 1/2] gnu: Add emacs-pretty-hydra. * gnu/packages/emacs-xyz.scm (emacs-pretty-hydra): New variable. --- gnu/packages/emacs-xyz.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index a821bc7776..54728d7165 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -5576,6 +5576,40 @@ the Hydra very seamless; it's like a minor mode that disables itself automatically.") (license license:gpl3+))) +(define-public emacs-pretty-hydra + (package + (name "emacs-pretty-hydra") + (version "0.2.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jerrypnz/major-mode-hydra.el.git") + (commit version))) + (sha256 + (base32 + "08a15knkdq35pzjq82imff016fbfdib5q4glg2xmdy2b5fnk7jqa")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-hydra" ,emacs-hydra) + ("emacs-s" ,emacs-s) + ("emacs-dash" ,emacs-dash))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'add-source-to-load-path 'remove-pretty-hydra + (lambda* (#:key outputs #:allow-other-keys) + ;; major-mode-hydra is packaged separately. + (delete-file "major-mode-hydra.el") + #t))))) + (home-page "https://github.com/jerrypnz/major-mode-hydra.el") + (synopsis "Major mode keybindings managed by Hydra") + (description + "This package offers an hydra-based method of managing major +mode-specific key bindings. It is intended for use as a library only; see +package @code{emacs-major-mode-hydra} for a user-friendly interface.") + (license license:gpl3+))) + (define-public emacs-ivy (package (name "emacs-ivy") -- 2.25.1
[-- Attachment #1: Type: text/plain, Size: 46 bytes --] Patch file is attached. -- Joseph LaFreniere [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0002-gnu-Add-emacs-major-mode-hydra.patch --] [-- Type: text/x-patch, Size: 1671 bytes --] From 387c56eaf4efe773065175b5db0dda0dc24c8dba Mon Sep 17 00:00:00 2001 From: Joseph LaFreniere <joseph@lafreniere.xyz> Date: Wed, 18 Mar 2020 20:59:09 -0500 Subject: [PATCH 2/2] gnu: Add emacs-major-mode-hydra. * gnu/packages/emacs-xyz.scm (emacs-major-mode-hydra): New variable. gnu: Add emacs-major-mode-hydra. * gnu/packages/emacs-xyz.scm (emacs-major-mode-hydra): New variable. --- gnu/packages/emacs-xyz.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 54728d7165..74de919c80 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -5610,6 +5610,26 @@ mode-specific key bindings. It is intended for use as a library only; see package @code{emacs-major-mode-hydra} for a user-friendly interface.") (license license:gpl3+))) +(define-public emacs-major-mode-hydra + (package + (inherit emacs-pretty-hydra) + (name "emacs-major-mode-hydra") + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-pretty-hydra" ,emacs-pretty-hydra))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'add-source-to-load-path 'remove-pretty-hydra + (lambda* (#:key outputs #:allow-other-keys) + ;; pretty-hydra is provided by dependency. + (delete-file "pretty-hydra.el") + #t))))) + (synopsis "Create nice-looking hydras") + (description + "This package provides the macro @code{pretty-hydra-define} to define +hydras with one column per group of heads."))) + (define-public emacs-ivy (package (name "emacs-ivy") -- 2.25.1
Hello, "LaFreniere, Joseph" <joseph@lafreniere.xyz> writes: > Patch file is attached. Thank you. > As noted in the description, this package is not intended for use by > end-users. Is there a convention for communicating that? I think specifying it in the description is the correct way. > + (propagated-inputs > + `(("emacs-hydra" ,emacs-hydra) > + ("emacs-s" ,emacs-s) > + ("emacs-dash" ,emacs-dash))) Could you re-order them alphabetically? > + (arguments > + `(#:phases > + (modify-phases %standard-phases > + (add-before 'add-source-to-load-path 'remove-pretty-hydra > + (lambda* (#:key outputs #:allow-other-keys) > + ;; major-mode-hydra is packaged separately. > + (delete-file "major-mode-hydra.el") > + #t))))) You can use #:exclude keyword from the Emacs build system instead. Could you send an updated patch? Regards, -- Nicolas Goaziou
"LaFreniere, Joseph" <joseph@lafreniere.xyz> writes:
> + (arguments
> + `(#:phases
> + (modify-phases %standard-phases
> + (add-before 'add-source-to-load-path 'remove-pretty-hydra
> + (lambda* (#:key outputs #:allow-other-keys)
> + ;; pretty-hydra is provided by dependency.
> + (delete-file "pretty-hydra.el")
> + #t)))))
There, too, you may use #:exclude.
[-- Attachment #1: Type: text/plain, Size: 987 bytes --] Nicolas Goaziou <mail@nicolasgoaziou.fr> writes: >> As noted in the description, this package is not intended for >> use by >> end-users. Is there a convention for communicating that? > > I think specifying it in the description is the correct way. Noted. >> + (propagated-inputs >> + `(("emacs-hydra" ,emacs-hydra) >> + ("emacs-s" ,emacs-s) >> + ("emacs-dash" ,emacs-dash))) > > Could you re-order them alphabetically? Done. >> + (arguments >> + `(#:phases >> + (modify-phases %standard-phases >> + (add-before 'add-source-to-load-path >> 'remove-pretty-hydra >> + (lambda* (#:key outputs #:allow-other-keys) >> + ;; major-mode-hydra is packaged separately. >> + (delete-file "major-mode-hydra.el") >> + #t))))) > > You can use #:exclude keyword from the Emacs build system > instead. Thanks for the tip! > Could you send an updated patch? Patch file is attached. -- Joseph LaFreniere [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0001-gnu-Add-emacs-pretty-hydra.patch --] [-- Type: text/x-patch, Size: 1798 bytes --] From bd33f91c6d1b69d9951e9c338b36c92328eb3555 Mon Sep 17 00:00:00 2001 From: Joseph LaFreniere <joseph@lafreniere.xyz> Date: Wed, 18 Mar 2020 20:59:49 -0500 Subject: [PATCH 1/2] gnu: Add emacs-pretty-hydra. * gnu/packages/emacs-xyz.scm (emacs-pretty-hydra): New variable. --- gnu/packages/emacs-xyz.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 1ea3155807..50eec6d516 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -5486,6 +5486,34 @@ the Hydra very seamless; it's like a minor mode that disables itself automatically.") (license license:gpl3+))) +(define-public emacs-pretty-hydra + (package + (name "emacs-pretty-hydra") + (version "0.2.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jerrypnz/major-mode-hydra.el.git") + (commit version))) + (sha256 + (base32 + "08a15knkdq35pzjq82imff016fbfdib5q4glg2xmdy2b5fnk7jqa")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-hydra" ,emacs-hydra) + ("emacs-s" ,emacs-s))) + (arguments + `(#:exclude (cons "^major-mode-hydra\\.el" %default-exclude))) + (home-page "https://github.com/jerrypnz/major-mode-hydra.el") + (synopsis "Major mode keybindings managed by Hydra") + (description + "This package offers an hydra-based method of managing major +mode-specific key bindings. It is intended for use as a library only; see +package @code{emacs-major-mode-hydra} for a user-friendly interface.") + (license license:gpl3+))) + (define-public emacs-ivy (package (name "emacs-ivy") -- 2.25.1
[-- Attachment #1: Type: text/plain, Size: 555 bytes --] Nicolas Goaziou <mail@nicolasgoaziou.fr> writes: >> + (arguments >> + `(#:phases >> + (modify-phases %standard-phases >> + (add-before 'add-source-to-load-path >> 'remove-pretty-hydra >> + (lambda* (#:key outputs #:allow-other-keys) >> + ;; pretty-hydra is provided by dependency. >> + (delete-file "pretty-hydra.el") >> + #t))))) > > There, too, you may use #:exclude. New patch file implemented with #:exclude is attached. Thank you very much for reviewing. -- Joseph LaFreniere [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0002-gnu-Add-emacs-major-mode-hydra.patch --] [-- Type: text/x-patch, Size: 1424 bytes --] From 5ec5117c0cda5c69d3210a93243c060ea2930c5a Mon Sep 17 00:00:00 2001 From: Joseph LaFreniere <joseph@lafreniere.xyz> Date: Wed, 18 Mar 2020 20:59:09 -0500 Subject: [PATCH 2/2] gnu: Add emacs-major-mode-hydra. * gnu/packages/emacs-xyz.scm (emacs-major-mode-hydra): New variable. gnu: Add emacs-major-mode-hydra. * gnu/packages/emacs-xyz.scm (emacs-major-mode-hydra): New variable. --- gnu/packages/emacs-xyz.scm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 50eec6d516..7056f0227b 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -5514,6 +5514,20 @@ mode-specific key bindings. It is intended for use as a library only; see package @code{emacs-major-mode-hydra} for a user-friendly interface.") (license license:gpl3+))) +(define-public emacs-major-mode-hydra + (package + (inherit emacs-pretty-hydra) + (name "emacs-major-mode-hydra") + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-pretty-hydra" ,emacs-pretty-hydra))) + (arguments + `(#:exclude (cons "^pretty-hydra\\.el" %default-exclude))) + (synopsis "Create nice-looking hydras") + (description + "This package provides the macro @code{pretty-hydra-define} to define +hydras with one column per group of heads."))) + (define-public emacs-ivy (package (name "emacs-ivy") -- 2.25.1
Any updates on this? -- Joseph LaFreniere
Hello,
"LaFreniere, Joseph" <joseph@lafreniere.xyz> writes:
> Any updates on this?
Uh? Did I miss your updated patch?
Would you mind sending it again?
Regards,
--
Nicolas Goaziou
[-- Attachment #1: Type: text/plain, Size: 188 bytes --] Nicolas Goaziou <mail@nicolasgoaziou.fr> writes: > Uh? Did I miss your updated patch? > > Would you mind sending it again? No problem. :) Patch file is attached. -- Joseph LaFreniere [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0001-gnu-Add-emacs-pretty-hydra.patch --] [-- Type: text/x-patch, Size: 1798 bytes --] From bd33f91c6d1b69d9951e9c338b36c92328eb3555 Mon Sep 17 00:00:00 2001 From: Joseph LaFreniere <joseph@lafreniere.xyz> Date: Wed, 18 Mar 2020 20:59:49 -0500 Subject: [PATCH 1/2] gnu: Add emacs-pretty-hydra. * gnu/packages/emacs-xyz.scm (emacs-pretty-hydra): New variable. --- gnu/packages/emacs-xyz.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 1ea3155807..50eec6d516 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -5486,6 +5486,34 @@ the Hydra very seamless; it's like a minor mode that disables itself automatically.") (license license:gpl3+))) +(define-public emacs-pretty-hydra + (package + (name "emacs-pretty-hydra") + (version "0.2.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jerrypnz/major-mode-hydra.el.git") + (commit version))) + (sha256 + (base32 + "08a15knkdq35pzjq82imff016fbfdib5q4glg2xmdy2b5fnk7jqa")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-hydra" ,emacs-hydra) + ("emacs-s" ,emacs-s))) + (arguments + `(#:exclude (cons "^major-mode-hydra\\.el" %default-exclude))) + (home-page "https://github.com/jerrypnz/major-mode-hydra.el") + (synopsis "Major mode keybindings managed by Hydra") + (description + "This package offers an hydra-based method of managing major +mode-specific key bindings. It is intended for use as a library only; see +package @code{emacs-major-mode-hydra} for a user-friendly interface.") + (license license:gpl3+))) + (define-public emacs-ivy (package (name "emacs-ivy") -- 2.25.1
[-- Attachment #1: Type: text/plain, Size: 411 bytes --] LaFreniere, Joseph <joseph@lafreniere.xyz> writes: > Nicolas Goaziou <mail@nicolasgoaziou.fr> writes: >> Uh? Did I miss your updated patch? >> >> Would you mind sending it again? > > No problem. :) > > Patch file is attached. It's been a few months, so I've reviewed and pushed what I think were the most up to date patches. They're on master as of 90eb5dd6b5989eeb5350c785036c53469496e394. Thanks, Chris [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 987 bytes --]