Add JDEE, the Java development environment for Emacs.
svn path=/nixpkgs/trunk/; revision=16222
This commit is contained in:
parent
dd89941fb2
commit
df4a8eafde
|
@ -0,0 +1,18 @@
|
||||||
|
JDE insists on seeing CEDET's source tree layout, with various
|
||||||
|
sub-directories (`common', `eieio', etc.). However, the installed CEDET
|
||||||
|
is flat, with everything under ${cedet}/share/emacs/site-lisp.
|
||||||
|
|
||||||
|
--- jde/config/build.el (revision 90)
|
||||||
|
+++ jde/config/build.el (working copy)
|
||||||
|
@@ -50,10 +50,5 @@ PATHS are sub directories under CEDET-DI
|
||||||
|
(jde-make-autoloads-and-compile (expand-file-name "@{build.lisp.dir}")
|
||||||
|
"@{src.lisp.dir}"
|
||||||
|
"@{cedet.dir}"
|
||||||
|
- '("common"
|
||||||
|
- "eieio"
|
||||||
|
- "semantic"
|
||||||
|
- "semantic/bovine"
|
||||||
|
- "speedbar"
|
||||||
|
- )
|
||||||
|
+ '(".")
|
||||||
|
"@{build.lisp.autoload.libname}")
|
|
@ -0,0 +1,67 @@
|
||||||
|
{ fetchsvn, stdenv, emacs, cedet, ant }:
|
||||||
|
|
||||||
|
let
|
||||||
|
revision = "90";
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "jdee-svn${revision}";
|
||||||
|
|
||||||
|
# Last release is too old, so use SVN.
|
||||||
|
# See http://www.emacswiki.org/emacs/JavaDevelopmentEnvironment .
|
||||||
|
src = fetchsvn {
|
||||||
|
# Looks like they're not sure whether to put one or two `e'...
|
||||||
|
url = "https://jdee.svn.sourceforge.net/svnroot/jdee/trunk/jde";
|
||||||
|
rev = revision;
|
||||||
|
sha256 = "06q1956yrs4r83a6sf3fk915jhsmg1q84wrrgjbdccfv5akid435";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./installation-layout.patch ./cedet-paths.patch ./elib-avltree.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
configurePhase = ''
|
||||||
|
ensureDir "dist"
|
||||||
|
cat > build.properties <<EOF
|
||||||
|
dist.lisp.dir = dist/share/emacs/site-lisp
|
||||||
|
dist.java.lib.dir = dist/lib/java
|
||||||
|
dist.jar.jde.file = dist/lib/java/jde.jar
|
||||||
|
dist.java.src.dir = dist/src/${name}/java
|
||||||
|
dist.doc.dir dist/doc/${name}
|
||||||
|
prefix.dir = $out
|
||||||
|
cedet.dir = ${cedet}/share/emacs/site-lisp
|
||||||
|
build.bin.emacs = ${emacs}/bin/emacs
|
||||||
|
EOF
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildPhase = "ant dist";
|
||||||
|
installPhase = "ant install";
|
||||||
|
|
||||||
|
buildInputs = [ emacs ant ];
|
||||||
|
propagatedBuildInputs = [ cedet ];
|
||||||
|
propagatedUserEnvPkgs = propagatedBuildInputs;
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "JDEE, a Java development environment for Emacs";
|
||||||
|
|
||||||
|
longDescription = ''
|
||||||
|
The JDEE is a software package that interfaces Emacs to
|
||||||
|
command-line Java development tools (for example, JavaSoft's
|
||||||
|
JDK). JDEE features include:
|
||||||
|
|
||||||
|
* JDEE menu with compile, run, debug, build, browse, project,
|
||||||
|
and help commands
|
||||||
|
* syntax coloring
|
||||||
|
* auto indentation
|
||||||
|
* compile error to source links
|
||||||
|
* source-level debugging
|
||||||
|
* source code browsing
|
||||||
|
* make file support
|
||||||
|
* automatic code generation
|
||||||
|
* Java source interpreter (Pat Neimeyer's BeanShell)
|
||||||
|
'';
|
||||||
|
|
||||||
|
license = "GPLv2+";
|
||||||
|
|
||||||
|
maintainers = [ stdenv.lib.maintainers.ludo ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,15 @@
|
||||||
|
JDEE refers to the `avltree' module from GNU Elib, but GNU Elib
|
||||||
|
no longer exists (see http://www.gnu.org/software/elib/). This
|
||||||
|
patch updates the module names to what's current in Emacs.
|
||||||
|
|
||||||
|
--- jde/lisp/jde-parse.el (revision 90)
|
||||||
|
+++ jde/lisp/jde-parse.el (working copy)
|
||||||
|
@@ -24,7 +24,7 @@
|
||||||
|
|
||||||
|
(require 'semantic-sb)
|
||||||
|
(require 'semantic-ctxt)
|
||||||
|
-(require 'avltree)
|
||||||
|
+(require 'avl-tree)
|
||||||
|
(require 'thingatpt)
|
||||||
|
(require 'eieio)
|
||||||
|
(require 'jde-imenu) ; All the imenu stuff is here now!
|
|
@ -0,0 +1,19 @@
|
||||||
|
The `build.xml' makes it impossible to override some settings. This
|
||||||
|
patch deletes their definition from here so we can use our value from
|
||||||
|
`build.properties'.
|
||||||
|
|
||||||
|
--- jde/build.xml (revision 90)
|
||||||
|
+++ jde/build.xml (working copy)
|
||||||
|
@@ -30,12 +30,7 @@
|
||||||
|
|
||||||
|
<!-- staging -->
|
||||||
|
<property name="dist.dir" location="./dist"/>
|
||||||
|
- <property name="dist.lisp.dir" location="${dist.dir}/lisp"/>
|
||||||
|
<property name="dist.java.dir" location="${dist.dir}/java"/>
|
||||||
|
- <property name="dist.java.lib.dir" location="${dist.java.dir}/lib"/>
|
||||||
|
- <property name="dist.java.src.dir" location="${dist.java.dir}/src"/>
|
||||||
|
- <property name="dist.java.doc.dir" location="${dist.dir}/java/doc"/>
|
||||||
|
- <property name="dist.jar.jde.file" location="${dist.java.lib.dir}/jde.jar"/>
|
||||||
|
|
||||||
|
<property name="dist.doc.dir" location="${dist.dir}/doc"/>
|
||||||
|
<property name="dist.doc.java.api.dir" location="${dist.doc.dir}/java/api"/>
|
|
@ -891,6 +891,11 @@ let
|
||||||
inherit fetchurl stdenv;
|
inherit fetchurl stdenv;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
jdee = import ../applications/editors/emacs-modes/jdee {
|
||||||
|
inherit fetchsvn stdenv cedet ant;
|
||||||
|
emacs = emacs23; # for `avl-tree'
|
||||||
|
};
|
||||||
|
|
||||||
jdiskreport = import ../tools/misc/jdiskreport {
|
jdiskreport = import ../tools/misc/jdiskreport {
|
||||||
inherit fetchurl stdenv unzip jdk;
|
inherit fetchurl stdenv unzip jdk;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue