at 16.09-beta 54 lines 1.8 kB view raw
1{ fetchurl, stdenv, emacs }: 2 3stdenv.mkDerivation rec { 4 name = "idutils-4.6"; 5 6 src = fetchurl { 7 url = "mirror://gnu/idutils/${name}.tar.xz"; 8 sha256 = "1hmai3422iaqnp34kkzxdnywl7n7pvlxp11vrw66ybxn9wxg90c1"; 9 }; 10 11 preConfigure = 12 '' 13 # Fix for building on Glibc 2.16. Won't be needed once the 14 # gnulib in idutils is updated. 15 sed -i '/gets is a security hole/d' lib/stdio.in.h 16 ''; 17 18 buildInputs = stdenv.lib.optional stdenv.isLinux emacs; 19 20 doCheck = true; 21 22 patches = [ ./nix-mapping.patch ]; 23 24 meta = { 25 description = "Text searching utility"; 26 27 longDescription = '' 28 An "ID database" is a binary file containing a list of file 29 names, a list of tokens, and a sparse matrix indicating which 30 tokens appear in which files. 31 32 With this database and some tools to query it, many 33 text-searching tasks become simpler and faster. For example, 34 you can list all files that reference a particular `\#include' 35 file throughout a huge source hierarchy, search for all the 36 memos containing references to a project, or automatically 37 invoke an editor on all files containing references to some 38 function or variable. Anyone with a large software project to 39 maintain, or a large set of text files to organize, can benefit 40 from the ID utilities. 41 42 Although the name `ID' is short for `identifier', the ID 43 utilities handle more than just identifiers; they also treat 44 other kinds of tokens, most notably numeric constants, and the 45 contents of certain character strings. 46 ''; 47 48 homepage = http://www.gnu.org/software/idutils/; 49 license = stdenv.lib.licenses.gpl3Plus; 50 51 maintainers = [ ]; 52 platforms = stdenv.lib.platforms.all; 53 }; 54}