gnu: emacs-taxy-magit-section: Update to 0.11.
[jackhill/guix/guix.git] / gnu / packages / shells.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
3 ;;; Copyright © 2014, 2015 David Thompson <davet@gnu.org>
4 ;;; Copyright © 2014 Kevin Lemonnier <lemonnierk@ulrar.net>
5 ;;; Copyright © 2015 Jeff Mickey <j@codemac.net>
6 ;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr>
7 ;;; Copyright © 2016 Stefan Reichör <stefan@xsteve.at>
8 ;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
9 ;;; Copyright © 2017, 2018 Nikita <nikita@n0.is>
10 ;;; Copyright © 2017, 2018 Leo Famulari <leo@famulari.name>
11 ;;; Copyright © 2017, 2021 Arun Isaac <arunisaac@systemreboot.net>
12 ;;; Copyright © 2019 Meiyo Peng <meiyo.peng@gmail.com>
13 ;;; Copyright © 2019 Timothy Sample <samplet@ngyro.com>
14 ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
15 ;;; Copyright © 2019, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
16 ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
17 ;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
18 ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
19 ;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org>
20 ;;; Copyright © 2021, 2022 Nicolas Goaziou <mail@nicolasgoaziou.fr>
21 ;;; Copyright © 2021, 2022 Felix Gruber <felgru@posteo.net>
22 ;;; Copyright © 2022 Andrew Tropin <andrew@trop.in>
23 ;;;
24 ;;; This file is part of GNU Guix.
25 ;;;
26 ;;; GNU Guix is free software; you can redistribute it and/or modify it
27 ;;; under the terms of the GNU General Public License as published by
28 ;;; the Free Software Foundation; either version 3 of the License, or (at
29 ;;; your option) any later version.
30 ;;;
31 ;;; GNU Guix is distributed in the hope that it will be useful, but
32 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
33 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
34 ;;; GNU General Public License for more details.
35 ;;;
36 ;;; You should have received a copy of the GNU General Public License
37 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
38
39 (define-module (gnu packages shells)
40 #:use-module (gnu packages)
41 #:use-module (gnu packages autotools)
42 #:use-module (gnu packages base)
43 #:use-module (gnu packages bash)
44 #:use-module (gnu packages bison)
45 #:use-module (gnu packages compression)
46 #:use-module (gnu packages crates-graphics)
47 #:use-module (gnu packages crates-io)
48 #:use-module (gnu packages curl)
49 #:use-module (gnu packages documentation)
50 #:use-module (gnu packages groff)
51 #:use-module (gnu packages guile)
52 #:use-module (gnu packages libbsd)
53 #:use-module (gnu packages libedit)
54 #:use-module (gnu packages linux)
55 #:use-module (gnu packages ncurses)
56 #:use-module (gnu packages pcre)
57 #:use-module (gnu packages perl)
58 #:use-module (gnu packages pkg-config)
59 #:use-module (gnu packages python)
60 #:use-module (gnu packages python-build)
61 #:use-module (gnu packages python-xyz)
62 #:use-module (gnu packages readline)
63 #:use-module (gnu packages rust)
64 #:use-module (gnu packages rust-apps)
65 #:use-module (gnu packages scheme)
66 #:use-module (gnu packages tls)
67 #:use-module (gnu packages version-control)
68 #:use-module (gnu packages xdisorg)
69 #:use-module (gnu packages xorg)
70 #:use-module (gnu packages texinfo)
71 #:use-module (guix build-system cargo)
72 #:use-module (guix build-system cmake)
73 #:use-module (guix build-system gnu)
74 #:use-module (guix build-system meson)
75 #:use-module (guix build-system python)
76 #:use-module (guix build-system trivial)
77 #:use-module (guix download)
78 #:use-module (guix git-download)
79 #:use-module (guix gexp)
80 #:use-module ((guix licenses) #:prefix license:)
81 #:use-module (guix packages)
82 #:use-module (guix utils))
83
84 (define-public dash
85 (package
86 (name "dash")
87 (version "0.5.11.5")
88 (source
89 (origin
90 (method url-fetch)
91 (uri (string-append "http://gondor.apana.org.au/~herbert/dash/files/"
92 "dash-" version ".tar.gz"))
93 (sha256
94 (base32 "1g93w4lpn3jfwn2gaq17a1lxdig11x0j7gr9byc3fy8zi4882xyv"))
95 (modules '((guix build utils)))
96 (snippet
97 '(begin
98 ;; The man page hails from BSD, where (d)ash is the default shell.
99 ;; This isn't the case on Guix or indeed most other GNU systems.
100 (substitute* "src/dash.1"
101 (("the standard command interpreter for the system")
102 "a command interpreter based on the original Bourne shell"))
103 #t))))
104 (build-system gnu-build-system)
105 (inputs
106 (list libedit))
107 (arguments
108 '(#:configure-flags '("--with-libedit")))
109 (home-page "http://gondor.apana.org.au/~herbert/dash")
110 (synopsis "POSIX-compliant shell optimised for size")
111 (description
112 "dash is a POSIX-compliant @command{/bin/sh} implementation that aims to be
113 as small as possible, often without sacrificing speed. It is faster than the
114 GNU Bourne-Again Shell (@command{bash}) at most scripted tasks. dash is a
115 direct descendant of NetBSD's Almquist Shell (@command{ash}).")
116 (license (list license:bsd-3
117 license:gpl2+)))) ; mksignames.c
118
119 (define-public fish
120 (package
121 (name "fish")
122 (version "3.5.1")
123 (source
124 (origin
125 (method url-fetch)
126 (uri (string-append "https://github.com/fish-shell/fish-shell/"
127 "releases/download/" version "/"
128 "fish-" version ".tar.xz"))
129 (sha256
130 (base32 "0a39vf0wqq6asw5xcrwgdsc67h5bxkgxzy77f8bx6pd4qlympm56"))
131 (modules '((guix build utils)))
132 (snippet
133 '(begin
134 ;; Remove bundled software.
135 (delete-file-recursively "pcre2")))))
136 (build-system cmake-build-system)
137 (inputs
138 (list fish-foreign-env ncurses pcre2 ; don't use the bundled PCRE2
139 python)) ; for fish_config and manpage completions
140 (native-inputs
141 (list doxygen groff ; for 'fish --help'
142 procps)) ; for the test suite
143 (arguments
144 '(#:phases
145 (modify-phases %standard-phases
146 (add-after 'unpack 'set-env
147 (lambda _
148 ;; some tests write to $HOME
149 (setenv "HOME" (getcwd))
150 #t))
151 (add-after 'unpack 'patch-tests
152 (lambda* (#:key inputs #:allow-other-keys)
153 (let ((coreutils (assoc-ref inputs "coreutils"))
154 (bash (assoc-ref inputs "bash")))
155 ;; This test sporadically fails in the build container
156 ;; because of leftover zombie processes, which are not
157 ;; reaped automatically:
158 ;; "Found existing zombie processes. Clean up zombies before running this test."
159 ;; Disabling parallel tests does not reliably prevent it.
160 (delete-file "tests/checks/jobs.fish")
161 ;; This test fails.
162 (delete-file "tests/checks/pipeline-pgroup.fish")
163 ;; This one tries to open a terminal & can't simply be deleted.
164 (substitute* "cmake/Tests.cmake"
165 ((".* interactive\\.fish.*") ""))
166 ;; This one needs to chdir successfully.
167 (substitute* "tests/checks/vars_as_commands.fish"
168 (("/usr/bin") "/tmp"))
169 ;; These contain absolute path references.
170 (substitute* "src/fish_tests.cpp"
171 (("/bin/echo" echo) (string-append coreutils echo))
172 (("/bin/ca" ca) (string-append coreutils ca))
173 (("\"(/bin/c)\"" _ c) (string-append "\"" coreutils c "\""))
174 (("/bin/ls_not_a_path" ls-not-a-path)
175 (string-append coreutils ls-not-a-path))
176 (("/bin/ls" ls) (string-append coreutils ls))
177 (("(/bin/)\"" _ bin) (string-append coreutils bin "\""))
178 (("/bin -" bin) (string-append coreutils bin))
179 (((string-append
180 "do_test\\(is_potential_path\\("
181 "L\"/usr\", wds, vars, PATH_REQUIRE_DIR\\)\\);"))
182 "")
183 ;; Not all mentions of /usr... need to exist, but these do.
184 (("\"/usr(|/lib)\"" _ subdirectory)
185 (string-append "\"/tmp" subdirectory "\"")))
186 (substitute*
187 (append (find-files "tests" ".*\\.(in|out|err)$")
188 (find-files "tests/checks" ".*\\.fish"))
189 (("/bin/pwd" pwd) (string-append coreutils pwd))
190 (("/bin/echo" echo) (string-append coreutils echo))
191 (("/bin/sh" sh) (string-append bash sh))
192 (("/bin/ls" ls) (string-append coreutils ls)))
193 (substitute* (find-files "tests" ".*\\.(in|out|err)$")
194 (("/usr/bin") (string-append coreutils "/bin")))
195 #t)))
196 ;; Source /etc/fish/config.fish from $__fish_sysconf_dir/config.fish.
197 (add-after 'patch-tests 'patch-fish-config
198 (lambda _
199 (let ((port (open-file "etc/config.fish" "a")))
200 (display (string-append
201 "\n\n"
202 "# Patched by Guix.\n"
203 "# Source /etc/fish/config.fish.\n"
204 "if test -f /etc/fish/config.fish\n"
205 " source /etc/fish/config.fish\n"
206 "end\n")
207 port)
208 (close-port port))
209 #t))
210 ;; Embed absolute paths.
211 (add-before 'install 'embed-absolute-paths
212 (lambda _
213 (substitute* "share/functions/__fish_print_help.fish"
214 (("nroff") (which "nroff")))
215 #t))
216 ;; Enable completions, functions and configurations in user's and
217 ;; system's guix profiles by adding them to __extra_* variables.
218 (add-before 'install 'patch-fish-extra-paths
219 (lambda _
220 (let ((port (open-file "share/__fish_build_paths.fish" "a")))
221 (display
222 (string-append
223 "\n\n"
224 "# Patched by Guix.\n"
225 "# Enable completions, functions and configurations in user's"
226 " and system's guix profiles by adding them to __extra_*"
227 " variables.\n"
228 "set -l __guix_profile_paths ~/.guix-profile"
229 " /run/current-system/profile\n"
230 "set __extra_completionsdir"
231 " $__guix_profile_paths\"/etc/fish/completions\""
232 " $__guix_profile_paths\"/share/fish/vendor_completions.d\""
233 " $__extra_completionsdir\n"
234 "set __extra_functionsdir"
235 " $__guix_profile_paths\"/etc/fish/functions\""
236 " $__guix_profile_paths\"/share/fish/vendor_functions.d\""
237 " $__extra_functionsdir\n"
238 "set __extra_confdir"
239 " $__guix_profile_paths\"/etc/fish/conf.d\""
240 " $__guix_profile_paths\"/share/fish/vendor_conf.d\""
241 " $__extra_confdir\n")
242 port)
243 (close-port port))
244 #t))
245 ;; Use fish-foreign-env to source /etc/profile.
246 (add-before 'install 'source-etc-profile
247 (lambda* (#:key inputs #:allow-other-keys)
248 (let ((port (open-file "share/__fish_build_paths.fish" "a")))
249 (display
250 (string-append
251 "\n\n"
252 "# Patched by Guix.\n"
253 "# Use fish-foreign-env to source /etc/profile.\n"
254 "if status is-login\n"
255 " set fish_function_path "
256 (assoc-ref inputs "fish-foreign-env") "/share/fish/functions"
257 " $__fish_datadir/functions\n"
258 " fenv source /etc/profile\n"
259 " set -e fish_function_path\n"
260 "end\n")
261 port)
262 (close-port port))
263 #t)))))
264 (synopsis "The friendly interactive shell")
265 (description
266 "Fish (friendly interactive shell) is a shell focused on interactive use,
267 discoverability, and friendliness. Fish has very user-friendly and powerful
268 tab-completion, including descriptions of every completion, completion of
269 strings with wildcards, and many completions for specific commands. It also
270 has extensive and discoverable help. A special @command{help} command gives
271 access to all the fish documentation in your web browser. Other features
272 include smart terminal handling based on terminfo, an easy to search history,
273 and syntax highlighting.")
274 (home-page "https://fishshell.com/")
275 (license license:gpl2)))
276
277 (define-public fish-foreign-env
278 (package
279 (name "fish-foreign-env")
280 (version "0.20190116")
281 (source
282 (origin
283 (method git-fetch)
284 (uri (git-reference
285 (url "https://github.com/oh-my-fish/plugin-foreign-env")
286 (commit "dddd9213272a0ab848d474d0cbde12ad034e65bc")))
287 (file-name (git-file-name name version))
288 (sha256
289 (base32 "00xqlyl3lffc5l0viin1nyp819wf81fncqyz87jx8ljjdhilmgbs"))))
290 (build-system trivial-build-system)
291 (arguments
292 '(#:modules ((guix build utils))
293 #:builder
294 (begin
295 (use-modules (guix build utils))
296 (let* ((source (assoc-ref %build-inputs "source"))
297 (out (assoc-ref %outputs "out"))
298 (func-path (string-append out "/share/fish/functions")))
299 (mkdir-p func-path)
300 (copy-recursively (string-append source "/functions")
301 func-path)
302
303 ;; Embed absolute paths.
304 (substitute* `(,(string-append func-path "/fenv.fish")
305 ,(string-append func-path "/fenv.apply.fish")
306 ,(string-append func-path "/fenv.main.fish"))
307 (("bash")
308 (search-input-file %build-inputs "/bin/bash"))
309 (("sed")
310 (search-input-file %build-inputs "/bin/sed"))
311 ((" tr ")
312 (string-append " "
313 (search-input-file %build-inputs "/bin/tr")
314 " ")))))))
315 (inputs
316 (list bash coreutils sed))
317 (home-page "https://github.com/oh-my-fish/plugin-foreign-env")
318 (synopsis "Foreign environment interface for fish shell")
319 (description "@code{fish-foreign-env} wraps bash script execution in a way
320 that environment variables that are exported or modified get imported back
321 into fish.")
322 (license license:expat)))
323
324 (define-public rc
325 (package
326 (name "rc")
327 (version "1.7.4")
328 (source (origin
329 (method git-fetch)
330 (uri (git-reference
331 (url "https://github.com/rakitzis/rc")
332 (commit (string-append "v" version))))
333 (sha256
334 (base32
335 "0vj1h4pcg13vxsiydmmk87dr2sra9h4gwx0c4q6fjsiw4in78rrd"))
336 (file-name (git-file-name name version))))
337 (build-system gnu-build-system)
338 (arguments
339 `(#:configure-flags
340 '("--with-edit=gnu")
341 #:phases
342 (modify-phases %standard-phases
343 (add-before 'bootstrap 'patch-trip.rc
344 (lambda _
345 (substitute* "trip.rc"
346 (("/bin/pwd") (which "pwd"))
347 (("/bin/sh") (which "sh"))
348 (("/bin/rm") (which "rm"))
349 (("/bin\\)") (string-append (dirname (which "rm")) ")")))
350 #t)))))
351 (inputs (list readline perl))
352 (native-inputs (list autoconf automake libtool pkg-config))
353 (synopsis "Alternative implementation of the rc shell by Byron Rakitzis")
354 (description
355 "This is a reimplementation by Byron Rakitzis of the Plan 9 shell. It
356 has a small feature set similar to a traditional Bourne shell.")
357 (home-page "https://github.com/rakitzis/rc")
358 (license license:zlib)))
359
360 (define-public es
361 (package
362 (name "es")
363 (version "0.9.2")
364 (source
365 (origin
366 (method url-fetch/tarbomb)
367 (uri (string-append "https://github.com/wryun/es-shell/releases/"
368 "download/v" version "/es-" version ".tar.gz"))
369 (sha256
370 (base32 "1pgmqhsk14wyvl489sxdy7kdl2gwrsq1xvkip0z90kh888mlh9n9"))
371 (file-name (string-append name "-" version ".tar.gz"))))
372 (build-system gnu-build-system)
373 (arguments
374 (list #:test-target "test"))
375 (inputs
376 (list readline))
377 (native-inputs
378 (list bison))
379 (synopsis "Extensible shell with higher-order functions")
380 (description
381 "Es is an extensible shell. The language was derived from the Plan 9
382 shell, rc, and was influenced by functional programming languages, such as
383 Scheme, and the Tcl embeddable programming language. This implementation is
384 derived from Byron Rakitzis's public domain implementation of rc, and was
385 written by Paul Haahr and Byron Rakitzis.")
386 (home-page "https://wryun.github.io/es-shell/")
387 (license license:public-domain)))
388
389 (define-public tcsh
390 (package
391 (name "tcsh")
392 (version "6.22.03")
393 (source (origin
394 (method url-fetch)
395 ;; Old tarballs are moved to old/.
396 (uri (list (string-append "ftp://ftp.astron.com/pub/tcsh/"
397 "tcsh-" version ".tar.gz")
398 (string-append "ftp://ftp.astron.com/pub/tcsh/"
399 "old/tcsh-" version ".tar.gz")))
400 (sha256
401 (base32
402 "1dv24bsp6faayinvwds092ylk9sb6894rl9ddm87y31a7mjzsb5y"))
403 (patches (search-patches "tcsh-fix-autotest.patch"))
404 (patch-flags '("-p0"))))
405 (build-system gnu-build-system)
406 (native-inputs
407 (list autoconf perl))
408 (inputs
409 (list ncurses))
410 (arguments
411 `(#:phases
412 (modify-phases %standard-phases
413 ,@(if (%current-target-system)
414 '((add-before 'configure 'set-cross-cc
415 (lambda _
416 (substitute* "configure"
417 (("CC_FOR_GETHOST=\"cc\"")
418 "CC_FOR_GETHOST=\"gcc\""))
419 #t)))
420 '())
421 (add-before 'check 'patch-test-scripts
422 (lambda _
423 ;; Take care of pwd
424 (substitute* '("tests/commands.at" "tests/variables.at")
425 (("/bin/pwd") (which "pwd")))
426 (substitute* "Makefile"
427 ;; Likewise for /usr/bin/env.
428 (("/usr/bin/env") "env")
429 ;; Don't reset the environment (PATH, etc).
430 (("\\$\\(ENVCMD\\) -") "$(ENVCMD)"))
431 ;; This test does not expect the home directory from
432 ;; /etc/passwd to be '/'.
433 (substitute* "tests/subst.at"
434 (("\\$\\(id -un\\)/foo")
435 "$(id -un)//foo"))
436 ;; The .at files create shell scripts without shebangs. Erk.
437 (substitute* "tests/commands.at"
438 (("./output.sh") "/bin/sh output.sh"))
439 (substitute* "tests/syntax.at"
440 (("; other_script.csh") "; /bin/sh other_script.csh"))
441 ;; Now, let's generate the test suite and patch it
442 (invoke "make" "tests/testsuite")
443
444 ;; This file is ISO-8859-1 encoded.
445 (with-fluids ((%default-port-encoding #f))
446 (substitute* "tests/testsuite"
447 (("/bin/sh") (which "sh"))))
448 #t))
449 (add-after 'install 'post-install
450 (lambda* (#:key inputs outputs #:allow-other-keys)
451 (let* ((out (assoc-ref %outputs "out"))
452 (bin (string-append out "/bin")))
453 (with-directory-excursion bin
454 (symlink "tcsh" "csh"))
455 #t))))))
456 (home-page "https://www.tcsh.org/")
457 (synopsis "Unix shell based on csh")
458 (description
459 "Tcsh is an enhanced, but completely compatible version of the Berkeley
460 UNIX C shell (csh). It is a command language interpreter usable both as an
461 interactive login shell and a shell script command processor. It includes a
462 command-line editor, programmable word completion, spelling correction, a
463 history mechanism, job control and a C-like syntax.")
464 (license license:bsd-4)))
465
466 (define-public zsh
467 (package
468 (name "zsh")
469 (version "5.8.1")
470 (source (origin
471 (method url-fetch)
472 (uri (list (string-append
473 "https://www.zsh.org/pub/zsh-" version
474 ".tar.xz")
475 (string-append
476 "https://www.zsh.org/pub/old/zsh-" version
477 ".tar.xz")))
478 (sha256
479 (base32
480 "06crvpqbpm8sq5c215f4b985z7npwnqnj0i0g53hnq6fp8h3b5xn"))))
481 (build-system gnu-build-system)
482 (arguments `(#:configure-flags
483 `("--with-tcsetpgrp"
484 "--enable-pcre"
485 "--enable-maildir-support"
486 ;; share/zsh/site-functions isn't populated
487 "--disable-site-fndir"
488 ,(string-append
489 "--enable-additional-fpath="
490 "/usr/local/share/zsh/site-functions," ; for foreign OS
491 "/run/current-system/profile/share/zsh/site-functions"))
492 #:phases
493 (modify-phases %standard-phases
494 (add-before 'configure 'fix-sh
495 (lambda _
496 ;; Some of the files are ISO-8859-1 encoded.
497 (with-fluids ((%default-port-encoding #f))
498 (substitute*
499 '("configure"
500 "configure.ac"
501 "Src/exec.c"
502 "Src/mkmakemod.sh"
503 "Config/installfns.sh"
504 "Config/defs.mk.in"
505 "Test/E01options.ztst"
506 "Test/A05execution.ztst"
507 "Test/A01grammar.ztst"
508 "Test/A06assign.ztst"
509 "Test/B02typeset.ztst"
510 "Completion/Unix/Command/_init_d"
511 "Util/preconfig")
512 (("/bin/sh") (which "sh"))))))
513 (add-before 'check 'patch-test
514 (lambda _
515 ;; In Zsh, `command -p` searches a predefined set of
516 ;; paths that don't exist in the build environment. See
517 ;; the assignment of 'path' in Src/init.c'
518 (substitute* "Test/A01grammar.ztst"
519 (("command -pv") "command -v")
520 (("command -p") "command ")
521 (("'command' -p") "'command' "))))
522 (add-after 'build 'make-info
523 (lambda _ (invoke "make" "info")))
524 (add-after 'build 'install-info
525 (lambda _ (invoke "make" "install.info"))))))
526 (native-inputs (list autoconf texinfo))
527 (inputs (list ncurses pcre perl))
528 (synopsis "Powerful shell for interactive use and scripting")
529 (description "The Z shell (zsh) is a Unix shell that can be used
530 as an interactive login shell and as a powerful command interpreter
531 for shell scripting. Zsh can be thought of as an extended Bourne shell
532 with a large number of improvements, including some features of bash,
533 ksh, and tcsh.")
534 (home-page "https://www.zsh.org/")
535
536 ;; The whole thing is under an MIT/X11-style license, but there's one
537 ;; command, 'Completion/Unix/Command/_darcs', which is under GPLv2+.
538 (license license:gpl2+)))
539
540 (define-public xonsh
541 (package
542 (name "xonsh")
543 (version "0.13.3")
544 (source
545 (origin
546 (method url-fetch)
547 (uri (pypi-uri "xonsh" version))
548 (sha256
549 (base32
550 "154s4lbda3n8kamiyblfrv8isn3hnqyxw2k99qicyfll02chpjzl"))
551 (modules '((guix build utils)))
552 (snippet
553 #~(begin
554 (substitute* "setup.py"
555 (("\"xonsh\\.ply\\.ply\",") ""))
556 ;; Use our properly packaged PLY instead.
557 (substitute* (list "setup.py"
558 "tests/test_lexer.py"
559 "xonsh/lexer.py"
560 "xonsh/parsers/base.py"
561 "xonsh/parsers/completion_context.py"
562 "xonsh/xonfig.py")
563 (("from xonsh\\.ply\\.(.*) import" _ module)
564 (format #f "from ~a import" module))
565 (("from xonsh\\.ply import") "import"))
566 #t))))
567 (build-system python-build-system)
568 (arguments
569 (list ;; TODO Try running run the test suite.
570 ;; See 'requirements-tests.txt' in the source distribution for more
571 ;; information.
572 #:tests? #f
573 #:phases
574 #~(modify-phases %standard-phases
575 (replace 'install
576 (lambda* (#:key outputs #:allow-other-keys)
577 (let* ((out (assoc-ref outputs "out")))
578 (invoke "python" "-m" "compileall"
579 "--invalidation-mode=unchecked-hash" out)
580 (invoke "python" "setup.py" "install" "--root=/"
581 (string-append "--prefix=" out))))))))
582 (native-inputs
583 (list python-setuptools ;needed at build time
584 python-wheel))
585 (inputs
586 (list python-distro
587 python-ply
588 python-pygments
589 python-pyperclip
590 python-setproctitle))
591 (home-page "https://xon.sh/")
592 (synopsis "Python-ish shell")
593 (description
594 "Xonsh is a Python-ish, BASHwards-looking shell language and command
595 prompt. The language is a superset of Python 3.4+ with additional shell
596 primitives that you are used to from Bash and IPython. It works on all major
597 systems including Linux, Mac OSX, and Windows. Xonsh is meant for the daily
598 use of experts and novices alike.")
599 (license license:bsd-2)))
600
601 (define-public scsh
602 (let ((commit "114432435e4eadd54334df6b37fcae505079b49f")
603 (revision "1"))
604 (package
605 (name "scsh")
606 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
607 (source
608 (origin
609 (method git-fetch)
610 (uri (git-reference
611 (url "https://github.com/scheme/scsh")
612 (commit commit)))
613 (file-name (string-append name "-" version "-checkout"))
614 (sha256
615 (base32
616 "1ghk08akiz7hff1pndi8rmgamgcrn2mv9asbss9l79d3c2iaav3q"))))
617 (build-system gnu-build-system)
618 (arguments
619 `(#:test-target "test"
620 #:phases
621 (modify-phases %standard-phases
622 (add-before 'configure 'replace-rx
623 (lambda* (#:key inputs #:allow-other-keys)
624 (let* ((rx (assoc-ref inputs "scheme48-rx"))
625 (rxpath (string-append rx "/share/scheme48-"
626 ,(package-version scheme48)
627 "/rx")))
628 (delete-file-recursively "rx")
629 (symlink rxpath "rx"))
630 #t)))))
631 (inputs
632 (list scheme48 scheme48-rx))
633 (native-inputs
634 (list autoconf automake))
635 (home-page "https://github.com/scheme/scsh")
636 (synopsis "Unix shell embedded in Scheme")
637 (description
638 "Scsh is a Unix shell embedded in Scheme. Scsh has two main
639 components: a process notation for running programs and setting up pipelines
640 and redirections, and a complete syscall library for low-level access to the
641 operating system.")
642 (license license:bsd-3))))
643
644 (define-public linenoise
645 (let ((commit "2105ce445821381cf1bca87b6d386d4ea88ee20d")
646 (revision "1"))
647 (package
648 (name "linenoise")
649 (version (string-append "1.0-" revision "." (string-take commit 7)))
650 (source
651 (origin
652 (method git-fetch)
653 (uri (git-reference
654 (url "https://github.com/antirez/linenoise")
655 (commit commit)))
656 (file-name (string-append name "-" version "-checkout"))
657 (sha256
658 (base32
659 "1z16qwix8z6a40fskdgxsibkqgdrp4q6ncp4n6hnv4r9iihy2d8r"))))
660 (build-system gnu-build-system)
661 (arguments
662 `(#:tests? #f ; no tests are included
663 #:make-flags
664 (list ,(string-append "CC=" (cc-for-target)))
665 #:phases
666 (modify-phases %standard-phases
667 (delete 'configure)
668 (replace 'install
669 (lambda* (#:key outputs #:allow-other-keys)
670 ;; At the moment there is no 'make install' in upstream.
671 (let* ((out (assoc-ref outputs "out")))
672 (install-file "linenoise.h"
673 (string-append out "/include/linenoise"))
674 (install-file "linenoise.c"
675 (string-append out "/include/linenoise"))
676 #t))))))
677 (home-page "https://github.com/antirez/linenoise")
678 (synopsis "Minimal zero-config readline replacement")
679 (description
680 "Linenoise is a minimal, zero-config, readline replacement.
681 Its features include:
682
683 @enumerate
684 @item Single and multi line editing mode with the usual key bindings
685 @item History handling
686 @item Completion
687 @item Hints (suggestions at the right of the prompt as you type)
688 @item A subset of VT100 escapes, ANSI.SYS compatible
689 @end enumerate\n")
690 (license license:bsd-2))))
691
692 (define-public s-shell
693 (let ((commit "da2e5c20c0c5f477ec3426dc2584889a789b1659")
694 (revision "2"))
695 (package
696 (name "s-shell")
697 (version (git-version "0.0.0" revision commit))
698 (source
699 (origin
700 (method git-fetch)
701 (uri (git-reference
702 (url "https://github.com/rain-1/s")
703 (commit commit)))
704 (file-name (string-append name "-" version "-checkout"))
705 (sha256
706 (base32
707 "0qiny71ww5nhzy4mnc8652hn0mlxyb67h333gbdxp4j4qxsi13q4"))))
708 (build-system gnu-build-system)
709 (inputs
710 (list linenoise))
711 (arguments
712 `(#:tests? #f
713 #:make-flags (list "CC=gcc"
714 (string-append "PREFIX="
715 (assoc-ref %outputs "out")))
716 #:phases
717 (modify-phases %standard-phases
718 (add-after 'unpack 'install-directory-fix
719 (lambda* (#:key outputs #:allow-other-keys)
720 (let* ((out (assoc-ref outputs "out"))
721 (bin (string-append out "/bin")))
722 (substitute* "Makefile"
723 (("out") bin))
724 #t)))
725 (add-after 'install 'manpage
726 (lambda* (#:key outputs #:allow-other-keys)
727 (install-file "s.1" (string-append (assoc-ref outputs "out")
728 "/share/man/man1"))))
729 (replace 'configure
730 (lambda* (#:key inputs outputs #:allow-other-keys)
731 ;; At this point linenoise is meant to be included,
732 ;; so we have to really copy it into the working directory
733 ;; of s.
734 (let* ((linenoise (assoc-ref inputs "linenoise"))
735 (noisepath (string-append linenoise "/include/linenoise"))
736 (out (assoc-ref outputs "out")))
737 (copy-recursively noisepath "linenoise")
738 (substitute* "s.c"
739 (("/bin/s") (string-append out "/bin/s")))
740 #t))))))
741 (home-page "https://github.com/rain-1/s")
742 (synopsis "Extremely minimal shell with the simplest syntax possible")
743 (description
744 "S is a new shell that aims to be extremely simple. It does not
745 implement the POSIX shell standard.
746
747 There are no globs or \"splatting\" where a variable $FOO turns into multiple
748 command line arguments. One token stays one token forever.
749 This is a \"no surprises\" straightforward approach.
750
751 There are no redirection operators > in the shell language, they are added as
752 extra programs. > is just another unix command, < is essentially cat(1).
753 A @code{andglob} program is also provided along with s.")
754 (license license:bsd-3))))
755
756 (define-public oksh
757 (package
758 (name "oksh")
759 (version "0.5.9")
760 (source
761 (origin
762 (method url-fetch)
763 (uri (string-append "https://connochaetos.org/oksh/oksh-"
764 version ".tar.gz"))
765 (sha256
766 (base32
767 "0ln9yf6pxngsviqszv8klnnvn8vcpplvj1njdn8xr2y8frkbw8r3"))))
768 (build-system gnu-build-system)
769 (arguments
770 `(; The test files are not part of the distributed tarball.
771 #:tests? #f))
772 (home-page "https://connochaetos.org/oksh")
773 (synopsis "Port of OpenBSD Korn Shell")
774 (description
775 "Oksh is a port of the OpenBSD Korn Shell.
776 The OpenBSD Korn Shell is a cleaned up and enhanced ksh.")
777 (license license:gpl3+)))
778
779 (define-public loksh
780 (package
781 (name "loksh")
782 (version "6.9")
783 (source
784 (origin
785 (method git-fetch)
786 (uri (git-reference
787 (url "https://github.com/dimkr/loksh")
788 (commit version)
789 ;; Include the ‘lolibc’ submodule, a static compatibility library
790 ;; created for and currently used only by loksh.
791 (recursive? #t)))
792 (file-name (git-file-name name version))
793 (sha256
794 (base32 "0x33plxqhh5202hgqidgccz5hpg8d2q71ylgnm437g60mfi9z0px"))))
795 (build-system meson-build-system)
796 (inputs
797 (list ncurses))
798 (native-inputs
799 (list pkg-config))
800 (arguments
801 `(#:tests? #f)) ; no tests included
802 (home-page "https://github.com/dimkr/loksh")
803 (synopsis "Korn Shell from OpenBSD")
804 (description
805 "loksh is a Linux port of OpenBSD's @command{ksh}. It is a small,
806 interactive POSIX shell targeted at resource-constrained systems.")
807 ;; The file 'LEGAL' says it is the public domain, and the 2
808 ;; exceptions which are listed are not included in this port.
809 (license license:public-domain)))
810
811 (define-public mksh
812 (package
813 (name "mksh")
814 (version "59c")
815 (source
816 (origin
817 (method url-fetch)
818 (uri (string-append "https://www.mirbsd.org/MirOS/dist/mir/mksh/mksh-R"
819 version ".tgz"))
820 (sha256
821 (base32 "01n5ggw33bw4jv4d3148wlw9n4aj7vdn3ffnc66c9w9pldjidbkp"))))
822 (build-system gnu-build-system)
823 (arguments
824 `(#:tests? #f ; tests require access to /dev/tty
825 #:phases
826 (modify-phases %standard-phases
827 (delete 'configure)
828 (replace 'build
829 (lambda _
830 (setenv "CC" "gcc")
831 (invoke (which "sh") "Build.sh")))
832 (replace 'install
833 (lambda* (#:key outputs #:allow-other-keys)
834 (let* ((out (assoc-ref outputs "out"))
835 (bin (string-append out "/bin"))
836 (man (string-append out "/share/man/man1")))
837 (install-file "mksh" bin)
838 (with-directory-excursion bin
839 (symlink "mksh" "ksh"))
840 (install-file "mksh.1" man)))))))
841 (home-page "https://www.mirbsd.org/mksh.htm")
842 (synopsis "Korn Shell from MirBSD")
843 (description "mksh is an actively developed free implementation of the
844 Korn Shell programming language and a successor to the Public Domain Korn
845 Shell (pdksh).")
846 (license (list license:miros
847 license:isc)))) ; strlcpy.c
848
849 (define-public oil
850 (package
851 (name "oil")
852 (version "0.12.4")
853 (source
854 ;; oil's sources contain a modified version of CPython 2.7.13.
855 ;; According to https://www.oilshell.org/blog/2017/05/05.html
856 ;; this bundles version of CPython had certain unused parts removed
857 ;; and its build system has been replaced by a custom one.
858 ;; This would probably make it quite complicated to replace the
859 ;; bundled CPython with the one from the python2 package.
860 (origin
861 (method url-fetch)
862 (uri (string-append "https://www.oilshell.org/download/oil-"
863 version ".tar.gz"))
864 (sha256
865 (base32 "1ck59fs2mkid4d9fss6kplvv0aiimsr9m3gv75ckivb376sd8pmc"))))
866 (build-system gnu-build-system)
867 (arguments
868 (list #:strip-binaries? #f ; strip breaks the binary
869 #:phases
870 #~(modify-phases %standard-phases
871 (replace 'configure
872 (lambda _
873 (setenv "CC" #$(cc-for-target))
874 (substitute* "configure"
875 ((" cc ") " $CC "))
876 (invoke "./configure" (string-append "--prefix=" #$output)
877 "--with-readline")))
878 (replace 'check
879 ;; The tests are not distributed in the tarballs but upstream
880 ;; recommends running this smoke test.
881 ;; https://github.com/oilshell/oil/blob/release/0.8.0/INSTALL.txt#L38-L48
882 (lambda* (#:key tests? #:allow-other-keys)
883 (when tests?
884 (let* ((oil "_bin/oil.ovm"))
885 (invoke/quiet oil "osh" "-c" "echo hi")
886 (invoke/quiet oil "osh" "-n" "configure"))))))))
887 (inputs
888 (list readline))
889 (home-page "https://www.oilshell.org")
890 (synopsis "Programming language and Bash-compatible Unix shell")
891 (description "Oil is a programming language with automatic translation for
892 Bash. It includes osh, a Unix/POSIX shell that runs unmodified Bash
893 scripts.")
894 (license (list license:psfl ; tarball includes python2.7
895 license:asl2.0))))
896
897 (define-public gash
898 (package
899 (name "gash")
900 (version "0.2.0")
901 (source
902 (origin (method url-fetch)
903 (uri (string-append "mirror://savannah/gash/gash-"
904 version ".tar.gz"))
905 (sha256
906 (base32
907 "13m0yz5h9nj3x40mr6wr5xcpq1lscndfwcicw3skrz801025hhgf"))
908 (modules '((guix build utils)))
909 (snippet
910 '(begin
911 ;; Allow builds with Guile 3.0.
912 (substitute* "configure"
913 (("search=\"2\\.2 2\\.0\"")
914 "search=\"3.0 2.2 2.0\""))
915 #t))))
916 (build-system gnu-build-system)
917 (native-inputs
918 (list pkg-config))
919 (inputs
920 (list guile-3.0))
921 (arguments
922 '(#:make-flags '("XFAIL_TESTS=tests/redirects.org")))
923 (home-page "https://savannah.nongnu.org/projects/gash/")
924 (synopsis "POSIX-compatible shell written in Guile Scheme")
925 (description "Gash is a POSIX-compatible shell written in Guile
926 Scheme. It provides both the shell interface, as well as a Guile
927 library for parsing shell scripts. Gash is designed to bootstrap Bash
928 as part of the Guix bootstrap process.")
929 (license license:gpl3+)))
930
931 (define-public gash-utils
932 (package
933 (name "gash-utils")
934 (version "0.1.0")
935 (source (origin
936 (method url-fetch)
937 (uri (string-append "mirror://savannah/gash/gash-utils-"
938 version ".tar.gz"))
939 (sha256
940 (base32
941 "0ib2p52qmbac5n0s5bys4fiwim461ps546976l1n7pwbs0avh7fk"))
942 (patches (search-patches "gash-utils-ls-test.patch"))
943 (modules '((guix build utils)))
944 (snippet
945 '(begin
946 ;; Allow builds with Guile 3.0.
947 (substitute* "configure"
948 (("search=\"2\\.2 2\\.0\"")
949 "search=\"3.0 2.2 2.0\""))
950 #t))))
951 (build-system gnu-build-system)
952 (native-inputs
953 (list pkg-config))
954 (inputs
955 (list guile-3.0 gash))
956 (home-page "https://savannah.nongnu.org/projects/gash/")
957 (synopsis "Core POSIX utilities written in Guile Scheme")
958 (description "Gash-Utils provides Scheme implementations of many
959 common POSIX utilities (there are about 40 of them, ranging in
960 complexity from @command{false} to @command{awk}). The utilities are
961 designed to be capable of bootstrapping their standard GNU counterparts.
962 Underpinning these utilities are many Scheme interfaces for manipulating
963 files and text.")
964 (license license:gpl3+)))
965
966 (define-public nushell
967 (package
968 (name "nushell")
969 (version "0.44.0")
970 (source
971 (origin
972 (method git-fetch)
973 (uri (git-reference
974 (url "https://github.com/nushell/nushell")
975 (commit version)))
976 (file-name (git-file-name name version))
977 (sha256
978 (base32 "122jlc766v7rpfrz1jwi89sw6jmz7lfnhnr059fhy763fzcvph9c"))))
979 (build-system cargo-build-system)
980 (arguments
981 `(#:tests? #false ;missing files
982 #:features '("extra")
983 #:cargo-inputs
984 (("rust-ctrlc" ,rust-ctrlc-3)
985 ("rust-futures" ,rust-futures-0.3)
986 ("rust-itertools" ,rust-itertools-0.10)
987 ("rust-mp4" ,rust-mp4-0.9)
988 ("rust-nu-cli" ,rust-nu-cli-0.44)
989 ("rust-nu-command" ,rust-nu-command-0.44)
990 ("rust-nu-completion" ,rust-nu-completion-0.44)
991 ("rust-nu-data" ,rust-nu-data-0.44)
992 ("rust-nu-engine" ,rust-nu-engine-0.44)
993 ("rust-nu-errors" ,rust-nu-errors-0.44)
994 ("rust-nu-parser" ,rust-nu-parser-0.44)
995 ("rust-nu-path" ,rust-nu-path-0.44)
996 ("rust-nu-plugin" ,rust-nu-plugin-0.44)
997 ("rust-nu-protocol" ,rust-nu-protocol-0.44)
998 ("rust-nu-source" ,rust-nu-source-0.44)
999 ("rust-nu-value-ext" ,rust-nu-value-ext-0.44)
1000 ("rust-nu-plugin-binaryview" ,rust-nu-plugin-binaryview-0.44)
1001 ("rust-nu-plugin-chart" ,rust-nu-plugin-chart-0.44)
1002 ("rust-nu-plugin-from-bson" ,rust-nu-plugin-from-bson-0.44)
1003 ("rust-nu-plugin-from-sqlite" ,rust-nu-plugin-from-sqlite-0.44)
1004 ("rust-nu-plugin-inc" ,rust-nu-plugin-inc-0.44)
1005 ("rust-nu-plugin-match" ,rust-nu-plugin-match-0.44)
1006 ("rust-nu-plugin-query-json" ,rust-nu-plugin-query-json-0.44)
1007 ("rust-nu-plugin-s3" ,rust-nu-plugin-s3-0.44)
1008 ("rust-nu-plugin-selector" ,rust-nu-plugin-selector-0.44)
1009 ("rust-nu-plugin-start" ,rust-nu-plugin-start-0.44)
1010 ("rust-nu-plugin-textview" ,rust-nu-plugin-textview-0.44)
1011 ("rust-nu-plugin-to-bson" ,rust-nu-plugin-to-bson-0.44)
1012 ("rust-nu-plugin-to-sqlite" ,rust-nu-plugin-to-sqlite-0.44)
1013 ("rust-nu-plugin-tree" ,rust-nu-plugin-tree-0.44)
1014 ("rust-nu-plugin-xpath" ,rust-nu-plugin-xpath-0.44))
1015 #:cargo-development-inputs
1016 (("rust-hamcrest2" ,rust-hamcrest2-0.3)
1017 ("rust-nu-test-support" ,rust-nu-test-support-0.44)
1018 ("rust-rstest" ,rust-rstest-0.10)
1019 ("rust-serial-test" ,rust-serial-test-0.5))))
1020 (native-inputs
1021 (list pkg-config python))
1022 (inputs
1023 (list curl
1024 libgit2
1025 libx11
1026 libxcb
1027 openssl
1028 zlib))
1029 (home-page "https://www.nushell.sh")
1030 (synopsis "Shell with a structured approach to the command line")
1031 (description
1032 "Nu draws inspiration from projects like PowerShell, functional
1033 programming languages, and modern CLI tools. Rather than thinking of files
1034 and services as raw streams of text, Nu looks at each input as something with
1035 structure. For example, when you list the contents of a directory, what you
1036 get back is a table of rows, where each row represents an item in that
1037 directory. These values can be piped through a series of steps, in a series
1038 of commands called a ``pipeline''.")
1039 (license license:expat)))
1040
1041 (define-public rust-nu-ansi-term-0.44
1042 (package
1043 (name "rust-nu-ansi-term")
1044 (version "0.44.0")
1045 (source
1046 (origin
1047 (method url-fetch)
1048 (uri (crate-uri "nu-ansi-term" version))
1049 (file-name (string-append name "-" version ".tar.gz"))
1050 (sha256
1051 (base32 "1lmc9rdqnw586gv4a0c2gbg3x4a04fy65xk3fczby8lq84rz41i3"))))
1052 (build-system cargo-build-system)
1053 (arguments
1054 `(#:skip-build? #t
1055 #:cargo-inputs
1056 (("rust-doc-comment" ,rust-doc-comment-0.3)
1057 ("rust-overload" ,rust-overload-0.1)
1058 ("rust-serde" ,rust-serde-1)
1059 ("rust-winapi" ,rust-winapi-0.3))))
1060 (home-page "https://www.nushell.sh")
1061 (synopsis "Library for ANSI terminal colors and styles (bold, underline)")
1062 (description
1063 "This package is a library for ANSI terminal colors and styles (bold,
1064 underline).")
1065 (license license:expat)))
1066
1067 (define-public rust-nu-cli-0.44
1068 (package
1069 (name "rust-nu-cli")
1070 (version "0.44.0")
1071 (source
1072 (origin
1073 (method url-fetch)
1074 (uri (crate-uri "nu-cli" version))
1075 (file-name (string-append name "-" version ".tar.gz"))
1076 (sha256
1077 (base32 "0p085vgkzrczdz6ana9bb4r9hrcjm1hgr8f3885ik6kjlwiy5ixa"))))
1078 (build-system cargo-build-system)
1079 (arguments
1080 `(#:skip-build? #t
1081 #:cargo-inputs
1082 (("rust-ctrlc" ,rust-ctrlc-3)
1083 ("rust-indexmap" ,rust-indexmap-1)
1084 ("rust-lazy-static" ,rust-lazy-static-1)
1085 ("rust-log" ,rust-log-0.4)
1086 ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.44)
1087 ("rust-nu-command" ,rust-nu-command-0.44)
1088 ("rust-nu-completion" ,rust-nu-completion-0.44)
1089 ("rust-nu-data" ,rust-nu-data-0.44)
1090 ("rust-nu-engine" ,rust-nu-engine-0.44)
1091 ("rust-nu-errors" ,rust-nu-errors-0.44)
1092 ("rust-nu-parser" ,rust-nu-parser-0.44)
1093 ("rust-nu-path" ,rust-nu-path-0.44)
1094 ("rust-nu-protocol" ,rust-nu-protocol-0.44)
1095 ("rust-nu-source" ,rust-nu-source-0.44)
1096 ("rust-nu-stream" ,rust-nu-stream-0.44)
1097 ("rust-pretty-env-logger" ,rust-pretty-env-logger-0.4)
1098 ("rust-rustyline" ,rust-rustyline-9)
1099 ("rust-serde" ,rust-serde-1)
1100 ("rust-serde-yaml" ,rust-serde-yaml-0.8)
1101 ("rust-shadow-rs" ,rust-shadow-rs-0.8)
1102 ("rust-shadow-rs" ,rust-shadow-rs-0.8)
1103 ("rust-strip-ansi-escapes" ,rust-strip-ansi-escapes-0.1))))
1104 (home-page "https://www.nushell.sh")
1105 (synopsis "CLI for nushell")
1106 (description "CLI for nushell")
1107 (license license:expat)))
1108
1109 (define-public rust-nu-command-0.44
1110 (package
1111 (name "rust-nu-command")
1112 (version "0.44.0")
1113 (source
1114 (origin
1115 (method url-fetch)
1116 (uri (crate-uri "nu-command" version))
1117 (file-name (string-append name "-" version ".tar.gz"))
1118 (sha256
1119 (base32 "1h62df48z8vji10jsmpcfrgbr404kvsl1i3p5gns5gg9wscbpp8f"))))
1120 (build-system cargo-build-system)
1121 (arguments
1122 `(#:skip-build? #t
1123 #:cargo-inputs
1124 (("rust-base64" ,rust-base64-0.13)
1125 ("rust-bigdecimal" ,rust-bigdecimal-0.3)
1126 ("rust-calamine" ,rust-calamine-0.18)
1127 ("rust-chrono" ,rust-chrono-0.4)
1128 ("rust-chrono-tz" ,rust-chrono-tz-0.5)
1129 ("rust-crossterm" ,rust-crossterm-0.19)
1130 ("rust-csv" ,rust-csv-1)
1131 ("rust-ctrlc" ,rust-ctrlc-3)
1132 ("rust-derive-new" ,rust-derive-new-0.5)
1133 ("rust-digest" ,rust-digest-0.9)
1134 ("rust-dirs-next" ,rust-dirs-next-2)
1135 ("rust-dtparse" ,rust-dtparse-1)
1136 ("rust-eml-parser" ,rust-eml-parser-0.1)
1137 ("rust-encoding-rs" ,rust-encoding-rs-0.8)
1138 ("rust-filesize" ,rust-filesize-0.2)
1139 ("rust-futures" ,rust-futures-0.3)
1140 ("rust-glob" ,rust-glob-0.3)
1141 ("rust-heck" ,rust-heck-0.4)
1142 ("rust-htmlescape" ,rust-htmlescape-0.3)
1143 ("rust-ical" ,rust-ical-0.7)
1144 ("rust-indexmap" ,rust-indexmap-1)
1145 ("rust-itertools" ,rust-itertools-0.10)
1146 ("rust-lazy-static" ,rust-lazy-static-1)
1147 ("rust-log" ,rust-log-0.4)
1148 ("rust-md-5" ,rust-md-5-0.9)
1149 ("rust-meval" ,rust-meval-0.2)
1150 ("rust-mime" ,rust-mime-0.3)
1151 ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.44)
1152 ("rust-nu-data" ,rust-nu-data-0.44)
1153 ("rust-nu-engine" ,rust-nu-engine-0.44)
1154 ("rust-nu-errors" ,rust-nu-errors-0.44)
1155 ("rust-nu-json" ,rust-nu-json-0.44)
1156 ("rust-nu-parser" ,rust-nu-parser-0.44)
1157 ("rust-nu-path" ,rust-nu-path-0.44)
1158 ("rust-nu-plugin" ,rust-nu-plugin-0.44)
1159 ("rust-nu-pretty-hex" ,rust-nu-pretty-hex-0.44)
1160 ("rust-nu-protocol" ,rust-nu-protocol-0.44)
1161 ("rust-nu-serde" ,rust-nu-serde-0.44)
1162 ("rust-nu-source" ,rust-nu-source-0.44)
1163 ("rust-nu-stream" ,rust-nu-stream-0.44)
1164 ("rust-nu-table" ,rust-nu-table-0.44)
1165 ("rust-nu-test-support" ,rust-nu-test-support-0.44)
1166 ("rust-nu-value-ext" ,rust-nu-value-ext-0.44)
1167 ("rust-num-bigint" ,rust-num-bigint-0.4)
1168 ("rust-num-format" ,rust-num-format-0.4)
1169 ("rust-num-traits" ,rust-num-traits-0.2)
1170 ("rust-parking-lot" ,rust-parking-lot-0.11)
1171 ("rust-polars" ,rust-polars-0.17)
1172 ("rust-quick-xml" ,rust-quick-xml-0.22)
1173 ("rust-quickcheck-macros" ,rust-quickcheck-macros-1)
1174 ("rust-rand" ,rust-rand-0.8)
1175 ("rust-regex" ,rust-regex-1)
1176 ("rust-reqwest" ,rust-reqwest-0.11)
1177 ("rust-roxmltree" ,rust-roxmltree-0.14)
1178 ("rust-rust-embed" ,rust-rust-embed-5)
1179 ("rust-rustyline" ,rust-rustyline-9)
1180 ("rust-serde" ,rust-serde-1)
1181 ("rust-serde-ini" ,rust-serde-ini-0.2)
1182 ("rust-serde-json" ,rust-serde-json-1)
1183 ("rust-serde-urlencoded" ,rust-serde-urlencoded-0.7)
1184 ("rust-serde-yaml" ,rust-serde-yaml-0.8)
1185 ("rust-sha2" ,rust-sha2-0.9)
1186 ("rust-shadow-rs" ,rust-shadow-rs-0.8)
1187 ("rust-strip-ansi-escapes" ,rust-strip-ansi-escapes-0.1)
1188 ("rust-sysinfo" ,rust-sysinfo-0.23)
1189 ("rust-term" ,rust-term-0.7)
1190 ("rust-term-size" ,rust-term-size-0.3)
1191 ("rust-thiserror" ,rust-thiserror-1)
1192 ("rust-titlecase" ,rust-titlecase-1)
1193 ("rust-tokio" ,rust-tokio-1)
1194 ("rust-toml" ,rust-toml-0.5)
1195 ("rust-trash" ,rust-trash-2)
1196 ("rust-umask" ,rust-umask-1)
1197 ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
1198 ("rust-url" ,rust-url-2)
1199 ("rust-users" ,rust-users-0.11)
1200 ("rust-uuid" ,rust-uuid-0.8)
1201 ("rust-which" ,rust-which-4)
1202 ("rust-zip" ,rust-zip-0.5))))
1203 (home-page "https://www.nushell.sh")
1204 (synopsis "CLI for nushell")
1205 (description "CLI for nushell")
1206 (license license:expat)))
1207
1208 (define-public rust-nu-completion-0.44
1209 (package
1210 (name "rust-nu-completion")
1211 (version "0.44.0")
1212 (source
1213 (origin
1214 (method url-fetch)
1215 (uri (crate-uri "nu-completion" version))
1216 (file-name
1217 (string-append name "-" version ".tar.gz"))
1218 (sha256
1219 (base32
1220 "0pp3949cckivl57cqmcm5cc4pd6z8syyrbankk32vwlm0v4yly0q"))))
1221 (build-system cargo-build-system)
1222 (arguments
1223 `(#:skip-build? #t
1224 #:cargo-inputs
1225 (("rust-indexmap" ,rust-indexmap-1)
1226 ("rust-is-executable" ,rust-is-executable-1)
1227 ("rust-nu-data" ,rust-nu-data-0.44)
1228 ("rust-nu-engine" ,rust-nu-engine-0.44)
1229 ("rust-nu-parser" ,rust-nu-parser-0.44)
1230 ("rust-nu-path" ,rust-nu-path-0.44)
1231 ("rust-nu-protocol" ,rust-nu-protocol-0.44)
1232 ("rust-nu-source" ,rust-nu-source-0.44)
1233 ("rust-nu-test-support" ,rust-nu-test-support-0.44))))
1234 (home-page "https://www.nushell.sh")
1235 (synopsis "Completions for nushell")
1236 (description "Completions for nushell")
1237 (license license:expat)))
1238
1239 (define-public rust-nu-data-0.44
1240 (package
1241 (name "rust-nu-data")
1242 (version "0.44.0")
1243 (source
1244 (origin
1245 (method url-fetch)
1246 (uri (crate-uri "nu-data" version))
1247 (file-name (string-append name "-" version ".tar.gz"))
1248 (sha256
1249 (base32 "1kjyp63fr18rym2xvfqpyw4z0z1j8ckf2aszfk1a4z0pj64w6bi6"))))
1250 (build-system cargo-build-system)
1251 (arguments
1252 `(#:skip-build? #t
1253 #:cargo-inputs
1254 (("rust-bigdecimal" ,rust-bigdecimal-0.3)
1255 ("rust-byte-unit" ,rust-byte-unit-4)
1256 ("rust-chrono" ,rust-chrono-0.4)
1257 ("rust-common-path" ,rust-common-path-1)
1258 ("rust-derive-new" ,rust-derive-new-0.5)
1259 ("rust-directories-next" ,rust-directories-next-2)
1260 ("rust-getset" ,rust-getset-0.1)
1261 ("rust-indexmap" ,rust-indexmap-1)
1262 ("rust-log" ,rust-log-0.4)
1263 ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.44)
1264 ("rust-nu-errors" ,rust-nu-errors-0.44)
1265 ("rust-nu-path" ,rust-nu-path-0.44)
1266 ("rust-nu-protocol" ,rust-nu-protocol-0.44)
1267 ("rust-nu-source" ,rust-nu-source-0.44)
1268 ("rust-nu-table" ,rust-nu-table-0.44)
1269 ("rust-nu-test-support" ,rust-nu-test-support-0.44)
1270 ("rust-nu-value-ext" ,rust-nu-value-ext-0.44)
1271 ("rust-num-bigint" ,rust-num-bigint-0.4)
1272 ("rust-num-format" ,rust-num-format-0.4)
1273 ("rust-num-traits" ,rust-num-traits-0.2)
1274 ("rust-serde" ,rust-serde-1)
1275 ("rust-sha2" ,rust-sha2-0.9)
1276 ("rust-sys-locale" ,rust-sys-locale-0.1)
1277 ("rust-toml" ,rust-toml-0.5))))
1278 (home-page "https://www.nushell.sh")
1279 (synopsis "CLI for nushell")
1280 (description "CLI for nushell")
1281 (license license:expat)))
1282
1283 (define-public rust-nu-engine-0.44
1284 (package
1285 (name "rust-nu-engine")
1286 (version "0.44.0")
1287 (source
1288 (origin
1289 (method url-fetch)
1290 (uri (crate-uri "nu-engine" version))
1291 (file-name (string-append name "-" version ".tar.gz"))
1292 (sha256
1293 (base32 "0ry9x0ji4dikvd7vq4x9l1iqjwdhm80gcsvhfi7d0c26nvw8kpiz"))))
1294 (build-system cargo-build-system)
1295 (arguments
1296 `(#:skip-build? #t
1297 #:cargo-inputs
1298 (("rust-bigdecimal" ,rust-bigdecimal-0.3)
1299 ("rust-bytes" ,rust-bytes-1)
1300 ("rust-chrono" ,rust-chrono-0.4)
1301 ("rust-codespan-reporting" ,rust-codespan-reporting-0.11)
1302 ("rust-derive-new" ,rust-derive-new-0.5)
1303 ("rust-dirs-next" ,rust-dirs-next-2)
1304 ("rust-encoding-rs" ,rust-encoding-rs-0.8)
1305 ("rust-filesize" ,rust-filesize-0.2)
1306 ("rust-fs-extra" ,rust-fs-extra-1)
1307 ("rust-getset" ,rust-getset-0.1)
1308 ("rust-glob" ,rust-glob-0.3)
1309 ("rust-indexmap" ,rust-indexmap-1)
1310 ("rust-itertools" ,rust-itertools-0.10)
1311 ("rust-lazy-static" ,rust-lazy-static-1)
1312 ("rust-log" ,rust-log-0.4)
1313 ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.44)
1314 ("rust-nu-data" ,rust-nu-data-0.44)
1315 ("rust-nu-errors" ,rust-nu-errors-0.44)
1316 ("rust-nu-parser" ,rust-nu-parser-0.44)
1317 ("rust-nu-path" ,rust-nu-path-0.44)
1318 ("rust-nu-plugin" ,rust-nu-plugin-0.44)
1319 ("rust-nu-protocol" ,rust-nu-protocol-0.44)
1320 ("rust-nu-source" ,rust-nu-source-0.44)
1321 ("rust-nu-stream" ,rust-nu-stream-0.44)
1322 ("rust-nu-test-support" ,rust-nu-test-support-0.44)
1323 ("rust-nu-value-ext" ,rust-nu-value-ext-0.44)
1324 ("rust-num-bigint" ,rust-num-bigint-0.4)
1325 ("rust-parking-lot" ,rust-parking-lot-0.11)
1326 ("rust-rayon" ,rust-rayon-1)
1327 ("rust-serde" ,rust-serde-1)
1328 ("rust-serde-json" ,rust-serde-json-1)
1329 ("rust-tempfile" ,rust-tempfile-3)
1330 ("rust-term-size" ,rust-term-size-0.3)
1331 ("rust-termcolor" ,rust-termcolor-1)
1332 ("rust-trash" ,rust-trash-2)
1333 ("rust-umask" ,rust-umask-1)
1334 ("rust-users" ,rust-users-0.11)
1335 ("rust-which" ,rust-which-4))))
1336 (home-page "https://www.nushell.sh")
1337 (synopsis "Core commands for nushell")
1338 (description "Core commands for nushell")
1339 (license license:expat)))
1340
1341 (define-public rust-nu-errors-0.44
1342 (package
1343 (name "rust-nu-errors")
1344 (version "0.44.0")
1345 (source
1346 (origin
1347 (method url-fetch)
1348 (uri (crate-uri "nu-errors" version))
1349 (file-name (string-append name "-" version ".tar.gz"))
1350 (sha256
1351 (base32 "1cd5rkqlhgab6hb1q31xqbrb0j9wbmwzp9z20rrsc59s5zajiivq"))))
1352 (build-system cargo-build-system)
1353 (arguments
1354 `(#:skip-build? #t
1355 #:cargo-inputs
1356 (("rust-bigdecimal" ,rust-bigdecimal-0.3)
1357 ("rust-codespan-reporting" ,rust-codespan-reporting-0.11)
1358 ("rust-derive-new" ,rust-derive-new-0.5)
1359 ("rust-getset" ,rust-getset-0.1)
1360 ("rust-glob" ,rust-glob-0.3)
1361 ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.44)
1362 ("rust-nu-source" ,rust-nu-source-0.44)
1363 ("rust-num-bigint" ,rust-num-bigint-0.4)
1364 ("rust-num-traits" ,rust-num-traits-0.2)
1365 ("rust-serde" ,rust-serde-1)
1366 ("rust-serde-json" ,rust-serde-json-1)
1367 ("rust-serde-yaml" ,rust-serde-yaml-0.8)
1368 ("rust-toml" ,rust-toml-0.5))))
1369 (home-page "https://www.nushell.sh")
1370 (synopsis "Core error subsystem for Nushell")
1371 (description "Core error subsystem for Nushell")
1372 (license license:expat)))
1373
1374 (define-public rust-nu-json-0.44
1375 (package
1376 (name "rust-nu-json")
1377 (version "0.44.0")
1378 (source
1379 (origin
1380 (method url-fetch)
1381 (uri (crate-uri "nu-json" version))
1382 (file-name (string-append name "-" version ".tar.gz"))
1383 (sha256
1384 (base32 "0vdp2brhiyvrkqd1127cixwdcqqmbhf7qha4jyx1ki4hh7w86l0b"))))
1385 (build-system cargo-build-system)
1386 (arguments
1387 `(#:skip-build? #t
1388 #:cargo-inputs
1389 (("rust-lazy-static" ,rust-lazy-static-1)
1390 ("rust-linked-hash-map" ,rust-linked-hash-map-0.5)
1391 ("rust-num-traits" ,rust-num-traits-0.2)
1392 ("rust-regex" ,rust-regex-1)
1393 ("rust-serde" ,rust-serde-1))))
1394 (home-page "https://www.nushell.sh")
1395 (synopsis "Fork of @code{serde-hjson}")
1396 (description "This package is a fork of @code{serde-hjson}.")
1397 (license license:expat)))
1398
1399 (define-public rust-nu-parser-0.44
1400 (package
1401 (name "rust-nu-parser")
1402 (version "0.44.0")
1403 (source
1404 (origin
1405 (method url-fetch)
1406 (uri (crate-uri "nu-parser" version))
1407 (file-name (string-append name "-" version ".tar.gz"))
1408 (sha256
1409 (base32 "1n4223kb9gnwmfhn4als68y1b2niw2zkl8wkra8622gm7p116xq6"))))
1410 (build-system cargo-build-system)
1411 (arguments
1412 `(#:skip-build? #t
1413 #:cargo-inputs
1414 (("rust-bigdecimal" ,rust-bigdecimal-0.3)
1415 ("rust-derive-new" ,rust-derive-new-0.5)
1416 ("rust-indexmap" ,rust-indexmap-1)
1417 ("rust-itertools" ,rust-itertools-0.10)
1418 ("rust-log" ,rust-log-0.4)
1419 ("rust-nu-data" ,rust-nu-data-0.44)
1420 ("rust-nu-errors" ,rust-nu-errors-0.44)
1421 ("rust-nu-path" ,rust-nu-path-0.44)
1422 ("rust-nu-protocol" ,rust-nu-protocol-0.44)
1423 ("rust-nu-source" ,rust-nu-source-0.44)
1424 ("rust-nu-test-support" ,rust-nu-test-support-0.44)
1425 ("rust-num-bigint" ,rust-num-bigint-0.4)
1426 ("rust-smart-default" ,rust-smart-default-0.6))))
1427 (home-page "https://www.nushell.sh")
1428 (synopsis "Nushell parser")
1429 (description "Nushell parser")
1430 (license license:expat)))
1431
1432 (define-public rust-nu-path-0.44
1433 (package
1434 (name "rust-nu-path")
1435 (version "0.44.0")
1436 (source
1437 (origin
1438 (method url-fetch)
1439 (uri (crate-uri "nu-path" version))
1440 (file-name (string-append name "-" version ".tar.gz"))
1441 (sha256
1442 (base32 "069df6ikkaimcr1pjiycfr3ma6sjmb4ajmyxqdckckaqx4nj5wqk"))))
1443 (build-system cargo-build-system)
1444 (arguments
1445 `(#:skip-build? #t
1446 #:cargo-inputs
1447 (("rust-dirs-next" ,rust-dirs-next-2) ("rust-dunce" ,rust-dunce-1))))
1448 (home-page "https://www.nushell.sh")
1449 (synopsis "Nushell parser")
1450 (description "Nushell parser")
1451 (license license:expat)))
1452
1453 (define-public rust-nu-plugin-0.44
1454 (package
1455 (name "rust-nu-plugin")
1456 (version "0.44.0")
1457 (source
1458 (origin
1459 (method url-fetch)
1460 (uri (crate-uri "nu-plugin" version))
1461 (file-name
1462 (string-append name "-" version ".tar.gz"))
1463 (sha256
1464 (base32 "0vs4f84krf859j9f9rqzggzq3i49gb84928l22ddshdsspynckmj"))))
1465 (build-system cargo-build-system)
1466 (arguments
1467 `(#:skip-build? #t
1468 #:cargo-inputs
1469 (("rust-indexmap" ,rust-indexmap-1)
1470 ("rust-nu-errors" ,rust-nu-errors-0.44)
1471 ("rust-nu-protocol" ,rust-nu-protocol-0.44)
1472 ("rust-nu-source" ,rust-nu-source-0.44)
1473 ("rust-nu-test-support" ,rust-nu-test-support-0.44)
1474 ("rust-nu-value-ext" ,rust-nu-value-ext-0.44)
1475 ("rust-serde" ,rust-serde-1)
1476 ("rust-serde-json" ,rust-serde-json-1))))
1477 (home-page "https://www.nushell.sh")
1478 (synopsis "Nushell Plugin")
1479 (description "Nushell Plugin")
1480 (license license:expat)))
1481
1482 (define-public rust-nu-plugin-binaryview-0.44
1483 (package
1484 (name "rust-nu-plugin-binaryview")
1485 (version "0.44.0")
1486 (source
1487 (origin
1488 (method url-fetch)
1489 (uri (crate-uri "nu_plugin_binaryview" version))
1490 (file-name (string-append name "-" version ".tar.gz"))
1491 (sha256
1492 (base32 "1zk49hfp21akf6x7ml4b3h61y7jrj5i03zdmikci981idqm2fivm"))))
1493 (build-system cargo-build-system)
1494 (arguments
1495 `(#:skip-build? #t
1496 #:cargo-inputs
1497 (("rust-crossterm" ,rust-crossterm-0.19)
1498 ("rust-image" ,rust-image-0.23)
1499 ("rust-neso" ,rust-neso-0.5)
1500 ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.44)
1501 ("rust-nu-errors" ,rust-nu-errors-0.44)
1502 ("rust-nu-plugin" ,rust-nu-plugin-0.44)
1503 ("rust-nu-pretty-hex" ,rust-nu-pretty-hex-0.44)
1504 ("rust-nu-protocol" ,rust-nu-protocol-0.44)
1505 ("rust-nu-source" ,rust-nu-source-0.44)
1506 ("rust-rawkey" ,rust-rawkey-0.1))))
1507 (home-page "https://www.nushell.sh")
1508 (synopsis "Binary viewer plugin for Nushell")
1509 (description
1510 "This package provides a binary viewer plugin for Nushell.")
1511 (license license:expat)))
1512
1513 (define-public rust-nu-plugin-chart-0.44
1514 (package
1515 (name "rust-nu-plugin-chart")
1516 (version "0.44.0")
1517 (source
1518 (origin
1519 (method url-fetch)
1520 (uri (crate-uri "nu_plugin_chart" version))
1521 (file-name (string-append name "-" version ".tar.gz"))
1522 (sha256
1523 (base32 "05nv8c1650w8bh71s7yl35ybbjky6b4vdwkw0ywanhm1nqziva7s"))))
1524 (build-system cargo-build-system)
1525 (arguments
1526 `(#:skip-build? #t
1527 #:cargo-inputs
1528 (("rust-crossterm" ,rust-crossterm-0.19)
1529 ("rust-nu-data" ,rust-nu-data-0.44)
1530 ("rust-nu-errors" ,rust-nu-errors-0.44)
1531 ("rust-nu-plugin" ,rust-nu-plugin-0.44)
1532 ("rust-nu-protocol" ,rust-nu-protocol-0.44)
1533 ("rust-nu-source" ,rust-nu-source-0.44)
1534 ("rust-nu-value-ext" ,rust-nu-value-ext-0.44)
1535 ("rust-tui" ,rust-tui-0.15))))
1536 (home-page "https://www.nushell.sh")
1537 (synopsis "Plugin to display charts")
1538 (description
1539 "This package provides a plugin to display charts in Nushell.")
1540 (license license:expat)))
1541
1542 (define-public rust-nu-plugin-from-bson-0.44
1543 (package
1544 (name "rust-nu-plugin-from-bson")
1545 (version "0.44.0")
1546 (source
1547 (origin
1548 (method url-fetch)
1549 (uri (crate-uri "nu_plugin_from_bson" version))
1550 (file-name (string-append name "-" version ".tar.gz"))
1551 (sha256
1552 (base32 "1hmkqiqyqiin80fmlb31r6dgpif8r9nlda4w8ihzjflsbxnmp6wd"))))
1553 (build-system cargo-build-system)
1554 (arguments
1555 `(#:skip-build? #t
1556 #:cargo-inputs
1557 (("rust-bigdecimal" ,rust-bigdecimal-0.3)
1558 ("rust-bson" ,rust-bson-2)
1559 ("rust-nu-errors" ,rust-nu-errors-0.44)
1560 ("rust-nu-plugin" ,rust-nu-plugin-0.44)
1561 ("rust-nu-protocol" ,rust-nu-protocol-0.44)
1562 ("rust-nu-source" ,rust-nu-source-0.44))))
1563 (home-page "https://www.nushell.sh")
1564 (synopsis "Converter plugin to the bson format for Nushell")
1565 (description
1566 "This package provides a converter plugin to the bson format for
1567 Nushell.")
1568 (license license:expat)))
1569
1570 (define-public rust-nu-plugin-from-sqlite-0.44
1571 (package
1572 (name "rust-nu-plugin-from-sqlite")
1573 (version "0.44.0")
1574 (source
1575 (origin
1576 (method url-fetch)
1577 (uri (crate-uri "nu_plugin_from_sqlite" version))
1578 (file-name (string-append name "-" version ".tar.gz"))
1579 (sha256
1580 (base32 "11dirmm78n6jwsq8qihx3sbjfa0j7s9ffl1j03v8f4zzfvsypxxb"))))
1581 (build-system cargo-build-system)
1582 (arguments
1583 `(#:skip-build? #t
1584 #:cargo-inputs
1585 (("rust-bigdecimal" ,rust-bigdecimal-0.3)
1586 ("rust-nu-errors" ,rust-nu-errors-0.44)
1587 ("rust-nu-plugin" ,rust-nu-plugin-0.44)
1588 ("rust-nu-protocol" ,rust-nu-protocol-0.44)
1589 ("rust-nu-source" ,rust-nu-source-0.44)
1590 ("rust-rusqlite" ,rust-rusqlite-0.26)
1591 ("rust-tempfile" ,rust-tempfile-3))))
1592 (home-page "https://www.nushell.sh")
1593 (synopsis "Converter plugin to the bson format for Nushell")
1594 (description
1595 "This package provides a converter plugin to the bson format for
1596 Nushell.")
1597 (license license:expat)))
1598
1599 (define-public rust-nu-plugin-inc-0.44
1600 (package
1601 (name "rust-nu-plugin-inc")
1602 (version "0.44.0")
1603 (source
1604 (origin
1605 (method url-fetch)
1606 (uri (crate-uri "nu_plugin_inc" version))
1607 (file-name (string-append name "-" version ".tar.gz"))
1608 (sha256
1609 (base32 "0gyj54ip1nl68rav3h78sjljh826cp71khmjsbsvyphhgdm1kbhw"))))
1610 (build-system cargo-build-system)
1611 (arguments
1612 `(#:skip-build? #t
1613 #:cargo-inputs
1614 (("rust-nu-errors" ,rust-nu-errors-0.44)
1615 ("rust-nu-plugin" ,rust-nu-plugin-0.44)
1616 ("rust-nu-protocol" ,rust-nu-protocol-0.44)
1617 ("rust-nu-source" ,rust-nu-source-0.44)
1618 ("rust-nu-test-support" ,rust-nu-test-support-0.44)
1619 ("rust-nu-value-ext" ,rust-nu-value-ext-0.44)
1620 ("rust-semver" ,rust-semver-0.11))))
1621 (home-page "https://www.nushell.sh")
1622 (synopsis "Version incrementer plugin for Nushell")
1623 (description
1624 "This package provides a version incrementer plugin for
1625 Nushell.")
1626 (license license:expat)))
1627
1628 (define-public rust-nu-plugin-match-0.44
1629 (package
1630 (name "rust-nu-plugin-match")
1631 (version "0.44.0")
1632 (source
1633 (origin
1634 (method url-fetch)
1635 (uri (crate-uri "nu_plugin_match" version))
1636 (file-name (string-append name "-" version ".tar.gz"))
1637 (sha256
1638 (base32 "1hbs9h28qwwd8i3rb2klx2xmgcxs6l92x9dbmjx3bl85wmjk2skm"))))
1639 (build-system cargo-build-system)
1640 (arguments
1641 `(#:skip-build? #t
1642 #:cargo-inputs
1643 (("rust-nu-errors" ,rust-nu-errors-0.44)
1644 ("rust-nu-plugin" ,rust-nu-plugin-0.44)
1645 ("rust-nu-protocol" ,rust-nu-protocol-0.44)
1646 ("rust-regex" ,rust-regex-1))))
1647 (home-page "https://www.nushell.sh")
1648 (synopsis "Regex match plugin for Nushell")
1649 (description
1650 "This package provides a regex match plugin for Nushell.")
1651 (license license:expat)))
1652
1653 (define-public rust-nu-plugin-query-json-0.44
1654 (package
1655 (name "rust-nu-plugin-query-json")
1656 (version "0.44.0")
1657 (source
1658 (origin
1659 (method url-fetch)
1660 (uri (crate-uri "nu_plugin_query_json" version))
1661 (file-name (string-append name "-" version ".tar.gz"))
1662 (sha256
1663 (base32 "1yzcgm8sqzgr55hdcpzqrdfjc0yhz95qqpxyscm8cm6xw59ib0z2"))))
1664 (build-system cargo-build-system)
1665 (arguments
1666 `(#:skip-build? #t
1667 #:cargo-inputs
1668 (("rust-gjson" ,rust-gjson-0.8)
1669 ("rust-nu-errors" ,rust-nu-errors-0.44)
1670 ("rust-nu-plugin" ,rust-nu-plugin-0.44)
1671 ("rust-nu-protocol" ,rust-nu-protocol-0.44)
1672 ("rust-nu-source" ,rust-nu-source-0.44))))
1673 (home-page "https://www.nushell.sh")
1674 (synopsis "Query JSON files with Gjson")
1675 (description "query json files with gjson")
1676 (license license:expat)))
1677
1678 (define-public rust-nu-plugin-s3-0.44
1679 (package
1680 (name "rust-nu-plugin-s3")
1681 (version "0.44.0")
1682 (source
1683 (origin
1684 (method url-fetch)
1685 (uri (crate-uri "nu_plugin_s3" version))
1686 (file-name (string-append name "-" version ".tar.gz"))
1687 (sha256
1688 (base32 "0ims4p3z48ja8ygkhcbq1a506hp8ry3ipdpgv9j7iqi833g0vgjl"))))
1689 (build-system cargo-build-system)
1690 (arguments
1691 `(#:skip-build? #t
1692 #:cargo-inputs
1693 (("rust-futures" ,rust-futures-0.3)
1694 ("rust-nu-errors" ,rust-nu-errors-0.44)
1695 ("rust-nu-plugin" ,rust-nu-plugin-0.44)
1696 ("rust-nu-protocol" ,rust-nu-protocol-0.44)
1697 ("rust-nu-source" ,rust-nu-source-0.44)
1698 ("rust-s3handler" ,rust-s3handler-0.7))))
1699 (home-page "https://www.nushell.sh")
1700 (synopsis "S3 plugin for Nushell")
1701 (description "This package is an S3 plugin for Nushell.")
1702 (license license:expat)))
1703
1704 (define-public rust-nu-plugin-selector-0.44
1705 (package
1706 (name "rust-nu-plugin-selector")
1707 (version "0.44.0")
1708 (source
1709 (origin
1710 (method url-fetch)
1711 (uri (crate-uri "nu_plugin_selector" version))
1712 (file-name (string-append name "-" version ".tar.gz"))
1713 (sha256
1714 (base32 "1ni51yr1vndjf7c9qmvrc23nn3csv5jy14bwd8kxd5b7648aidsy"))))
1715 (build-system cargo-build-system)
1716 (arguments
1717 `(#:skip-build? #t
1718 #:cargo-inputs
1719 (("rust-nu-errors" ,rust-nu-errors-0.44)
1720 ("rust-nu-plugin" ,rust-nu-plugin-0.44)
1721 ("rust-nu-protocol" ,rust-nu-protocol-0.44)
1722 ("rust-nu-source" ,rust-nu-source-0.44)
1723 ("rust-scraper" ,rust-scraper-0.12))))
1724 (home-page "https://www.nushell.sh")
1725 (synopsis "Web scraping using CSS selector")
1726 (description
1727 "This package provides web scraping using CSS selector.")
1728 (license license:expat)))
1729
1730 (define-public rust-nu-plugin-start-0.44
1731 (package
1732 (name "rust-nu-plugin-start")
1733 (version "0.44.0")
1734 (source
1735 (origin
1736 (method url-fetch)
1737 (uri (crate-uri "nu_plugin_start" version))
1738 (file-name (string-append name "-" version ".tar.gz"))
1739 (sha256
1740 (base32 "028pb15y5dyywc84h79kdf0hz9l1m37djly8jhrcbj6v55x3k9h6"))))
1741 (build-system cargo-build-system)
1742 (arguments
1743 `(#:skip-build? #t
1744 #:cargo-inputs
1745 (("rust-glob" ,rust-glob-0.3)
1746 ("rust-nu-errors" ,rust-nu-errors-0.44)
1747 ("rust-nu-errors" ,rust-nu-errors-0.44)
1748 ("rust-nu-plugin" ,rust-nu-plugin-0.44)
1749 ("rust-nu-protocol" ,rust-nu-protocol-0.44)
1750 ("rust-nu-source" ,rust-nu-source-0.44)
1751 ("rust-nu-source" ,rust-nu-source-0.44)
1752 ("rust-open" ,rust-open-1)
1753 ("rust-url" ,rust-url-2)
1754 ("rust-webbrowser" ,rust-webbrowser-0.5))))
1755 (home-page "https://www.nushell.sh")
1756 (synopsis "Plugin to open files/URLs directly from Nushell")
1757 (description
1758 "This package provides a plugin to open files/URLs directly from
1759 Nushell.")
1760 (license license:expat)))
1761
1762 (define-public rust-nu-plugin-textview-0.44
1763 (package
1764 (name "rust-nu-plugin-textview")
1765 (version "0.44.0")
1766 (source
1767 (origin
1768 (method url-fetch)
1769 (uri (crate-uri "nu_plugin_textview" version))
1770 (file-name (string-append name "-" version ".tar.gz"))
1771 (sha256
1772 (base32 "17amhjvx1jfdz98jiavhnn18263f3hg3is7x0rkdzddng0abzpc7"))))
1773 (build-system cargo-build-system)
1774 (arguments
1775 `(#:skip-build? #t
1776 #:cargo-inputs
1777 (("rust-bat" ,rust-bat-0.18)
1778 ("rust-nu-data" ,rust-nu-data-0.44)
1779 ("rust-nu-errors" ,rust-nu-errors-0.44)
1780 ("rust-nu-plugin" ,rust-nu-plugin-0.44)
1781 ("rust-nu-protocol" ,rust-nu-protocol-0.44)
1782 ("rust-nu-source" ,rust-nu-source-0.44)
1783 ("rust-term-size" ,rust-term-size-0.3)
1784 ("rust-url" ,rust-url-2))))
1785 (home-page "https://www.nushell.sh")
1786 (synopsis "Text viewer plugin for Nushell")
1787 (description "This package provides a text viewer plugin for
1788 Nushell.")
1789 (license license:expat)))
1790
1791 (define-public rust-nu-plugin-to-bson-0.44
1792 (package
1793 (name "rust-nu-plugin-to-bson")
1794 (version "0.44.0")
1795 (source
1796 (origin
1797 (method url-fetch)
1798 (uri (crate-uri "nu_plugin_to_bson" version))
1799 (file-name (string-append name "-" version ".tar.gz"))
1800 (sha256
1801 (base32 "003x90qshcn7yv86zaw449akqvi4vz78s05g0qcgrfxgvpn7vdch"))))
1802 (build-system cargo-build-system)
1803 (arguments
1804 `(#:skip-build? #t
1805 #:cargo-inputs
1806 (("rust-bson" ,rust-bson-2)
1807 ("rust-nu-errors" ,rust-nu-errors-0.44)
1808 ("rust-nu-plugin" ,rust-nu-plugin-0.44)
1809 ("rust-nu-protocol" ,rust-nu-protocol-0.44)
1810 ("rust-nu-source" ,rust-nu-source-0.44)
1811 ("rust-num-traits" ,rust-num-traits-0.2))))
1812 (home-page "https://www.nushell.sh")
1813 (synopsis "Converter plugin to the bson format for Nushell")
1814 (description
1815 "This package provides a converter plugin to the bson format for
1816 Nushell.")
1817 (license license:expat)))
1818
1819 (define-public rust-nu-plugin-to-sqlite-0.44
1820 (package
1821 (name "rust-nu-plugin-to-sqlite")
1822 (version "0.44.0")
1823 (source
1824 (origin
1825 (method url-fetch)
1826 (uri (crate-uri "nu_plugin_to_sqlite" version))
1827 (file-name (string-append name "-" version ".tar.gz"))
1828 (sha256
1829 (base32 "06d93a5xgssvxrbvcv12b9jwh9xwl6sz6admbpxnk9r78lpgfdaj"))))
1830 (build-system cargo-build-system)
1831 (arguments
1832 `(#:skip-build? #t
1833 #:cargo-inputs
1834 (("rust-hex" ,rust-hex-0.4)
1835 ("rust-nu-errors" ,rust-nu-errors-0.44)
1836 ("rust-nu-plugin" ,rust-nu-plugin-0.44)
1837 ("rust-nu-protocol" ,rust-nu-protocol-0.44)
1838 ("rust-nu-source" ,rust-nu-source-0.44)
1839 ("rust-rusqlite" ,rust-rusqlite-0.26)
1840 ("rust-tempfile" ,rust-tempfile-3))))
1841 (home-page "https://www.nushell.sh")
1842 (synopsis "Converter plugin to the bson format for Nushell")
1843 (description
1844 "This package provides a converter plugin to the bson format for
1845 Nushell.")
1846 (license license:expat)))
1847
1848 (define-public rust-nu-plugin-tree-0.44
1849 (package
1850 (name "rust-nu-plugin-tree")
1851 (version "0.44.0")
1852 (source
1853 (origin
1854 (method url-fetch)
1855 (uri (crate-uri "nu_plugin_tree" version))
1856 (file-name (string-append name "-" version ".tar.gz"))
1857 (sha256
1858 (base32 "089mp7spa0fcxm45njmjcab685cv30jb0b3kkgvjp8ywwakyy8lb"))))
1859 (build-system cargo-build-system)
1860 (arguments
1861 `(#:skip-build? #t
1862 #:cargo-inputs
1863 (("rust-derive-new" ,rust-derive-new-0.5)
1864 ("rust-nu-errors" ,rust-nu-errors-0.44)
1865 ("rust-nu-plugin" ,rust-nu-plugin-0.44)
1866 ("rust-nu-protocol" ,rust-nu-protocol-0.44)
1867 ("rust-ptree" ,rust-ptree-0.4))))
1868 (home-page "https://www.nushell.sh")
1869 (synopsis "Tree viewer plugin for Nushell")
1870 (description "This package provides a tree viewer plugin for
1871 Nushell.")
1872 (license license:expat)))
1873
1874 (define-public rust-nu-plugin-xpath-0.44
1875 (package
1876 (name "rust-nu-plugin-xpath")
1877 (version "0.44.0")
1878 (source
1879 (origin
1880 (method url-fetch)
1881 (uri (crate-uri "nu_plugin_xpath" version))
1882 (file-name (string-append name "-" version ".tar.gz"))
1883 (sha256
1884 (base32 "18qbhibn9pz9hnilqzv2g1s51fmlwpm60ma2r6qjsa5pcy9x12dh"))))
1885 (build-system cargo-build-system)
1886 (arguments
1887 `(#:skip-build? #t
1888 #:cargo-inputs
1889 (("rust-bigdecimal" ,rust-bigdecimal-0.3)
1890 ("rust-indexmap" ,rust-indexmap-1)
1891 ("rust-nu-errors" ,rust-nu-errors-0.44)
1892 ("rust-nu-plugin" ,rust-nu-plugin-0.44)
1893 ("rust-nu-protocol" ,rust-nu-protocol-0.44)
1894 ("rust-nu-source" ,rust-nu-source-0.44)
1895 ("rust-sxd-document" ,rust-sxd-document-0.3)
1896 ("rust-sxd-xpath" ,rust-sxd-xpath-0.4))))
1897 (home-page "https://www.nushell.sh")
1898 (synopsis "Traverses XML")
1899 (description "Traverses XML")
1900 (license license:expat)))
1901
1902 (define-public rust-nu-pretty-hex-0.44
1903 (package
1904 (name "rust-nu-pretty-hex")
1905 (version "0.44.0")
1906 (source
1907 (origin
1908 (method url-fetch)
1909 (uri (crate-uri "nu-pretty-hex" version))
1910 (file-name (string-append name "-" version ".tar.gz"))
1911 (sha256
1912 (base32 "1dizakbxm2c6vpjy5brqbjhk8m7lr7wammibb1vr8nq85aazrj5r"))))
1913 (build-system cargo-build-system)
1914 (arguments
1915 `(#:skip-build? #t
1916 #:cargo-inputs
1917 (("rust-heapless" ,rust-heapless-0.7)
1918 ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.44)
1919 ("rust-rand" ,rust-rand-0.8))))
1920 (home-page "https://www.nushell.sh")
1921 (synopsis "Pretty hex dump of bytes slice in the common style")
1922 (description
1923 "This crate provides pretty hex dump of bytes slice in the common
1924 style.")
1925 (license license:expat)))
1926
1927 (define-public rust-nu-protocol-0.44
1928 (package
1929 (name "rust-nu-protocol")
1930 (version "0.44.0")
1931 (source
1932 (origin
1933 (method url-fetch)
1934 (uri (crate-uri "nu-protocol" version))
1935 (file-name (string-append name "-" version ".tar.gz"))
1936 (sha256
1937 (base32 "1r6cnrqsq3qx3132w0p78262vql1bk446ynnfjsiffd07rmba2f7"))))
1938 (build-system cargo-build-system)
1939 (arguments
1940 `(#:skip-build? #t
1941 #:cargo-inputs
1942 (("rust-bigdecimal" ,rust-bigdecimal-0.3)
1943 ("rust-byte-unit" ,rust-byte-unit-4)
1944 ("rust-chrono" ,rust-chrono-0.4)
1945 ("rust-chrono-humanize" ,rust-chrono-humanize-0.2)
1946 ("rust-derive-new" ,rust-derive-new-0.5)
1947 ("rust-getset" ,rust-getset-0.1)
1948 ("rust-indexmap" ,rust-indexmap-1)
1949 ("rust-log" ,rust-log-0.4)
1950 ("rust-nu-errors" ,rust-nu-errors-0.44)
1951 ("rust-nu-source" ,rust-nu-source-0.44)
1952 ("rust-num-bigint" ,rust-num-bigint-0.4)
1953 ("rust-num-integer" ,rust-num-integer-0.1)
1954 ("rust-num-traits" ,rust-num-traits-0.2)
1955 ("rust-polars" ,rust-polars-0.17)
1956 ("rust-serde" ,rust-serde-1)
1957 ("rust-serde-bytes" ,rust-serde-bytes-0.11))))
1958 (home-page "https://www.nushell.sh")
1959 (synopsis "Core values and protocols for Nushell")
1960 (description "Core values and protocols for Nushell")
1961 (license license:expat)))
1962
1963 (define-public rust-nu-serde-0.44
1964 (package
1965 (name "rust-nu-serde")
1966 (version "0.44.0")
1967 (source
1968 (origin
1969 (method url-fetch)
1970 (uri (crate-uri "nu-serde" version))
1971 (file-name (string-append name "-" version ".tar.gz"))
1972 (sha256
1973 (base32 "190lid6jqgrb50qzqk849hg44rcn392qbppdm8zhgy732fsjb2j4"))))
1974 (build-system cargo-build-system)
1975 (arguments
1976 `(#:skip-build? #t
1977 #:cargo-inputs
1978 (("rust-bigdecimal" ,rust-bigdecimal-0.3)
1979 ("rust-insta" ,rust-insta-1)
1980 ("rust-nu-protocol" ,rust-nu-protocol-0.44)
1981 ("rust-nu-source" ,rust-nu-source-0.44)
1982 ("rust-serde" ,rust-serde-1)
1983 ("rust-thiserror" ,rust-thiserror-1))))
1984 (home-page "https://www.nushell.sh")
1985 (synopsis "Turn any value into a @code{nu-protocol::Value} with Serde")
1986 (description
1987 "This crate turns any value into a @code{nu-protocol::Value} with
1988 Serde.")
1989 (license license:expat)))
1990
1991 (define-public rust-nu-source-0.44
1992 (package
1993 (name "rust-nu-source")
1994 (version "0.44.0")
1995 (source
1996 (origin
1997 (method url-fetch)
1998 (uri (crate-uri "nu-source" version))
1999 (file-name (string-append name "-" version ".tar.gz"))
2000 (sha256
2001 (base32 "04w4s4yk5byy5mmrhvcbcvf179vjmb9pa2jch5vgl6rckipzd31l"))))
2002 (build-system cargo-build-system)
2003 (arguments
2004 `(#:skip-build? #t
2005 #:cargo-inputs
2006 (("rust-derive-new" ,rust-derive-new-0.5)
2007 ("rust-getset" ,rust-getset-0.1)
2008 ("rust-pretty" ,rust-pretty-0.5)
2009 ("rust-serde" ,rust-serde-1)
2010 ("rust-termcolor" ,rust-termcolor-1))))
2011 (home-page "https://www.nushell.sh")
2012 (synopsis "Source string characterizer for Nushell")
2013 (description
2014 "This package provides a source string characterizer for
2015 Nushell.")
2016 (license license:expat)))
2017
2018 (define-public rust-nu-stream-0.44
2019 (package
2020 (name "rust-nu-stream")
2021 (version "0.44.0")
2022 (source
2023 (origin
2024 (method url-fetch)
2025 (uri (crate-uri "nu-stream" version))
2026 (file-name (string-append name "-" version ".tar.gz"))
2027 (sha256
2028 (base32 "14fs2dqa4papd48zil35901z4sc0p15dga96jbrsbhimk85g0gba"))))
2029 (build-system cargo-build-system)
2030 (arguments
2031 `(#:skip-build? #t
2032 #:cargo-inputs
2033 (("rust-nu-errors" ,rust-nu-errors-0.44)
2034 ("rust-nu-protocol" ,rust-nu-protocol-0.44)
2035 ("rust-nu-source" ,rust-nu-source-0.44))))
2036 (home-page "https://www.nushell.sh")
2037 (synopsis "Nushell stream")
2038 (description "This package provides Nushell stream.")
2039 (license license:expat)))
2040
2041 (define-public rust-nu-table-0.44
2042 (package
2043 (name "rust-nu-table")
2044 (version "0.44.0")
2045 (source
2046 (origin
2047 (method url-fetch)
2048 (uri (crate-uri "nu-table" version))
2049 (file-name (string-append name "-" version ".tar.gz"))
2050 (sha256
2051 (base32 "0lk2cr8k0wbh5ya42ldz129yzfpqibzvjqy1bkpccfh2lf9n01g2"))))
2052 (build-system cargo-build-system)
2053 (arguments
2054 `(#:skip-build? #t
2055 #:cargo-inputs
2056 (("rust-atty" ,rust-atty-0.2)
2057 ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.44)
2058 ("rust-regex" ,rust-regex-1)
2059 ("rust-strip-ansi-escapes" ,rust-strip-ansi-escapes-0.1)
2060 ("rust-unicode-width" ,rust-unicode-width-0.1))))
2061 (home-page "https://www.nushell.sh")
2062 (synopsis "Nushell table printing")
2063 (description "Nushell table printing")
2064 (license license:expat)))
2065
2066 (define-public rust-nu-test-support-0.44
2067 (package
2068 (name "rust-nu-test-support")
2069 (version "0.44.0")
2070 (source
2071 (origin
2072 (method url-fetch)
2073 (uri (crate-uri "nu-test-support" version))
2074 (file-name (string-append name "-" version ".tar.gz"))
2075 (sha256
2076 (base32 "0fjaczf05lzs77f1chif11085xy2yklw2lzl0vz0sdzzkll1r374"))))
2077 (build-system cargo-build-system)
2078 (arguments
2079 `(#:skip-build? #t
2080 #:cargo-inputs
2081 (("rust-bigdecimal" ,rust-bigdecimal-0.3)
2082 ("rust-chrono" ,rust-chrono-0.4)
2083 ("rust-getset" ,rust-getset-0.1)
2084 ("rust-glob" ,rust-glob-0.3)
2085 ("rust-hamcrest2" ,rust-hamcrest2-0.3)
2086 ("rust-indexmap" ,rust-indexmap-1)
2087 ("rust-nu-errors" ,rust-nu-errors-0.44)
2088 ("rust-nu-path" ,rust-nu-path-0.44)
2089 ("rust-nu-protocol" ,rust-nu-protocol-0.44)
2090 ("rust-nu-source" ,rust-nu-source-0.44)
2091 ("rust-num-bigint" ,rust-num-bigint-0.4)
2092 ("rust-tempfile" ,rust-tempfile-3))))
2093 (home-page "https://www.nushell.sh")
2094 (synopsis "Support for writing Nushell tests")
2095 (description "This package provides support for writing Nushell
2096 tests.")
2097 (license license:expat)))
2098
2099 (define-public rust-nu-value-ext-0.44
2100 (package
2101 (name "rust-nu-value-ext")
2102 (version "0.44.0")
2103 (source
2104 (origin
2105 (method url-fetch)
2106 (uri (crate-uri "nu-value-ext" version))
2107 (file-name
2108 (string-append name "-" version ".tar.gz"))
2109 (sha256
2110 (base32 "0ag5y6qfj53w6skyb0vhwhxiykvpmz5izpgxnbz5r0i0bdscrmdy"))))
2111 (build-system cargo-build-system)
2112 (arguments
2113 `(#:skip-build? #t
2114 #:cargo-inputs
2115 (("rust-indexmap" ,rust-indexmap-1)
2116 ("rust-itertools" ,rust-itertools-0.10)
2117 ("rust-nu-errors" ,rust-nu-errors-0.44)
2118 ("rust-nu-protocol" ,rust-nu-protocol-0.44)
2119 ("rust-nu-source" ,rust-nu-source-0.44)
2120 ("rust-num-traits" ,rust-num-traits-0.2))))
2121 (home-page "https://www.nushell.sh")
2122 (synopsis "@code{Extension} traits for values in Nushell")
2123 (description
2124 "This package provides @code{Extension} traits for values in
2125 Nushell.")
2126 (license license:expat)))