1{ stdenv, fetchFromGitHub, rustPlatform, openssl, cmake, zlib }:
2
3with rustPlatform;
4
5buildRustPackage rec {
6 name = "exa-${version}";
7 version = "2016-04-20";
8
9 depsSha256 = "0qsqkgc1wxigvskhaamgfp5pyc2kprsikhcfccysgs07w44nxkd0";
10
11 src = fetchFromGitHub {
12 owner = "ogham";
13 repo = "exa";
14 rev = "110a1c716bfc4a7f74f74b3c4f0a881c773fcd06";
15 sha256 = "136yxi85m50vwmqinr1wnd0h29n5yjykqqqk9ibbcmmhx8sqhjzf";
16 };
17
18 nativeBuildInputs = [ cmake ];
19 buildInputs = [ openssl zlib ];
20
21 # Some tests fail, but Travis ensures a proper build
22 doCheck = false;
23
24 meta = with stdenv.lib; {
25 description = "Replacement for 'ls' written in Rust";
26 longDescription = ''
27 exa is a modern replacement for ls. It uses colours for information by
28 default, helping you distinguish between many types of files, such as
29 whether you are the owner, or in the owning group. It also has extra
30 features not present in the original ls, such as viewing the Git status
31 for a directory, or recursing into directories with a tree view. exa is
32 written in Rust, so it’s small, fast, and portable.
33 '';
34 homepage = http://bsago.me/exa;
35 license = licenses.mit;
36 maintainer = [ maintainers.ehegnes ];
37 };
38}