diff --git a/lib/maintainers.nix b/lib/maintainers.nix index f8c7c2e21e5..24ae4c9fc40 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -95,6 +95,7 @@ eduarrrd = "Eduard Bachmakov "; edwtjo = "Edward Tjörnhammar "; eelco = "Eelco Dolstra "; + ehegnes = "Eric Hegnes "; ehmry = "Emery Hemingway "; eikek = "Eike Kettner "; elasticdog = "Aaron Bull Schaefer "; diff --git a/pkgs/tools/misc/exa/default.nix b/pkgs/tools/misc/exa/default.nix new file mode 100644 index 00000000000..8518a7331b9 --- /dev/null +++ b/pkgs/tools/misc/exa/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchFromGitHub, rustPlatform, openssl, cmake, zlib }: + +with rustPlatform; + +buildRustPackage rec { + name = "exa-${version}"; + version = "2016-02-15"; + + depsSha256 = "1925nhpfph82wn755zf2nmad24f1hzbxq60gpva9sic6rnap4c1x"; + + src = fetchFromGitHub { + owner = "ogham"; + repo = "exa"; + rev = "252eba484476369bb966fb1af7f739732b968fc0"; + sha256 = "1smyy32z44zgmhyhlbjaxcgfnlbcwz7am9225yppqfdsiqqgdybf"; + }; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ openssl zlib ]; + + # Some tests fail, but Travis ensures a proper build + doCheck = false; + + meta = with stdenv.lib; { + description = "Replacement for 'ls' written in Rust"; + longDescription = '' + exa is a modern replacement for ls. It uses colours for information by + default, helping you distinguish between many types of files, such as + whether you are the owner, or in the owning group. It also has extra + features not present in the original ls, such as viewing the Git status + for a directory, or recursing into directories with a tree view. exa is + written in Rust, so it’s small, fast, and portable. + ''; + homepage = http://bsago.me/exa; + license = licenses.mit; + maintainer = [ maintainers.ehegnes ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 93558c8401f..ad9efd6105e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1472,6 +1472,8 @@ let evtest = callPackage ../applications/misc/evtest { }; + exa = callPackage ../tools/misc/exa { }; + exempi = callPackage ../development/libraries/exempi { }; execline = callPackage ../tools/misc/execline { };