@@ -50,6 +50,7 @@ (define-module (gnu packages rust-apps)
#:use-module (gnu packages documentation)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages ibus)
@@ -362,91 +363,71 @@ (define-public dutree
(define-public exa
(package
(name "exa")
- (version "0.9.0")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "exa" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "1s902xgplz1167k0r7x235p914lprpsqy2if0kpa1mlb0fswqqq4"))))
+ (version "0.10.1")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "exa" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1dd7waq2bnxc1xwygqphi8k1g2qzykr6fk0q4rgrhhxp2jd09f04"))))
(build-system cargo-build-system)
(arguments
- `(#:cargo-inputs
- (("rust-ansi-term" ,rust-ansi-term-0.12)
- ("rust-datetime" ,rust-datetime-0.4)
- ("rust-env-logger" ,rust-env-logger-0.6)
- ("rust-git2" ,rust-git2-0.9)
- ("rust-glob" ,rust-glob-0.3)
- ("rust-lazy-static" ,rust-lazy-static-1)
- ("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.3)
- ("rust-scoped-threadpool" ,rust-scoped-threadpool-0.1)
- ("rust-term-grid" ,rust-term-grid-0.1)
- ("rust-term-size" ,rust-term-size-0.3)
- ("rust-unicode-width" ,rust-unicode-width-0.1)
- ("rust-users" ,rust-users-0.9)
- ("rust-zoneinfo-compiled" ,rust-zoneinfo-compiled-0.4))
- #:cargo-development-inputs
- (("rust-datetime" ,rust-datetime-0.4))
- #:phases
- (modify-phases %standard-phases
- ;; Ignoring failing tests.
- ;; Reported in https://github.com/ogham/exa/issues/318
- (add-before 'check 'disable-failing-tests
- (lambda _
- (substitute* "src/options/mod.rs"
- (("^.*fn oneline_across.*" oneline-across)
- (string-append "#[ignore]\n" oneline-across)))
-
- (substitute* "src/options/view.rs"
- (("test!\\(across:.*") "")
- (("test!\\(cr:.*") "")
- (("test!\\(empty:.*") "")
- (("test!\\(gracross:.*") "")
- (("test!\\(grid:.*") "")
- (("test!\\(icons:.*") "")
- (("test!\\(just_binary:.*") "")
- (("test!\\(just_blocks:.*") "")
- (("test!\\(just_bytes:.*") "")
- (("test!\\(just_git:.*") "")
- (("test!\\(just_group:.*") "")
- (("test!\\(just_header:.*") "")
- (("test!\\(just_inode:.*") "")
- (("test!\\(just_links:.*") "")
- (("test!\\(leg:.*") "")
- (("test!\\(lid:.*") "")
- (("test!\\(original_g:.*") ""))
- #t))
- (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")))
- (install-file "contrib/man/exa.1" man1)
- (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 "contrib/completions.bash"
- (string-append out "/etc/bash_completion.d/exa"))
- (copy-file "contrib/completions.fish"
- (string-append share "/fish/vendor_completions.d/exa.fish"))
- (copy-file "contrib/completions.zsh"
- (string-append share "/zsh/site-functions/_exa"))
- #t))))))
- (inputs
- (list libgit2 zlib))
- (native-inputs
- (list pkg-config))
+ `(#:cargo-inputs (("rust-ansi-term" ,rust-ansi-term-0.12)
+ ("rust-datetime" ,rust-datetime-0.5)
+ ("rust-env-logger" ,rust-env-logger-0.6)
+ ("rust-git2" ,rust-git2-0.13)
+ ("rust-glob" ,rust-glob-0.3)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("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-scoped-threadpool" ,rust-scoped-threadpool-0.1)
+ ("rust-term-grid" ,rust-term-grid-0.1)
+ ("rust-term-size" ,rust-term-size-0.3)
+ ("rust-unicode-width" ,rust-unicode-width-0.1)
+ ("rust-users" ,rust-users-0.11)
+ ("rust-zoneinfo-compiled" ,rust-zoneinfo-compiled-0.5))
+ #:cargo-development-inputs (("rust-datetime" ,rust-datetime-0.5))
+ #:phases (modify-phases %standard-phases
+ (add-after 'build 'build-manual
+ (lambda _
+ (map (lambda (page)
+ (system (string-append
+ "pandoc --standalone -f markdown -t man man/"
+ page ".md > " page)))
+ `("exa.1" "exa_colors.5")) #t))
+ (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")))
+ (install-file "exa.1" man1)
+ (install-file "exa_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/completions.bash"
+ (string-append out
+ "/etc/bash_completion.d/exa"))
+ (copy-file "completions/completions.fish"
+ (string-append share
+ "/fish/vendor_completions.d/exa.fish"))
+ (copy-file "completions/completions.zsh"
+ (string-append share
+ "/zsh/site-functions/_exa"))
+ #t))))))
+ (inputs (list libgit2 zlib))
+ (native-inputs (list pkg-config pandoc))
(home-page "https://the.exa.website/")
(synopsis "Modern replacement for ls")
- (description "@code{exa} is a modern replacement for the command-line
+ (description
+ "@code{exa} 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.")
(license license:expat)))