Message ID | 20210111182343.2ranmmefi3xbbxsq@minitower |
---|---|
State | New |
Headers | show |
Series | [bug#45796] shells: Add elvish | expand |
Context | Check | Description |
---|---|---|
cbaines/comparison | success | View comparision |
cbaines/git branch | success | View Git branch |
cbaines/applying patch | success | View Laminar job |
cbaines/issue | success | View issue |
Hello, Am Montag, den 11.01.2021, 21:23 +0300 schrieb aecepoglu: > --- > 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? > + (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 [1] https://github.com/elves/elvish
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")