nixpkgs/pkgs/development/tools/misc/cscope/default.nix
Eelco Dolstra 5be0a9acd7 Rename hostDrv -> crossDrv, buildDrv -> nativeDrv
This is for consistency with terminology in stdenv (and the terms
"hostDrv" and "buildDrv" are not very intuitive, even if they're
consistent with GNU terminology).
2012-12-28 19:08:19 +01:00

60 lines
1.6 KiB
Nix

{ fetchurl, stdenv, ncurses, pkgconfig, emacs}:
stdenv.mkDerivation rec {
name = "cscope-15.8a";
src = fetchurl {
url = "mirror://sourceforge/cscope/${name}.tar.gz";
sha256 = "07jdhxvp3dv7acvp0pwsdab1g2ncxjlcf838lj7vxgjs1p26lwzb";
};
preConfigure = ''
sed -i "contrib/xcscope/cscope-indexer" \
-"es|^PATH=.*$|PATH=\"$out/bin:\$PATH\"|g"
sed -i "contrib/xcscope/xcscope.el" \
-"es|\"cscope-indexer\"|\"$out/libexec/cscope/cscope-indexer\"|g";
'';
configureFlags = "--with-ncurses=${ncurses}";
buildInputs = [ ncurses ];
buildNativeInputs = [ pkgconfig emacs ];
postInstall = ''
# Install Emacs mode.
cd "contrib/xcscope"
mkdir -p "$out/libexec/cscope"
cp "cscope-indexer" "$out/libexec/cscope"
mkdir -p "$out/share/emacs/site-lisp"
emacs --batch --eval '(byte-compile-file "xcscope.el")'
cp xcscope.el{,c} "$out/share/emacs/site-lisp"
'';
crossAttrs = {
postInstall = "";
propagatedBuildInputs = [ ncurses.crossDrv ];
};
meta = {
description = "Cscope, a developer's tool for browsing source code";
longDescription = ''
Cscope is a developer's tool for browsing source code. It has
an impeccable Unix pedigree, having been originally developed at
Bell Labs back in the days of the PDP-11. Cscope was part of
the official AT&T Unix distribution for many years, and has been
used to manage projects involving 20 million lines of code!
'';
license = "BSD-style";
homepage = http://cscope.sourceforge.net/;
maintainers = with stdenv.lib.maintainers; [viric];
platforms = with stdenv.lib.platforms; linux;
};
}