me
/
guix
Archived
1
0
Fork 0

gnu: Add eza.

eza is the community-maintained successor fork to exa. Minimal changes had to
be made to adapt the exa package definition to eza.

* gnu/packages/rust-apps.scm (eza): New variable.

Signed-off-by: Jaeme Sifat <jaeme@runbox.com>
Change-Id: I0069bbbc8de55a030a52ef98b0f8d9dd0fe07317
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
Jaeme Sifat 2023-10-29 00:27:13 -04:00 committed by Efraim Flashner
parent ae8096acd8
commit ce860cdd87
No known key found for this signature in database
GPG Key ID: 41AAE7DCCA3D8351
1 changed files with 91 additions and 0 deletions

View File

@ -25,6 +25,7 @@
;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
;;; Copyright © 2023 Arnav Andrew Jose <arnav.jose@gmail.com>
;;; Copyright © 2023 Wilko Meyer <w@wmeyer.eu>
;;; Copyright © 2023 Jaeme Sifat <jaeme@runbox.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -471,6 +472,96 @@ program @code{ls}. It uses colours to distinguish file types and metadata. It
also knows about symlinks, extended attributes, and Git.")
(license license:expat)))
(define-public eza
(package
(name "eza")
(version "0.15.2")
(source
(origin
(method url-fetch)
(uri (crate-uri "eza" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "14qapnxc1rwqsq6c13b35wgaiypn23niajk39c44i1w3if91rd85"))))
(build-system cargo-build-system)
(arguments
(list
#:install-source? #f
#:cargo-inputs `(("rust-ansiterm" ,rust-ansiterm-0.12)
("rust-chrono" ,rust-chrono-0.4)
("rust-git2" ,rust-git2-0.18)
("rust-glob" ,rust-glob-0.3)
("rust-libc" ,rust-libc-0.2)
("rust-locale" ,rust-locale-0.2)
("rust-log" ,rust-log-0.4)
("rust-natord" ,rust-natord-1)
("rust-num-cpus" ,rust-num-cpus-1)
("rust-number-prefix" ,rust-number-prefix-0.4)
("rust-once-cell" ,rust-once-cell-1)
("rust-percent-encoding" ,rust-percent-encoding-2)
("rust-phf" ,rust-phf-0.11)
("rust-proc-mounts" ,rust-proc-mounts-0.3)
("rust-scoped-threadpool" ,rust-scoped-threadpool-0.1)
("rust-terminal-size" ,rust-terminal-size-0.3)
("rust-timeago" ,rust-timeago-0.4)
("rust-unicode-width" ,rust-unicode-width-0.1)
("rust-uutils-term-grid" ,rust-uutils-term-grid-0.3)
("rust-uzers" ,rust-uzers-0.11)
("rust-windows-sys" ,rust-windows-sys-0.48)
("rust-zoneinfo-compiled" ,rust-zoneinfo-compiled-0.5))
#:cargo-development-inputs `(("rust-criterion" ,rust-criterion-0.5)
("rust-trycmd" ,rust-trycmd-0.14))
#:phases #~(modify-phases %standard-phases
(add-after 'build 'build-manual
(lambda* (#:key inputs #:allow-other-keys)
(when (assoc-ref inputs "pandoc")
(map (lambda (page)
(with-output-to-file page
(lambda _
(invoke "pandoc" "--standalone"
"-f" "markdown"
"-t" "man"
(string-append "man/" page ".md")))))
(list "eza.1" "eza_colors.5")))))
(add-after 'install 'install-extras
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(share (string-append out "/share"))
(man1 (string-append share "/man/man1"))
(man5 (string-append share "/man/man5")))
(when (file-exists? "eza.1")
(install-file "eza.1" man1))
(when (file-exists? "eza_colors.5")
(install-file "eza_colors.5" man5))
(mkdir-p (string-append out "/etc/bash_completion.d"))
(mkdir-p (string-append
share "/fish/vendor_completions.d"))
(mkdir-p (string-append share "/zsh/site-functions"))
(copy-file "completions/bash/eza"
(string-append
out "/etc/bash_completion.d/eza"))
(copy-file "completions/fish/eza.fish"
(string-append
share "/fish/vendor_completions.d/eza.fish"))
(copy-file "completions/zsh/_eza"
(string-append
share "/zsh/site-functions/_eza"))))))))
(native-inputs
(append
(list pkg-config)
(if (supported-package? pandoc)
(list pandoc)
'())))
(inputs (list libgit2-1.7 zlib))
(home-page "https://github.com/eza-community/eza")
(synopsis "Modern replacement for ls")
(description
"@code{eza} is a modern replacement for the command-line
program @code{ls}. It uses colours to distinguish file types and
metadata. It also knows about symlinks, extended attributes, and Git.
This package is the community maintained fork of @code{exa}.")
(license license:expat)))
(define-public fd
(package
(name "fd")