summary refs log tree commit diff
path: root/pkgs/applications/editors/jedit/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/editors/jedit/default.nix')
-rw-r--r--pkgs/applications/editors/jedit/default.nix53
1 files changed, 35 insertions, 18 deletions
diff --git a/pkgs/applications/editors/jedit/default.nix b/pkgs/applications/editors/jedit/default.nix
index 8a57f650fb4..7dfb651d7d3 100644
--- a/pkgs/applications/editors/jedit/default.nix
+++ b/pkgs/applications/editors/jedit/default.nix
@@ -1,32 +1,47 @@
-{ stdenv, fetchurl, ant, jdk }:
+{ stdenv, fetchurl, ant, jdk, commonsBsf, commonsLogging }:
 
-let version = "4.4.2"; in
+let
+  version = "5.2.0";
+  bsh = fetchurl {
+    url = http://www.beanshell.org/bsh-2.0b4.jar;
+    sha256 = "1di7hj2yms1m3wa8k70jpw0wzfnrgibpqnvdk33ahfaqi03mqfci";
+  };
+  bcpg = fetchurl {
+    url = http://central.maven.org/maven2/org/bouncycastle/bcpg-jdk16/1.46/bcpg-jdk16-1.46.jar;
+    sha256 = "16xhmwks4l65m5x150nd23y5lyppha9sa5fj65rzhxw66gbli82d";
+  };
+  jsr305 = fetchurl {
+    url = http://central.maven.org/maven2/com/google/code/findbugs/jsr305/2.0.0/jsr305-2.0.0.jar;
+    sha256 = "0s74pv8qjc42c7q8nbc0c3b1hgx0bmk3b8vbk1z80p4bbgx56zqy";
+  };
+in
 
 stdenv.mkDerivation {
   name = "jedit-${version}";
-
   src = fetchurl {
     url = "mirror://sourceforge/jedit/jedit${version}source.tar.bz2";
-    sha256 = "5e9ad9c32871b77ef0b9fe46dcfcea57ec52558d36113b7280194a33430b8ceb";
+    sha256 = "03wmbh90rl5lsc35d7jwcp9j5qyyzq1nccxf4fal8bmnx8n4si0x";
   };
 
-  buildInputs = [ ant jdk ];
+  buildInputs = [ ant jdk commonsBsf commonsLogging ];
+
+  # This patch removes from the build process:
+  #  - the automatic download of dependencies (see configurePhase);
+  #  - the tests
+  patches = [ ./build.xml.patch ];
 
-  sourceRoot = "jEdit";
+  configurePhase = ''
+    mkdir -p lib/ant-contrib/ lib/scripting lib/compile lib/default-plugins
+    cp ${ant}/lib/ant/lib/ant-contrib-*.jar lib/ant-contrib/
+    cp ${bsh} ${bcpg} lib/scripting/
+    cp ${jsr305} lib/compile/
+  '';
 
   buildPhase = "ant build";
 
   installPhase = ''
     mkdir -p $out/share/jEdit
-    cp build/jedit.jar $out/share/jEdit
-    mkdir -p $out/share/jEdit/modes
-    cp -r modes/* $out/share/jEdit/modes
-    mkdir -p $out/share/jEdit/icons
-    cp -r icons/* $out/share/jEdit/icons
-    mkdir -p $out/share/jEdit/macros
-    cp -r macros/* $out/share/jEdit/macros
-    mkdir -p $out/share/jEdit/doc
-    cp -r doc/* $out/share/jEdit/doc
+    cp -r build/jedit.jar doc icons keymaps macros modes startup $out/share/jEdit
 
     sed -i "s|Icon=.*|Icon=$out/share/jEdit/icons/jedit-icon48.png|g" package-files/linux/deb/jedit.desktop
     mkdir -p $out/share/applications
@@ -35,7 +50,7 @@ stdenv.mkDerivation {
     patch package-files/linux/jedit << EOF
     5a6,8
     > # specify the correct JAVA_HOME
-    > JAVA_HOME=${jdk.jre}/lib/openjdk/jre
+    > JAVA_HOME=${jdk.jre.home}/jre
     > 
     EOF
     sed -i "s|/usr/share/jEdit/@jar.filename@|$out/share/jEdit/jedit.jar|g" package-files/linux/jedit
@@ -44,9 +59,11 @@ stdenv.mkDerivation {
     chmod +x $out/bin/jedit
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Mature programmer's text editor (Java based)";
     homepage = http://www.jedit.org;
-    license = "GPL";
+    license = licenses.gpl2;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.vbgl ];
   };
 }