unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#28327] [PATCH] gnu: Add emacs-bash-completion.
@ 2017-09-02  9:11 Jan Nieuwenhuizen
  2017-09-02  9:15 ` Jan Nieuwenhuizen
  2017-09-04 18:48 ` Alex Kost
  0 siblings, 2 replies; 6+ messages in thread
From: Jan Nieuwenhuizen @ 2017-09-02  9:11 UTC (permalink / raw)
  To: 28327

---
 gnu/packages/emacs.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 612126eb3..f6165ba54 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -59,6 +59,7 @@
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages)
   #:use-module (gnu packages audio)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages code)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages gtk)
@@ -5444,3 +5445,27 @@ key.  Optionally, a mouse pop-up can be added by binding
 version of Idris, and some features may rely on the latest Git version of
 Idris.")
     (license license:gpl3+)))
+
+(define-public emacs-batch-completion
+  (package
+    (name "emacs-bash-completion")
+    (version "20170901.1445")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "http://melpa.org/packages/bash-completion-"
+             version
+             ".tar"))
+       (sha256
+        (base32
+         "12ggygcfhny5sqq18zn6qyyqbh9314niywjagv9nclwxfa0i9pvr"))))
+    (native-inputs `(("bash" ,bash)))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/szermatt/emacs-bash-completion")
+    (synopsis "BASH completion for the shell buffer")
+    (description
+     "@code{bash-completion} defines dynamic completion hooks for shell-mode
+and shell-command prompts that are based on bash completion.
+")
+    (license license:gpl3+)))
-- 
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [bug#28327] [PATCH] gnu: Add emacs-bash-completion.
  2017-09-02  9:11 [bug#28327] [PATCH] gnu: Add emacs-bash-completion Jan Nieuwenhuizen
@ 2017-09-02  9:15 ` Jan Nieuwenhuizen
  2017-09-04 18:48 ` Alex Kost
  1 sibling, 0 replies; 6+ messages in thread
From: Jan Nieuwenhuizen @ 2017-09-02  9:15 UTC (permalink / raw)
  To: 28327

Jan Nieuwenhuizen writes:

> ---
>  gnu/packages/emacs.scm | 25 +++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)
>
> diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
> index 612126eb3..f6165ba54 100644
> --- a/gnu/packages/emacs.scm
> +++ b/gnu/packages/emacs.scm
> @@ -59,6 +59,7 @@
>    #:use-module (guix build-system trivial)
>    #:use-module (gnu packages)
>    #:use-module (gnu packages audio)
> +  #:use-module (gnu packages bash)
>    #:use-module (gnu packages code)
>    #:use-module (gnu packages guile)
>    #:use-module (gnu packages gtk)
> @@ -5444,3 +5445,27 @@ key.  Optionally, a mouse pop-up can be added by binding
>  version of Idris, and some features may rely on the latest Git version of
>  Idris.")
>      (license license:gpl3+)))
> +
> +(define-public emacs-batch-completion

Oops, I really meant to type `emacs-bash-completion' here.

> +  (package
> +    (name "emacs-bash-completion")
> +    (version "20170901.1445")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (string-append
> +             "http://melpa.org/packages/bash-completion-"
> +             version
> +             ".tar"))
> +       (sha256
> +        (base32
> +         "12ggygcfhny5sqq18zn6qyyqbh9314niywjagv9nclwxfa0i9pvr"))))
> +    (native-inputs `(("bash" ,bash)))
> +    (build-system emacs-build-system)
> +    (home-page "https://github.com/szermatt/emacs-bash-completion")
> +    (synopsis "BASH completion for the shell buffer")
> +    (description
> +     "@code{bash-completion} defines dynamic completion hooks for shell-mode
> +and shell-command prompts that are based on bash completion.
> +")
> +    (license license:gpl3+)))

-- 
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [bug#28327] [PATCH] gnu: Add emacs-bash-completion.
  2017-09-02  9:11 [bug#28327] [PATCH] gnu: Add emacs-bash-completion Jan Nieuwenhuizen
  2017-09-02  9:15 ` Jan Nieuwenhuizen
@ 2017-09-04 18:48 ` Alex Kost
  2017-09-06 17:52   ` Jan Nieuwenhuizen
  1 sibling, 1 reply; 6+ messages in thread
From: Alex Kost @ 2017-09-04 18:48 UTC (permalink / raw)
  To: Jan Nieuwenhuizen; +Cc: 28327

Jan Nieuwenhuizen (2017-09-02 11:11 +0200) wrote:

> ---
>  gnu/packages/emacs.scm | 25 +++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)
>
> diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
> index 612126eb3..f6165ba54 100644
> --- a/gnu/packages/emacs.scm
> +++ b/gnu/packages/emacs.scm
> @@ -59,6 +59,7 @@
>    #:use-module (guix build-system trivial)
>    #:use-module (gnu packages)
>    #:use-module (gnu packages audio)
> +  #:use-module (gnu packages bash)
>    #:use-module (gnu packages code)
>    #:use-module (gnu packages guile)
>    #:use-module (gnu packages gtk)
> @@ -5444,3 +5445,27 @@ key.  Optionally, a mouse pop-up can be added by binding
>  version of Idris, and some features may rely on the latest Git version of
>  Idris.")
>      (license license:gpl3+)))
> +
> +(define-public emacs-batch-completion
> +  (package
> +    (name "emacs-bash-completion")
> +    (version "20170901.1445")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (string-append
> +             "http://melpa.org/packages/bash-completion-"

Please use the source directly from the upstream, i.e.:

  https://github.com/szermatt/emacs-bash-completion/archive/v2.0.0.tar.gz

There is a problem with MELPA: when there will be a new commit in the
repo, the new melpa tarball will be generated and the previous one
("20170901.1445") will be *removed*, so this package will lose its
source.

> +             version
> +             ".tar"))

I wouldn't leave ‘version’ and ‘".tar"’ on separate lines, but it's a
matter of taste :-)

> +       (sha256
> +        (base32
> +         "12ggygcfhny5sqq18zn6qyyqbh9314niywjagv9nclwxfa0i9pvr"))))
> +    (native-inputs `(("bash" ,bash)))

You probably meant to make this package call this "bash" (btw it should
be 'input', not 'native-input') from store, but this is not enough.  You
also need to patch 'bash-completion-prog' variable using
'emacs-substitute-variables' procedure (see (gnu packages emacs) module
for the examples).

> +    (build-system emacs-build-system)
> +    (home-page "https://github.com/szermatt/emacs-bash-completion")
> +    (synopsis "BASH completion for the shell buffer")
> +    (description
> +     "@code{bash-completion} defines dynamic completion hooks for shell-mode
> +and shell-command prompts that are based on bash completion.
> +")

Please put this quote and parenthesis to the previous line.

> +    (license license:gpl3+)))

I see GPL 2 or later in "bash-completion.el".

-- 
Alex

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [bug#28327] [PATCH] gnu: Add emacs-bash-completion.
  2017-09-04 18:48 ` Alex Kost
@ 2017-09-06 17:52   ` Jan Nieuwenhuizen
  2017-09-09 19:44     ` Alex Kost
  0 siblings, 1 reply; 6+ messages in thread
From: Jan Nieuwenhuizen @ 2017-09-06 17:52 UTC (permalink / raw)
  To: Alex Kost; +Cc: 28327

[-- Attachment #1: Type: text/plain, Size: 2471 bytes --]

Alex Kost writes:

> Jan Nieuwenhuizen (2017-09-02 11:11 +0200) wrote:
>
>> ---
>>  gnu/packages/emacs.scm | 25 +++++++++++++++++++++++++
>>  1 file changed, 25 insertions(+)
> Please use the source directly from the upstream, i.e.:
>
>   https://github.com/szermatt/emacs-bash-completion/archive/v2.0.0.tar.gz

Ok!

> There is a problem with MELPA: when there will be a new commit in the
> repo, the new melpa tarball will be generated and the previous one
> ("20170901.1445") will be *removed*, so this package will lose its
> source.

Ugh...how reproducible!  I didn't know (or investigate...), thanks for
the explanation.

>> +             version
>> +             ".tar"))
>
> I wouldn't leave ‘version’ and ‘".tar"’ on separate lines, but it's a
> matter of taste :-)

I like your suggestion.

>> +       (sha256
>> +        (base32
>> +         "12ggygcfhny5sqq18zn6qyyqbh9314niywjagv9nclwxfa0i9pvr"))))
>> +    (native-inputs `(("bash" ,bash)))
>
> You probably meant to make this package call this "bash" (btw it should
> be 'input', not 'native-input') from store, but this is not enough.

Indeed.  It took me quite a while of debugging until I finally stumbled
upon bash-minimal.  Google had a very hard time telling me how complete
or compgen could not exist.

> You also need to patch 'bash-completion-prog' variable using
> 'emacs-substitute-variables' procedure (see (gnu packages emacs)
> module for the examples).

I have added something here and built package works and looks okay...

Because adding bash to (native-)inputs already made that
'emacs-substitute-variables' is set to bash instead of bash-minimal, I
don't really know how to test it.

>> +    (build-system emacs-build-system)
>> +    (home-page "https://github.com/szermatt/emacs-bash-completion")
>> +    (synopsis "BASH completion for the shell buffer")
>> +    (description
>> +     "@code{bash-completion} defines dynamic completion hooks for shell-mode
>> +and shell-command prompts that are based on bash completion.
>> +")
>
> Please put this quote and parenthesis to the previous line.

Ok.

>> +    (license license:gpl3+)))
>
> I see GPL 2 or later in "bash-completion.el".

I used guix import elpa --archive=melpa and didn't check.  It seems we
cannot rely on that!

New version attached, still 13 of the 30 lines were unchanged,
wow...thanks for all your helpful remarks!

Greetings,
janneke


[-- Attachment #2: 0001-gnu-Add-emacs-bash-completion.patch --]
[-- Type: text/x-patch, Size: 2456 bytes --]

From 14649caae21669adcc495b109b8d328f5b71c2e9 Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke@gnu.org>
Date: Sat, 2 Sep 2017 10:54:14 +0200
Subject: [PATCH] gnu: Add emacs-bash-completion.

* gnu/packages/emacs.scm (emacs-bash-completion): New variable.
---
 gnu/packages/emacs.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 9c0f9bc89..a4157a3db 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -59,6 +59,7 @@
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages)
   #:use-module (gnu packages audio)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages code)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages gtk)
@@ -5575,3 +5576,35 @@ It is meant to quickly generate linear ranges, e.g. 5, 6, 7, 8.  Some elisp
 proficiency is an advantage, since you can transform your numeric range with
 an elisp expression.")
   (license license:gpl3+)))
+
+(define-public emacs-bash-completion
+  (package
+   (name "emacs-bash-completion")
+   (version "2.0.0")
+   (source
+    (origin
+      (method url-fetch)
+      (uri (string-append
+            "https://github.com/szermatt/emacs-bash-completion/archive/v"
+            version ".tar.gz"))
+      (file-name (string-append name "-" version ".tar.gz"))
+      (sha256
+       (base32
+        "0mkci4a1fy8z4cmry8mx5vsx4f16a8r454slnh7lqzidnhfi63hj"))))
+   (inputs `(("bash" ,bash)))
+   (build-system emacs-build-system)
+   (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'install 'configure
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((bash (assoc-ref inputs "bash")))
+               (emacs-substitute-variables "bash-completion.el"
+                 ("bash-completion-prog" (string-append bash "/bin/bash"))))
+             #t)))))
+   (home-page "https://github.com/szermatt/emacs-bash-completion")
+   (synopsis "BASH completion for the shell buffer")
+   (description
+    "@code{bash-completion} defines dynamic completion hooks for shell-mode
+and shell-command prompts that are based on bash completion.")
+   (license license:gpl2+)))
-- 
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com


[-- Attachment #3: Type: text/plain, Size: 152 bytes --]


-- 
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [bug#28327] [PATCH] gnu: Add emacs-bash-completion.
  2017-09-06 17:52   ` Jan Nieuwenhuizen
@ 2017-09-09 19:44     ` Alex Kost
  2017-09-10 20:45       ` bug#28327: " Jan Nieuwenhuizen
  0 siblings, 1 reply; 6+ messages in thread
From: Alex Kost @ 2017-09-09 19:44 UTC (permalink / raw)
  To: Jan Nieuwenhuizen; +Cc: 28327

Jan Nieuwenhuizen (2017-09-06 19:52 +0200) wrote:

> Alex Kost writes:
[...]
>> You also need to patch 'bash-completion-prog' variable using
>> 'emacs-substitute-variables' procedure (see (gnu packages emacs)
>> module for the examples).
>
> I have added something here and built package works and looks okay...

Now it looks OK for me as well :-)

> Because adding bash to (native-)inputs already made that
> 'emacs-substitute-variables' is set to bash instead of bash-minimal, I
> don't really know how to test it.

I see that with your patch, 'bash-completion-prog' has the value
"/gnu/store/...-bash-4.4.12/bin/bash", so it is definitely 'bash'
('bash-minimal' has "/gnu/store/...-bash-minimal-4.4.12/bin/bash" name).

[...]
>>> +    (license license:gpl3+)))
>>
>> I see GPL 2 or later in "bash-completion.el".
>
> I used guix import elpa --archive=melpa and didn't check.  It seems we
> cannot rely on that!

We definitely shouldn't rely on it, as the importer always puts 'gpl3+':

  http://git.savannah.gnu.org/cgit/guix.git/tree/guix/import/elpa.scm#n234

> New version attached, still 13 of the 30 lines were unchanged,
> wow...thanks for all your helpful remarks!

The patch looks good for me, thank you!

-- 
Alex

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#28327: [PATCH] gnu: Add emacs-bash-completion.
  2017-09-09 19:44     ` Alex Kost
@ 2017-09-10 20:45       ` Jan Nieuwenhuizen
  0 siblings, 0 replies; 6+ messages in thread
From: Jan Nieuwenhuizen @ 2017-09-10 20:45 UTC (permalink / raw)
  To: Alex Kost; +Cc: 28327-done

Alex Kost writes:

>> I have added something here and built package works and looks okay...
>
> Now it looks OK for me as well :-)

Good!

> I see that with your patch, 'bash-completion-prog' has the value
> "/gnu/store/...-bash-4.4.12/bin/bash", so it is definitely 'bash'
> ('bash-minimal' has "/gnu/store/...-bash-minimal-4.4.12/bin/bash" name).

Also good, thanks for checking.

>> I used guix import elpa --archive=melpa and didn't check.  It seems we
>> cannot rely on that!
>
> We definitely shouldn't rely on it, as the importer always puts 'gpl3+':
>
>   http://git.savannah.gnu.org/cgit/guix.git/tree/guix/import/elpa.scm#n234

Great!

> The patch looks good for me, thank you!

Pushed to master as 4aafce22ab74007c69aecc474816d83e64d22646

janneke

-- 
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-09-10 20:46 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-02  9:11 [bug#28327] [PATCH] gnu: Add emacs-bash-completion Jan Nieuwenhuizen
2017-09-02  9:15 ` Jan Nieuwenhuizen
2017-09-04 18:48 ` Alex Kost
2017-09-06 17:52   ` Jan Nieuwenhuizen
2017-09-09 19:44     ` Alex Kost
2017-09-10 20:45       ` bug#28327: " Jan Nieuwenhuizen

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).