aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/rust-apps.scm81
1 files changed, 81 insertions, 0 deletions
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index 90bd146442..108d2fb573 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -28,6 +28,87 @@
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control))
+(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"))))
+ (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.3)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-locale" ,rust-locale-0.2)
+ ("rust-log" ,rust-log-0.4)
+ ("rust-natord" ,rust-natord-1.0)
+ ("rust-num-cpus" ,rust-num-cpus-1.11)
+ ("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
+ (add-after 'configure 'dont-vendor-sources
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((openssl (assoc-ref inputs "openssl")))
+ (setenv "OPENSSL_DIR" openssl))
+ #t))
+ ;; 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!\\(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)))))
+ (inputs
+ `(("libgit2" ,libgit2)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "https://the.exa.website/")
+ (synopsis "Modern replacement for ls")
+ (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)))
+
(define-public ripgrep
(package
(name "ripgrep")