Add Semantic, a parser generator for Emacs.
svn path=/nixpkgs/trunk/; revision=14012
This commit is contained in:
parent
8eb6ecb1ec
commit
eebb6f106c
50
pkgs/applications/editors/emacs-modes/semantic/default.nix
Normal file
50
pkgs/applications/editors/emacs-modes/semantic/default.nix
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
{ fetchurl, stdenv, emacs, eieio }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "semantic-1.4.4";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "mirror://sourceforge/cedet/${name}.tar.gz";
|
||||||
|
sha256 = "0j50dqdy5bl35vqfbgxp93grs11llg9i4398044br73lvvif9n5f";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ emacs eieio ];
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
checkPhase = "make Tests";
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
sed -i "Makefile" -es'|^LOADPATH[[:blank:]]*=.*$|LOADPATH = ${eieio}/share/emacs/site-lisp|g'
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
ensureDir "$out/share/emacs/site-lisp"
|
||||||
|
cp -v *.el *.elc "$out/share/emacs/site-lisp"
|
||||||
|
chmod a-x "$out/share/emacs/site-lisp/"*
|
||||||
|
|
||||||
|
ensureDir "$out/share/info"
|
||||||
|
cp -v *.info* "$out/share/info"
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Semantic, infrastructure for parser based text analysis in Emacs";
|
||||||
|
|
||||||
|
longDescription = ''
|
||||||
|
Semantic is an infrastructure for parser based text analysis in
|
||||||
|
Emacs. It is a lexer, parser-generator, and parser. It is
|
||||||
|
written in Emacs Lisp and is customized to the way Emacs thinks
|
||||||
|
about language files, and is optimized to use Emacs' parsing
|
||||||
|
capabilities.
|
||||||
|
|
||||||
|
Semantic's goal is to provide an intermediate API for authors of
|
||||||
|
language agnostic tools who want to deal with languages in a
|
||||||
|
generic way. It also provides a simple way for Mode Authors who
|
||||||
|
are experts in their language, to provide a parser for those
|
||||||
|
tool authors, without knowing anything about those tools.
|
||||||
|
'';
|
||||||
|
|
||||||
|
license = "GPLv2+";
|
||||||
|
|
||||||
|
homepage = http://cedet.sourceforge.net/;
|
||||||
|
};
|
||||||
|
}
|
|
@ -1226,6 +1226,10 @@ let
|
||||||
makeFlags = [" CFLAGS+=-DNOMEMLOCK "];
|
makeFlags = [" CFLAGS+=-DNOMEMLOCK "];
|
||||||
});
|
});
|
||||||
|
|
||||||
|
semantic = import ../applications/editors/emacs-modes/semantic {
|
||||||
|
inherit fetchurl stdenv emacs eieio;
|
||||||
|
};
|
||||||
|
|
||||||
sharutils = selectVersion ../tools/archivers/sharutils "4.6.3" {
|
sharutils = selectVersion ../tools/archivers/sharutils "4.6.3" {
|
||||||
inherit fetchurl stdenv;
|
inherit fetchurl stdenv;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue