feat(nushell-bin): add

This commit is contained in:
Pavel Korytov 2021-07-14 12:25:54 +03:00
parent 9e3383bbe2
commit 1364553615
2 changed files with 96 additions and 14 deletions

View file

@ -5,17 +5,18 @@ My Guix channel.
I'll probably push what I can upstream when I figure Guix out.
* Status
| Software | Status | Problems |
|----------------------------+----------+---------------------------------------------------|
| [[https://gitlab.com/dwt1/shell-color-scripts][dt-colorscripts]] | OK | Check for implicit dependencies |
| [[https://yadm.io/][yadm]] | OK | Check for implicit dependencies; description |
| [[https://github.com/SqrtMinusOne/mpd-watcher][mpd-watcher]] | OK | |
| [[https://github.com/risacher/sunwait][sunwait]] | OK | Version number |
| [[https://github.com/alfredopalhares/openvpn-update-resolv-conf][openvpn-update-resolv-conf]] | OK | Just watch out for $PATH if launched from OpenVPN |
| [[https://github.com/deajan/osync][osync]] | Works | Requires shell commands as propagated-inputs |
| [[https://github.com/latex-lsp/texlab/][texlab]] | Works | Installation from binaries |
| [[https://github.com/tmux-python/tmuxp][tmuxp]] | Works | Tests fail |
| [[https://github.com/hroptatyr/dateutils][dateutils]] | Works | Tests fail |
| [[https://starship.rs/][starship]] | Works | Tests fail |
| [[https://github.com/gauteh/lieer][lieer]] | Works | Tests fail for dependencies |
| [[https://activitywatch.net/][ActivityWatch]] | Works... | Except for aw-qt. Installation from binaries |
| Software | Status | Problems |
|----------------------------+----------+-------------------------------------------------------|
| [[https://gitlab.com/dwt1/shell-color-scripts][dt-colorscripts]] | OK | Check for implicit dependencies |
| [[https://yadm.io/][yadm]] | OK | Check for implicit dependencies; description |
| [[https://github.com/SqrtMinusOne/mpd-watcher][mpd-watcher]] | OK | |
| [[https://github.com/risacher/sunwait][sunwait]] | OK | Version number |
| [[https://github.com/alfredopalhares/openvpn-update-resolv-conf][openvpn-update-resolv-conf]] | OK | Just watch out for $PATH if launched from OpenVPN |
| [[https://github.com/deajan/osync][osync]] | Works | Requires shell commands as propagated-inputs |
| [[https://github.com/latex-lsp/texlab/][texlab]] | Works | Installation from binaries |
| [[https://www.nushell.sh/][nushell]] | Works | Installation from binaries (Guix version is outdated) |
| [[https://github.com/tmux-python/tmuxp][tmuxp]] | Works | Tests fail |
| [[https://github.com/hroptatyr/dateutils][dateutils]] | Works | Tests fail |
| [[https://starship.rs/][starship]] | Works | Tests fail |
| [[https://github.com/gauteh/lieer][lieer]] | Works | Tests fail for dependencies |
| [[https://activitywatch.net/][ActivityWatch]] | Works... | Except for aw-qt. Installation from binaries |

81
nushell-bin.scm Normal file
View file

@ -0,0 +1,81 @@
(define-module (nushell-bin)
#:use-module (ice-9 string-fun)
#:use-module (gnu packages base)
#:use-module (gnu packages curl)
#:use-module (gnu packages version-control)
#:use-module (gnu packages xorg)
#:use-module (gnu packages tls)
#:use-module (gnu packages compression)
#:use-module (gnu packages gcc)
#:use-module (guix download)
#:use-module (guix packages)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (nonguix build-system binary))
(define-public nushell-bin
(package
(name "nushell-bin")
(version "0.34.0")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/nushell/nushell/releases/download/" version "/"
"nu_" (string-replace-substring version "." "_") "_linux.tar.gz"))
(sha256
(base32
"1qg560s0gaf38xmg3fpzx6lpcl6pnaz6bm07nn7zx49g5kh4jk7w"))))
(build-system binary-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'unpack
(lambda* (#:key inputs #:allow-other-keys)
(mkdir-p "nushell")
(invoke "tar" "xvzf" (assoc-ref inputs "source") "-C" "nushell" "--strip-components" "2"))))
#:install-plan
`(("nushell" "/bin/" #:exclude ("README.txt" "LICENSE" "libssl.so.1.1")))
#:patchelf-plan
`(("nushell/nu" ("glibc" "zlib" "gcc:lib"))
("nushell/nu_plugin_binaryview" ("glibc" "gcc:lib" "libx11"))
("nushell/nu_plugin_chart_bar" ("glibc" "gcc:lib"))
("nushell/nu_plugin_chart_line" ("glibc" "gcc:lib"))
("nushell/nu_plugin_fetch" ("glibc" "gcc:lib" "openssl" "zlib"))
("nushell/nu_plugin_from_bson" ("glibc" "gcc:lib"))
("nushell/nu_plugin_from_mp4" ("glibc" "gcc:lib"))
("nushell/nu_plugin_from_sqlite" ("glibc" "gcc:lib"))
("nushell/nu_plugin_inc" ("glibc" "gcc:lib"))
("nushell/nu_plugin_match" ("glibc" "gcc:lib"))
("nushell/nu_plugin_post" ("glibc" "gcc:lib" "openssl" "zlib"))
("nushell/nu_plugin_ps" ("glibc" "gcc:lib"))
("nushell/nu_plugin_query_json" ("glibc" "gcc:lib"))
("nushell/nu_plugin_s3" ("glibc" "gcc:lib" "openssl"))
("nushell/nu_plugin_selector" ("glibc" "gcc:lib"))
("nushell/nu_plugin_start" ("glibc" "gcc:lib"))
("nushell/nu_plugin_sys" ("glibc" "gcc:lib"))
("nushell/nu_plugin_textview" ("glibc" "gcc:lib" "zlib"))
("nushell/nu_plugin_to_bson" ("glibc" "gcc:lib"))
("nushell/nu_plugin_to_sqlite" ("glibc" "gcc:lib"))
("nushell/nu_plugin_tree" ("glibc" "gcc:lib"))
("nushell/nu_plugin_xpath" ("glibc" "gcc:lib")))
))
(inputs
`(("curl" ,curl)
("gcc:lib" ,gcc "lib")
("libgit2" ,libgit2)
("libx11" ,libx11)
("libxcb" ,libxcb)
("openssl" ,openssl)
("glibc" ,glibc)
("zlib" ,zlib)))
(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''.")
(home-page "https://www.nushell.sh")
(license license:expat)))