diff mbox series

[bug#42525,1/2] gnu: Add emacs-pretty-hydra.

Message ID 87o8o4gxk9.fsf@odyssey.lafreniere.xyz
State New
Headers show
Series [bug#42525,1/2] gnu: Add emacs-pretty-hydra. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job

Commit Message

Joseph LaFreniere July 25, 2020, 2:04 a.m. UTC
Patch file is attached.  Note that `guix lint` reports "the source 
file name should contain the package name";  I'm not sure how to 
resolve that.

--
Joseph LaFreniere

Comments

Oleg Pykhalov July 25, 2020, 1:20 p.m. UTC | #1
Hi Joseph,

Joseph LaFreniere <joseph@lafreniere.xyz> writes:

> Patch file is attached.  Note that `guix lint` reports "the source file name
> should contain the package name";  I'm not sure how to resolve that.

You could fix this by providing a ‘(file-name (git-file-name name
version))’ as in other Emacs packages.

[…]

> * gnu/packages/emacs-xyz.scm (emacs-pretty-hydra): New variable.
> ---
>  gnu/packages/emacs-xyz.scm | 56 ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 56 insertions(+)
>
> diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
> index 55afda50df..147c6b476b 100644
> --- a/gnu/packages/emacs-xyz.scm
> +++ b/gnu/packages/emacs-xyz.scm
> @@ -649,6 +649,34 @@ process, passing on the arguments as command line arguments.")
>         "Magit-annex adds a few git-annex operations to the Magit interface.")
>        (license license:gpl3+))))
>  
> +(define-public emacs-pretty-hydra
> +  (package
> +    ...
> +    (arguments
> +     `(#:install '("^pretty-hydra\\.el$")))

'emacs-build-system' handles '*.el' files, unless you exclude them with
the recipe bellow.  :-)

[…]


The following duplicates emacs-pretty-hydra above.

> +(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)))

As I see there is no reason to exclude or include '*.el'.


Also could you take a look on running a test suite?

Thanks,
Oleg.
Nicolas Goaziou July 26, 2020, 2:04 p.m. UTC | #2
Hello,

Joseph LaFreniere <joseph@lafreniere.xyz> writes:

> Patch file is attached.

Thank you.

> Note that `guix lint` reports "the source file name should contain the
> package name"; I'm not sure how to resolve that.

You are missing a

  (file-name (git-file-name name version))

expression in `origin'.

> +(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")
> +             (commit version)))
> +       (sha256
> +        (base32
> +         "08a15knkdq35pzjq82imff016fbfdib5q4glg2xmdy2b5fnk7jqa"))))

Nitpick: please move the string on the same line as `base32'.

> +    (build-system emacs-build-system)

There are some tests using ert-runner. Could you try to enable them?

> +    (propagated-inputs
> +     `(("emacs-dash" ,emacs-dash)
> +       ("emacs-hydra" ,emacs-hydra)
> +       ("emacs-s" ,emacs-s)))
> +    (arguments
> +     `(#:install '("^pretty-hydra\\.el$")))
> +    (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-minions
>    (package
>      (name "emacs-minions")
> @@ -6148,6 +6176,34 @@ them easier to distinguish from other, less important buffers.")
>  for Ivy and Company that make use of the library.")
>      (license license:expat)))
>  
> +(define-public emacs-pretty-hydra

You added the package twice.

Could you send an updated patch?

Regards,
diff mbox series

Patch

From 512be2f3fd8cfcaa6014bcfa63f635c66135a05f Mon Sep 17 00:00:00 2001
From: Joseph LaFreniere <joseph@lafreniere.xyz>
Date: Sat, 18 Jul 2020 12:49:15 -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 | 56 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 55afda50df..147c6b476b 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -649,6 +649,34 @@  process, passing on the arguments as command line arguments.")
        "Magit-annex adds a few git-annex operations to the Magit interface.")
       (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")
+             (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
+     `(#:install '("^pretty-hydra\\.el$")))
+    (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-minions
   (package
     (name "emacs-minions")
@@ -6148,6 +6176,34 @@  them easier to distinguish from other, less important buffers.")
 for Ivy and Company that make use of the library.")
     (license license:expat)))
 
+(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-selectrum
   (package
     (name "emacs-selectrum")
-- 
2.27.0