[PATCH] shells: Add elvish

  • Open
  • quality assurance status badge
Details
2 participants
  • aecepoglu
  • Leo Prikler
Owner
unassigned
Submitted by
aecepoglu
Severity
normal
A
A
aecepoglu wrote on 11 Jan 2021 19:23
(address . guix-patches@gnu.org)
20210111182343.2ranmmefi3xbbxsq@minitower
---
gnu/packages/shells.scm | 38 +++++++++++++++++++++++++++++++++++++-
1 file changed, 37 insertions(+), 1 deletion(-)

Toggle diff (59 lines)
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index 0b4edbe452..2866567f10 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -52,8 +52,9 @@
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)
#:use-module (gnu packages scheme)
- #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system cmake)
+ #:use-module (guix build-system copy)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (guix download)
@@ -97,6 +98,41 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).")
(license (list bsd-3
gpl2+)))) ; mksignames.c
+(define-public elvish
+ (package
+ (name "elvish")
+ (version "0.14.1")
+ (source (origin
+ (method url-fetch/tarbomb)
+ (uri (string-append "https://dl.elv.sh/linux-amd64/elvish-v"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "14ga1i32mr90lh4sn8n473bwc4kg5whhg9iqlqag5yj5agp1dx51"))))
+ (build-system copy-build-system)
+ (arguments
+ `(#:install-plan
+ `((,(string-append "elvish-v" ,version) "bin/elvish"))))
+ (home-page "https://elv.sh")
+ (synopsis "Interactive shell and an expressive programming language")
+ (description "
+It has support for:
+
+* Pipelines: Pipelines in Elvish can carry structured data,
+ not just text. You can stream lists, maps and even functions through the pipeline.
+
+* Intuitive Control Structures: Comes with a standard set of control structures:
+ conditional control with `if`, loops with `for` and `while`,
+ and exception handling with `try`. All of them have a familiar C-like syntax.
+* Directory History: Backed by a real database, it remembers all the directories
+ you have been to, all the time. Just press `Ctrl-L` and search,
+ as you do in a browser.
+* Command History: Press `Ctrl-R` and start searching your entire command history.
+* Build-in File Manager: Press `Ctrl-N` to start exploring directories
+ and preview files, with the full power of a shell still under your fingertip.")
+ (license license:bsd-2)))
+
(define-public fish
(package
(name "fish")
--
2.29.2
L
L
Leo Prikler wrote on 11 Jan 2021 21:42
(name . aecepoglu)(address . aecepoglu@fastmail.fm)(address . 45796@debbugs.gnu.org)
6a8e5f0f388f8d92a3109f0dfa6c85dcbed1408f.camel@student.tugraz.at
Hello,

Am Montag, den 11.01.2021, 21:23 +0300 schrieb aecepoglu:
Toggle quote (42 lines)
> ---
> gnu/packages/shells.scm | 38 +++++++++++++++++++++++++++++++++++++-
> 1 file changed, 37 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
> index 0b4edbe452..2866567f10 100644
> --- a/gnu/packages/shells.scm
> +++ b/gnu/packages/shells.scm
> @@ -52,8 +52,9 @@
> #:use-module (gnu packages python-xyz)
> #:use-module (gnu packages readline)
> #:use-module (gnu packages scheme)
> - #:use-module (guix build-system cmake)
> #:use-module (guix build-system gnu)
> + #:use-module (guix build-system cmake)
> + #:use-module (guix build-system copy)
> #:use-module (guix build-system python)
> #:use-module (guix build-system trivial)
> #:use-module (guix download)
> @@ -97,6 +98,41 @@ direct descendant of NetBSD's Almquist Shell
> (@command{ash}).")
> (license (list bsd-3
> gpl2+)))) ; mksignames.c
>
> +(define-public elvish
> + (package
> + (name "elvish")
> + (version "0.14.1")
> + (source (origin
> + (method url-fetch/tarbomb)
> + (uri (string-append "
> https://dl.elv.sh/linux-amd64/elvish-v"
> + version
> + ".tar.gz"))
> + (sha256
> + (base32
> + "14ga1i32mr90lh4sn8n473bwc4kg5whhg9iqlqag5yj5agp1dx51
> "))))
> + (build-system copy-build-system)
> + (arguments
> + `(#:install-plan
> + `((,(string-append "elvish-v" ,version) "bin/elvish"))))
Ehm, we're not really big on the downloading bizarre binaries business.
Perhaps you want to try building it from source [1] instead?
Toggle quote (26 lines)
> + (home-page "https://elv.sh")
> + (synopsis "Interactive shell and an expressive programming
> language")
> + (description "
> +It has support for:
> +
> +* Pipelines: Pipelines in Elvish can carry structured data,
> + not just text. You can stream lists, maps and even functions
> through the pipeline.
> +
> +* Intuitive Control Structures: Comes with a standard set of control
> structures:
> + conditional control with `if`, loops with `for` and `while`,
> + and exception handling with `try`. All of them have a familiar C-
> like syntax.
> +* Directory History: Backed by a real database, it remembers all the
> directories
> + you have been to, all the time. Just press `Ctrl-L` and search,
> + as you do in a browser.
> +* Command History: Press `Ctrl-R` and start searching your entire
> command history.
> +* Build-in File Manager: Press `Ctrl-N` to start exploring
> directories
> + and preview files, with the full power of a shell still under your
> fingertip.")
> + (license license:bsd-2)))
Try to shorten the description, especially cutting down on the
marketing lingo. Also use Texinfo markup where appropriate.

Regards,
Leo

?