# Recipe for building GNU grep at specific snapshot # # SPDX-FileCopyrightText: 2003-2012 Eelco Dolstra # SPDX-FileCopyrightText: 2009-2011 Ludovic Courtès # SPDX-FileCopyrightText: 2009-2010 Rob Vermaas # SPDX-FileCopyrightText: 2010 Lluís Batlle i Rossell # SPDX-License-Identifier: MIT # # SPDX-FileCopyrightText: 2023 Nguyễn Gia Phong # SPDX-License-Identifier: AGPL-3.0-or-later { lib, stdenv, version, base, snapshot, pcre, libiconv }: stdenv.mkDerivation rec { pname = "grep"; inherit version; buildInputs = [ pcre libiconv ]; hardeningDisable = [ "all" ]; src = base; # bootstrap files postPatch = '' tar xf ${snapshot} --strip-components=1 ''; # On macOS, force use of mkdir -p, since grep's fallback # (./install-sh) is broken. preConfigure = '' export MKDIR_P="mkdir -p" ''; postInstall = '' for i in $out/bin/* do mv $i{,.${version}} done ''; doCheck = false; meta = with lib; { homepage = "https://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; platforms = platforms.all; mainProgram = "grep"; }; }