diff mbox series

[bug#37365] - Amendment: Enable tests

Message ID 87k1ad2p45.fsf@rekahsoft.ca
State Accepted
Headers show
Series [bug#37365] - Amendment: Enable tests | expand

Commit Message

Collin J. Doering Sept. 12, 2019, 9:15 p.m. UTC
Hi Efraim,

Firstly, thanks for taking the time to review this. I have attached
updated patches with your suggested changes.

On 11 Sep 2019 at 03:37, Efraim Flashner wrote:

> These should be two patches, the first one to add the ruby package and
> the second to add the zsh package.

Makes sense.

>
>> +         (replace 'install
>> +           (lambda* (#:key outputs #:allow-other-keys)
>> +             (let* ((out (assoc-ref outputs "out"))
>> +                    (install-path (string-append out "/share/zsh/plugins/zsh-autosuggestions")))
>> +               (mkdir-p install-path)
>> +               (invoke "make" "all")
>> +               (copy-file "zsh-autosuggestions.zsh" (string-append install-path "/zsh-autosuggestions.zsh"))
>> +               #t))))))
>
> I don't use zsh so I'm asking without knowing anything about the
> directory structure, is %out/share/zsh/plugins/zsh-autosuggestions the
> correct folder? The only folder I currently have after zsh is
> site-functions.
>
> (ins)efraim@E5400 ~$ tree .guix-profile/share/zsh/
> .guix-profile/share/zsh/
>  site-functions
>      _mpv -> /gnu/store/acrlmdnmrkivbdrry756pf9grsx2x814-mpv-0.29.1/share/zsh/site-functions/_mpv
>      _vifm -> /gnu/store/1l9b676paigfc3fx9r8h6h2k5d33wrhk-vifm-0.10.1/share/zsh/site-functions/_vifm
>      _wgetpaste -> /gnu/store/k5g3fa3i59yxy3n9vf8lm1nfbz5whq2i-wgetpaste-2.29/share/zsh/site-functions/_wgetpaste

I did some more looking into this (as I just copied what I saw done for
a few zsh plugin packages for archlinux). The directories you list above
(namely .../'share/zsh/site-functions/_...') are for zsh site-functions (begin
with an underscore) and not plugins that extend the functionality of zsh
(which will have to be sourced from the users `~/.zshrc`). Something
like this should do:

source ~/.guix-profile/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh

Anyways, I think that `.../share/zsh/plugins/<plugin_name>/...` is a
good place for this (and any other zsh plugins). WDYT?

Finally, you will find an updated patch set attached to this email that
includes splitting the ruby package out into its own patch, as well as
minor touch up to be more consistent with naming throughout the rest of
the guix code base.

Kind regards,

Comments

Efraim Flashner Sept. 13, 2019, 12:47 p.m. UTC | #1
Patches pushed with some small changes.
diff mbox series

Patch

From 2497a3b3337b72ac932a0edad9c0729325a69870 Mon Sep 17 00:00:00 2001
From: "Collin J. Doering" <collin@rekahsoft.ca>
Date: Thu, 12 Sep 2019 17:09:07 -0400
Subject: [PATCH 2/2] gnu: Add zsh-autosuggestions

* gnu/packages/shellutils.scm (zsh-autosuggestions): New variable.

Signed-off-by: Collin J. Doering <collin@rekahsoft.ca>
---
 gnu/packages/shellutils.scm | 48 +++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/gnu/packages/shellutils.scm b/gnu/packages/shellutils.scm
index f7542ea759..847cd931b3 100644
--- a/gnu/packages/shellutils.scm
+++ b/gnu/packages/shellutils.scm
@@ -5,6 +5,7 @@ 
 ;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
+;;; Copyright © 2019 Collin J. Doering <collin@rekahsoft.ca>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -33,11 +34,58 @@ 
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages ruby)
+  #:use-module (gnu packages tmux)
+  #:use-module (gnu packages shells)
   #:use-module (guix utils)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system go)
   #:use-module (guix build-system python))
 
+(define-public zsh-autosuggestions
+  (package
+    (name "zsh-autosuggestions")
+    (version "0.6.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/zsh-users/zsh-autosuggestions.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1h8h2mz9wpjpymgl2p7pc146c1jgb3dggpvzwm9ln3in336wl95c"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("tmux" ,tmux)
+       ("zsh" ,zsh)
+       ("ruby" ,ruby)
+       ("ruby-rspec" ,ruby-rspec)
+       ("ruby-rspec-wait" ,ruby-rspec-wait)
+       ("ruby-pry" ,ruby-pry)
+       ("ruby-byebug" ,ruby-byebug)))
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (replace 'check ; Tests use ruby's bundler; instead execute rspec directly
+           (lambda _
+             (setenv "TMUX_TMPDIR" (getenv "TMPDIR"))
+             (setenv "SHELL" (which "zsh"))
+             (invoke "rspec")))
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (zsh-plugins (string-append out "/share/zsh/plugins/zsh-autosuggestions")))
+               (invoke "make" "all")
+               (install-file "zsh-autosuggestions.zsh" zsh-plugins)
+               #t))))))
+    (synopsis "Fish-like autosuggestions for zsh")
+    (description
+     "Fish-like fast/unobtrusive autosuggestions for zsh.  It suggests commands as you type.")
+    (home-page "https://github.com/zsh-users/zsh-autosuggestions.git")
+    (license license:expat)))
+
 (define-public envstore
   (package
     (name "envstore")
-- 
2.23.0