![Vladimír Čunát](/assets/img/avatar_default.png)
The most complex problems were from dealing with switches reverted in the meantime (gcc5, gmp6, ncurses6). It's likely that darwin is (still) broken nontrivially.
58 lines
1.6 KiB
Nix
58 lines
1.6 KiB
Nix
{ stdenv, fetchurl, pcre, libiconv, perl }:
|
|
|
|
let version = "2.22"; in
|
|
|
|
stdenv.mkDerivation {
|
|
name = "gnugrep-${version}";
|
|
|
|
src = fetchurl {
|
|
url = "mirror://gnu/grep/grep-${version}.tar.xz";
|
|
sha256 = "1srn321x7whlhs5ks36zlcrrmj4iahll8fxwsh1vbz3v04px54fa";
|
|
};
|
|
|
|
# Perl is needed for testing
|
|
nativeBuildInputs = [ perl ];
|
|
outputs = [ "out" "info" ]; # the man pages are rather small
|
|
|
|
buildInputs = [ pcre libiconv ];
|
|
|
|
# cygwin: FAIL: multibyte-white-space
|
|
doCheck = !stdenv.isDarwin && !stdenv.isCygwin;
|
|
|
|
# On Mac OS X, force use of mkdir -p, since Grep's fallback
|
|
# (./install-sh) is broken.
|
|
preConfigure = ''
|
|
export MKDIR_P="mkdir -p"
|
|
'';
|
|
|
|
# Fix reference to sh in bootstrap-tools, and invoke grep via
|
|
# absolute path rather than looking at argv[0].
|
|
postInstall =
|
|
''
|
|
rm $out/bin/egrep $out/bin/fgrep
|
|
echo "#! /bin/sh" > $out/bin/egrep
|
|
echo "exec $out/bin/grep -E \"\$@\"" >> $out/bin/egrep
|
|
echo "#! /bin/sh" > $out/bin/fgrep
|
|
echo "exec $out/bin/grep -F \"\$@\"" >> $out/bin/fgrep
|
|
chmod +x $out/bin/egrep $out/bin/fgrep
|
|
'';
|
|
|
|
meta = with stdenv.lib; {
|
|
homepage = http://www.gnu.org/software/grep/;
|
|
description = "GNU implementation of the Unix grep command";
|
|
|
|
longDescription = ''
|
|
The grep command searches one or more input files for lines
|
|
containing a match to a specified pattern. By default, grep
|
|
prints the matching lines.
|
|
'';
|
|
|
|
license = licenses.gpl3Plus;
|
|
|
|
maintainers = [ maintainers.eelco ];
|
|
platforms = platforms.all;
|
|
};
|
|
|
|
passthru = {inherit pcre;};
|
|
}
|