2015-05-11 09:22:26 +01:00
|
|
|
{ fetchurl, stdenv, libtool, makeWrapper
|
2018-07-21 01:44:44 +01:00
|
|
|
, coreutils, ctags, ncurses, pythonPackages, sqlite, universal-ctags
|
2015-05-11 09:22:26 +01:00
|
|
|
}:
|
2009-07-13 10:05:56 +01:00
|
|
|
|
|
|
|
stdenv.mkDerivation rec {
|
2019-08-15 13:41:18 +01:00
|
|
|
pname = "global";
|
2020-01-06 12:47:32 +00:00
|
|
|
version = "6.6.4";
|
2009-07-13 10:05:56 +01:00
|
|
|
|
|
|
|
src = fetchurl {
|
2019-08-15 13:41:18 +01:00
|
|
|
url = "mirror://gnu/global/${pname}-${version}.tar.gz";
|
2020-01-06 12:47:32 +00:00
|
|
|
sha256 = "1515642wsjz7x3rsgaqk4sc7n0z2znl7idsk8jz8wgy5aswqqzlq";
|
2009-07-13 10:05:56 +01:00
|
|
|
};
|
|
|
|
|
2015-05-11 09:22:26 +01:00
|
|
|
nativeBuildInputs = [ libtool makeWrapper ];
|
|
|
|
|
|
|
|
buildInputs = [ ncurses ];
|
|
|
|
|
2015-03-31 16:34:22 +01:00
|
|
|
propagatedBuildInputs = [ pythonPackages.pygments ];
|
2011-05-30 22:48:55 +01:00
|
|
|
|
2015-05-11 09:22:26 +01:00
|
|
|
configureFlags = [
|
|
|
|
"--with-ltdl-include=${libtool}/include"
|
2015-10-05 19:32:54 +01:00
|
|
|
"--with-ltdl-lib=${libtool.lib}/lib"
|
2016-04-16 18:41:10 +01:00
|
|
|
"--with-ncurses=${ncurses.dev}"
|
2016-04-16 18:47:23 +01:00
|
|
|
"--with-sqlite3=${sqlite.dev}"
|
2015-05-11 09:22:26 +01:00
|
|
|
"--with-exuberant-ctags=${ctags}/bin/ctags"
|
2016-07-18 20:16:00 +01:00
|
|
|
"--with-universal-ctags=${universal-ctags}/bin/ctags"
|
2015-05-11 09:22:26 +01:00
|
|
|
"--with-posix-sort=${coreutils}/bin/sort"
|
|
|
|
];
|
2011-01-18 09:34:52 +00:00
|
|
|
|
|
|
|
doCheck = true;
|
|
|
|
|
2009-07-13 10:21:04 +01:00
|
|
|
postInstall = ''
|
2012-01-18 20:16:00 +00:00
|
|
|
mkdir -p "$out/share/emacs/site-lisp"
|
2009-07-13 10:21:04 +01:00
|
|
|
cp -v *.el "$out/share/emacs/site-lisp"
|
2015-04-01 02:52:53 +01:00
|
|
|
|
|
|
|
wrapProgram $out/bin/gtags \
|
|
|
|
--prefix PYTHONPATH : "$(toPythonPath ${pythonPackages.pygments})"
|
2015-04-01 02:56:05 +01:00
|
|
|
wrapProgram $out/bin/global \
|
|
|
|
--prefix PYTHONPATH : "$(toPythonPath ${pythonPackages.pygments})"
|
2009-07-13 10:21:04 +01:00
|
|
|
'';
|
|
|
|
|
2015-03-09 16:48:54 +00:00
|
|
|
meta = with stdenv.lib; {
|
2014-08-24 15:21:08 +01:00
|
|
|
description = "Source code tag system";
|
2009-07-13 10:05:56 +01:00
|
|
|
longDescription = ''
|
|
|
|
GNU GLOBAL is a source code tagging system that works the same way
|
|
|
|
across diverse environments (Emacs, vi, less, Bash, web browser, etc).
|
|
|
|
You can locate specified objects in source files and move there easily.
|
|
|
|
It is useful for hacking a large project containing many
|
|
|
|
subdirectories, many #ifdef and many main() functions. It is similar
|
|
|
|
to ctags or etags but is different from them at the point of
|
|
|
|
independence of any editor. It runs on a UNIX (POSIX) compatible
|
|
|
|
operating system like GNU and BSD.
|
|
|
|
'';
|
2020-04-01 02:11:51 +01:00
|
|
|
homepage = "https://www.gnu.org/software/global/";
|
2015-05-11 09:22:26 +01:00
|
|
|
license = licenses.gpl3Plus;
|
2016-09-29 03:40:51 +01:00
|
|
|
maintainers = with maintainers; [ pSub peterhoeg ];
|
2015-03-09 16:48:54 +00:00
|
|
|
platforms = platforms.unix;
|
2009-07-13 10:05:56 +01:00
|
|
|
};
|
|
|
|
}
|