diff options
Diffstat (limited to 'nixpkgs/pkgs/tools/misc/idutils')
-rw-r--r-- | nixpkgs/pkgs/tools/misc/idutils/default.nix | 61 | ||||
-rw-r--r-- | nixpkgs/pkgs/tools/misc/idutils/nix-mapping.patch | 12 |
2 files changed, 73 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/misc/idutils/default.nix b/nixpkgs/pkgs/tools/misc/idutils/default.nix new file mode 100644 index 000000000000..cbdf1b761049 --- /dev/null +++ b/nixpkgs/pkgs/tools/misc/idutils/default.nix @@ -0,0 +1,61 @@ +{ fetchurl, lib, stdenv, emacs, gnulib, autoconf, bison, automake, gettext, gperf, texinfo, perl, rsync, darwin }: + +stdenv.mkDerivation rec { + pname = "idutils"; + version = "4.6"; + + src = fetchurl { + url = "mirror://gnu/idutils/idutils-${version}.tar.xz"; + sha256 = "1hmai3422iaqnp34kkzxdnywl7n7pvlxp11vrw66ybxn9wxg90c1"; + }; + + preConfigure = '' + # replace embedded gnulib tests with those from gnulib package + bash -O extglob -c "cd gnulib-tests; rm -r !(Makefile.am)" + substituteInPlace ./configure.ac --replace "AC_PREREQ(2.61)" "AC_PREREQ(2.64)" + ./bootstrap --force --gnulib-srcdir=${gnulib} --skip-po --bootstrap-sync --no-git + ''; + + buildInputs = lib.optionals stdenv.isLinux [ + emacs + ] ++ lib.optionals stdenv.isDarwin [ + darwin.apple_sdk.frameworks.CoreServices + ]; + + nativeBuildInputs = [ gnulib autoconf bison automake gettext gperf texinfo perl rsync ]; + + doCheck = !stdenv.isDarwin; + + patches = [ ./nix-mapping.patch ]; + + meta = with lib; { + description = "Text searching utility"; + + longDescription = '' + An "ID database" is a binary file containing a list of file + names, a list of tokens, and a sparse matrix indicating which + tokens appear in which files. + + With this database and some tools to query it, many + text-searching tasks become simpler and faster. For example, + you can list all files that reference a particular `\#include' + file throughout a huge source hierarchy, search for all the + memos containing references to a project, or automatically + invoke an editor on all files containing references to some + function or variable. Anyone with a large software project to + maintain, or a large set of text files to organize, can benefit + from the ID utilities. + + Although the name `ID' is short for `identifier', the ID + utilities handle more than just identifiers; they also treat + other kinds of tokens, most notably numeric constants, and the + contents of certain character strings. + ''; + + homepage = "https://www.gnu.org/software/idutils/"; + license = licenses.gpl3Plus; + + maintainers = with maintainers; [ gfrascadorio ]; + platforms = lib.platforms.all; + }; +} diff --git a/nixpkgs/pkgs/tools/misc/idutils/nix-mapping.patch b/nixpkgs/pkgs/tools/misc/idutils/nix-mapping.patch new file mode 100644 index 000000000000..6f92ffa07b52 --- /dev/null +++ b/nixpkgs/pkgs/tools/misc/idutils/nix-mapping.patch @@ -0,0 +1,12 @@ +Recognize `.nix' files as text files. + +--- idutils-4.5/libidu/id-lang.map 2009-05-17 16:38:42.000000000 +0200 ++++ idutils-4.5/libidu/id-lang.map 2010-07-04 15:52:48.000000000 +0200 +@@ -88,6 +88,7 @@ GNUmakefile make + *.doc text + *.txt text + *.org text ++*.nix text + + *.m4 m4 + *.ac m4 |