summaryrefslogtreecommitdiff
path: root/gnu/packages/shells.scm
diff options
context:
space:
mode:
authorNicolas Goaziou <mail@nicolasgoaziou.fr>2021-02-13 11:13:17 +0100
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2021-02-13 11:51:07 +0100
commitc63db588272eb03657486d37942d8362ac491f4d (patch)
tree00f591a969e40f69c16ea1c36a1c49145e2ce7c2 /gnu/packages/shells.scm
parent0f2e8e94f16c6f71f4b27bf20bf3c9c4acea6d0a (diff)
gnu: Add nushell.
* gnu/packages/shells.scm (nushell): New variable.
Diffstat (limited to 'gnu/packages/shells.scm')
-rw-r--r--gnu/packages/shells.scm88
1 files changed, 88 insertions, 0 deletions
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index 6bd77d29dc..03a094945c 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -39,8 +39,10 @@
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
+ #:use-module (gnu packages compression)
#:use-module (gnu packages crates-graphics)
#:use-module (gnu packages crates-io)
+ #:use-module (gnu packages curl)
#:use-module (gnu packages documentation)
#:use-module (gnu packages groff)
#:use-module (gnu packages guile)
@@ -54,8 +56,12 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages rust)
#:use-module (gnu packages rust-apps)
#:use-module (gnu packages scheme)
+ #:use-module (gnu packages tls)
+ #:use-module (gnu packages version-control)
+ #:use-module (gnu packages xorg)
#:use-module (guix build-system cargo)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
@@ -931,6 +937,88 @@ Underpinning these utilities are many Scheme interfaces for manipulating
files and text.")
(license license:gpl3+)))
+(define-public nushell
+ ;; Regular 0.26.0 release has an issue with rust-sysinfo. Use a later
+ ;; commit including the patches fixing it.
+ (let ((commit "30833468844eca336e24e02c3304a0245b5760b5")
+ (revision "0"))
+ (package
+ (name "nushell")
+ (version (git-version "0.26.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nushell/nushell.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "19miwximiqh9j7cjh2f72c38a06d0zvd9fxa7m8aaz8cbcmnsrjp"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:rust ,rust-1.47
+ #:tests? #false ;missing files
+ #:features '("extra")
+ #:cargo-inputs
+ (("rust-clap" ,rust-clap-2)
+ ("rust-ctrlc" ,rust-ctrlc-3)
+ ("rust-futures" ,rust-futures-0.3)
+ ("rust-itertools" ,rust-itertools-0.10)
+ ("rust-log" ,rust-log-0.4)
+ ("rust-nu-cli" ,rust-nu-cli-0.26)
+ ("rust-nu-command" ,rust-nu-command-0.26)
+ ("rust-nu-data" ,rust-nu-data-0.26)
+ ("rust-nu-engine" ,rust-nu-engine-0.26)
+ ("rust-nu-errors" ,rust-nu-errors-0.26)
+ ("rust-nu-parser" ,rust-nu-parser-0.26)
+ ("rust-nu-plugin" ,rust-nu-plugin-0.26)
+ ("rust-nu-protocol" ,rust-nu-protocol-0.26)
+ ("rust-nu-source" ,rust-nu-source-0.26)
+ ("rust-nu-value-ext" ,rust-nu-value-ext-0.26)
+ ("rust-nu-plugin-binaryview" ,rust-nu-plugin-binaryview-0.26)
+ ("rust-nu-plugin-chart" ,rust-nu-plugin-chart-0.26)
+ ("rust-nu-plugin-fetch" ,rust-nu-plugin-fetch-0.26)
+ ("rust-nu-plugin-from-bson" ,rust-nu-plugin-from-bson-0.26)
+ ("rust-nu-plugin-from-sqlite" ,rust-nu-plugin-from-sqlite-0.26)
+ ("rust-nu-plugin-inc" ,rust-nu-plugin-inc-0.26)
+ ("rust-nu-plugin-match" ,rust-nu-plugin-match-0.26)
+ ("rust-nu-plugin-post" ,rust-nu-plugin-post-0.26)
+ ("rust-nu-plugin-ps" ,rust-nu-plugin-ps-0.26)
+ ("rust-nu-plugin-s3" ,rust-nu-plugin-s3-0.26)
+ ("rust-nu-plugin-selector" ,rust-nu-plugin-selector-0.26)
+ ("rust-nu-plugin-start" ,rust-nu-plugin-start-0.26)
+ ("rust-nu-plugin-sys" ,rust-nu-plugin-sys-0.26)
+ ("rust-nu-plugin-textview" ,rust-nu-plugin-textview-0.26)
+ ("rust-nu-plugin-to-bson" ,rust-nu-plugin-to-bson-0.26)
+ ("rust-nu-plugin-to-sqlite" ,rust-nu-plugin-to-sqlite-0.26)
+ ("rust-nu-plugin-tree" ,rust-nu-plugin-tree-0.26)
+ ("rust-nu-plugin-xpath" ,rust-nu-plugin-xpath-0.26)
+ ("rust-pretty-env-logger" ,rust-pretty-env-logger-0.4))
+ #:cargo-development-inputs
+ (("rust-dunce" ,rust-dunce-1)
+ ("rust-nu-test-support" ,rust-nu-test-support-0.26))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("python" ,python)))
+ (inputs
+ `(("curl" ,curl)
+ ("libgit2" ,libgit2)
+ ("libx11" ,libx11)
+ ("libxcb" ,libxcb)
+ ("openssl" ,openssl)
+ ("zlib" ,zlib)))
+ (home-page "https://www.nushell.sh")
+ (synopsis "Shell that understands the structure of the data")
+ (description
+ "Nu draws inspiration from projects like PowerShell, functional
+programming languages, and modern CLI tools. Rather than thinking of files
+and services as raw streams of text, Nu looks at each input as something with
+structure. For example, when you list the contents of a directory, what you
+get back is a table of rows, where each row represents an item in that
+directory. These values can be piped through a series of steps, in a series
+of commands called a ``pipeline''.")
+ (license license:expat))))
+
(define-public rust-nu-cli-0.26
(package
(name "rust-nu-cli")