| 1 | |
| 2 | |
| 3 | |
| 4 | |
| 5 | |
| 6 | |
| 7 | |
| 8 | |
| 9 | |
| 10 | |
| 11 | |
| 12 | |
| 13 | |
| 14 | |
| 15 | |
| 16 | |
| 17 | |
| 18 | |
| 19 |
|
| 20 | (define-module (gnu packages nushell)
|
| 21 | #:use-module (gnu packages c)
|
| 22 | #:use-module (gnu packages compression)
|
| 23 | #:use-module (gnu packages pkg-config)
|
| 24 | #:use-module (gnu packages sqlite)
|
| 25 | #:use-module (gnu packages ssh)
|
| 26 | #:use-module (gnu packages tls)
|
| 27 | #:use-module (gnu packages version-control)
|
| 28 | #:use-module (guix build-system cargo)
|
| 29 | #:use-module (guix download)
|
| 30 | #:use-module (guix gexp)
|
| 31 | #:use-module ((guix licenses) #:prefix license:)
|
| 32 | #:use-module (guix packages))
|
| 33 |
|
| 34 |
|
| 35 | (define-public nushell
|
| 36 | (package
|
| 37 | (name "nushell")
|
| 38 | (version "0.103.0")
|
| 39 | (source
|
| 40 | (origin
|
| 41 | (method url-fetch)
|
| 42 | (uri (crate-uri "nu" version))
|
| 43 | (file-name (string-append name "-" version ".tar.gz"))
|
| 44 | (sha256
|
| 45 | (base32 "1hpriinxjpwy4v99dd52gayhc2h3kmzkryzm5arm081kwaw33ay8"))))
|
| 46 | (build-system cargo-build-system)
|
| 47 | (arguments
|
| 48 | `(#:cargo-test-flags
|
| 49 | '("--"
|
| 50 | "--skip=path::canonicalize::canonicalize_tilde"
|
| 51 | "--skip=path::canonicalize::canonicalize_tilde_relative_to"
|
| 52 | "--skip=plugin_persistence"
|
| 53 | "--skip=plugins"
|
| 54 | "--skip=repl")
|
| 55 | |
| 56 | #:install-source? #f))
|
| 57 | (native-inputs (list pkg-config))
|
| 58 | (inputs (cons* mimalloc openssl sqlite (cargo-inputs 'nushell)))
|
| 59 | (home-page "https://www.nushell.sh")
|
| 60 | (synopsis "Shell with a structured approach to the command line")
|
| 61 | (description
|
| 62 | "Nu draws inspiration from projects like PowerShell, functional
|
| 63 | programming languages, and modern CLI tools. Rather than thinking of files
|
| 64 | and services as raw streams of text, Nu looks at each input as something with
|
| 65 | structure. For example, when you list the contents of a directory, what you
|
| 66 | get back is a table of rows, where each row represents an item in that
|
| 67 | directory. These values can be piped through a series of steps, in a series
|
| 68 | of commands called a ``pipeline''.")
|
| 69 | (license license:expat)))
|
| 70 |
|
| 71 | |
| 72 | |
| 73 |
|
| 74 | (define-public nu-plugin-formats
|
| 75 | (package
|
| 76 | (name "nu-plugin-formats")
|
| 77 | (version "0.103.0")
|
| 78 | (source
|
| 79 | (origin
|
| 80 | (method url-fetch)
|
| 81 | (uri (crate-uri "nu_plugin_formats" version))
|
| 82 | (file-name (string-append name "-" version ".tar.gz"))
|
| 83 | (sha256
|
| 84 | (base32 "1v05w0kc77q431lbr2vnm8za4p3psj9zykkz2r5bydkzbk8frvkz"))))
|
| 85 | (build-system cargo-build-system)
|
| 86 | (arguments
|
| 87 | `(#:install-source? #f))
|
| 88 | (inputs (cargo-inputs 'nu-plugin-formats))
|
| 89 | (home-page
|
| 90 | "https://github.com/nushell/nushell/tree/main/crates/nu_plugin_formats")
|
| 91 | (synopsis "An I/O plugin for a set of file formats for Nushell")
|
| 92 | (description
|
| 93 | "This package provides An I/O plugin for a set of file formats for Nushell.")
|
| 94 | (license license:expat)))
|
| 95 |
|
| 96 | (define-public nu-plugin-inc
|
| 97 | (package
|
| 98 | (name "nu-plugin-inc")
|
| 99 | (version "0.103.0")
|
| 100 | (source
|
| 101 | (origin
|
| 102 | (method url-fetch)
|
| 103 | (uri (crate-uri "nu_plugin_inc" version))
|
| 104 | (file-name (string-append name "-" version ".tar.gz"))
|
| 105 | (sha256
|
| 106 | (base32 "1s7s1h1ffz72mv703a9gsi77hl7rsqkfxq7vhxqrz5p0cwh7fviw"))))
|
| 107 | (build-system cargo-build-system)
|
| 108 | (arguments
|
| 109 | `(#:install-source? #f))
|
| 110 | (inputs (cargo-inputs 'nu-plugin-inc))
|
| 111 | (home-page
|
| 112 | "https://github.com/nushell/nushell/tree/main/crates/nu_plugin_inc")
|
| 113 | (synopsis "Version incrementer plugin for Nushell")
|
| 114 | (description
|
| 115 | "This package provides a version incrementer plugin for Nushell.")
|
| 116 | (license license:expat)))
|
| 117 |
|
| 118 | (define-public nu-plugin-gstat
|
| 119 | (package
|
| 120 | (name "nu-plugin-gstat")
|
| 121 | (version "0.103.0")
|
| 122 | (source
|
| 123 | (origin
|
| 124 | (method url-fetch)
|
| 125 | (uri (crate-uri "nu_plugin_gstat" version))
|
| 126 | (file-name (string-append name "-" version ".tar.gz"))
|
| 127 | (sha256
|
| 128 | (base32 "0ys9n9hw1sh3m7j9nd7cr4whr0s3piiz5jpzghcpbi9frslgzbhf"))))
|
| 129 | (build-system cargo-build-system)
|
| 130 | (arguments
|
| 131 | `(#:install-source? #f))
|
| 132 | (native-inputs (list pkg-config))
|
| 133 | (inputs
|
| 134 | (cons* libgit2-1.9 libssh2 openssl zlib (cargo-inputs 'nu-plugin-gstat)))
|
| 135 | (home-page
|
| 136 | "https://github.com/nushell/nushell/tree/main/crates/nu_plugin_gstat")
|
| 137 | (synopsis "Git status plugin for Nushell")
|
| 138 | (description "This package provides a git status plugin for Nushell.")
|
| 139 | (license license:expat)))
|