summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaeme Sifat <jaeme@runbox.com>2023-10-29 00:27:13 -0400
committerEfraim Flashner <efraim@flashner.co.il>2023-11-28 07:59:28 +0200
commitce860cdd87106857f19147529f091592a8937838 (patch)
tree565b9f3c88f8a4adcb3a40f6f4633c3e65f18e29
parentae8096acd8b41269903d6a984a56a8faa7bf1179 (diff)
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>
-rw-r--r--gnu/packages/rust-apps.scm91
1 files changed, 91 insertions, 0 deletions
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index 3309c0360f..25e2634a13 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -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")