Last night I tried to build ripgrep (grep on steroids). Of course I used Nexenta, but everything below will work for any illumos distribution. ripgrep is written in Rust and we can get the latest Rust version with pkgin (many thanks to Jonathan Perkin):
$ pkgin search rust ... rust-1.30.0 = Safe, concurrent, practical language ... $ pkgin install rust $ export PATH=$PATH:/opt/local/bin
$ git clone https://github.com/BurntSushi/ripgrep $ cd ripgrep $ cargo build --release Updating crates.io index warning: spurious network error (2 tries remaining): no Content-Type header in response; class=Net (12) warning: spurious network error (1 tries remaining): no Content-Type header in response; class=Net (12) error: failed to update registry `https://github.com/rust-lang/crates.io-index Caused by: failed to fetch `https://github.com/rust-lang/crates.io-index Caused by: no Content-Type header in response; class=Net (12)
Bang! If you have such error: clone crates.io-index git to the .cargo directory in your $HOME:
$ cd ~/.cargo $ git clone --bare https://github.com/rust-lang/crates.io-index.git
Then create .cargo/config file:
$ cat .cargo/config [registry] index = "file:///home/alhazred/.cargo/crates.io-index.git"
Now build will successful:
$ cargo build --release ... $ ./target/release/rg --version ripgrep 0.10.0 (rev fb62266620) -SIMD -AVX (compiled) +SIMD -AVX (runtime)
Now you can compare the ripgrep speed and performance with usual grep. See Andrew Gallant's Blog for more information. .